由于 Vertx 中的 eventbus 是为异步消息传递而设计的,是否可以限制这些消息的处理速率?如果是这样,我们可以使用worker verticles实现还是我们必须创建一个单独的线程组。关键是事件总线可能能够排队一百万条消息(我猜是数字),在工作人员/线程下发生的后续操作不应该被淹没并最终导致某些事情失败。请撕碎一些光。
问问题
185 次
1 回答
0
Worker 永远不会被 EventBus 淹没,因为处理程序一次只会处理一条消息。
但是,如果您产生数百万条未处理的消息,可能会发生内存不足的情况。
通常情况并非如此,但您可以尝试使用Counter
in解决该问题SharedData
:
https://vertx.io/docs/apidocs/io/vertx/core/shareddata/Counter.html
于 2020-04-23T13:28:49.903 回答