我正在对 Quarkus 中开发的一个简单应用程序进行负载测试。应用程序将 http 请求代理到另一个 http 服务。该应用程序使用org.eclipse.microprofile.reactive.messaging.Emitter和org.eclipse.microprofile.reactive.messaging.Channel。
如果我将请求率提高到 300 请求/秒,则会出现以下错误。我试图了解错误SRMSG00034:发出项目的下游请求不足以及如何解决它。任何帮助,将不胜感激。
2021-03-10 06:43:47,678 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-100) HTTP Request to /events failed, error id: cb6577a7-0cd6-4790-a5ea-5ccd73a088fc-289: java.lang.IllegalStateException: SRMSG00034: Insufficient downstream requests to emit item
at io.smallrye.reactive.messaging.extension.ThrowingEmitter.emit(ThrowingEmitter.java:60)
at io.smallrye.reactive.messaging.extension.AbstractEmitter.emit(AbstractEmitter.java:146)
at io.smallrye.reactive.messaging.extension.EmitterImpl.send(EmitterImpl.java:29)
Run Code Online (Sandbox Code Playgroud) 我可以在 Elasticsearch 中有一个自定义的 Protobuf/MessagePack 编码/解码模块,以便可以对来自客户端的请求和来自服务器的响应进行编码。