ana*_*ray 8 quarkus smallrye-reactive-messaging
我正在对 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)
小智 10
因此,您正在使用发射器将消息推送到某处。发射器是一种异步结构,具有默认缓冲区来处理缓慢的消耗(请参阅https://quarkus.io/blog/reactive-messaging-emitter/)。在你的情况下,某个地方不够快或者缓冲区不够大。
有几种方法可以解决该问题:
| 归档时间: |
|
| 查看次数: |
3209 次 |
| 最近记录: |