首页 > 解决方案 > Vertx 事件总线中的限制消息

问题描述

由于 Vertx 中的 eventbus 是为异步消息传递而设计的,是否可以限制这些消息的处理速率?如果是这样,我们可以使用worker verticles实现还是我们必须创建一个单独的线程组。关键是事件总线可能能够排队一百万条消息(我猜是数字),在工作人员/线程下发生的后续操作不应该被淹没并最终导致某些事情失败。请撕碎一些光。

标签: vert.xvertx-eventbus

解决方案


Worker 永远不会被 EventBus 淹没,因为处理程序一次只会处理一条消息。

但是,如果您产生数百万条未处理的消息,可能会发生内存不足的情况。

通常情况并非如此,但您可以尝试使用Counterin解决该问题SharedData

https://vertx.io/docs/apidocs/io/vertx/core/shareddata/Counter.html


推荐阅读