由于Vertx中的eventbus是为传递异步消息而制作的,是否有可能限制这些消息的处理速度?如果可以的话,我们可以实现使用工作者顶点,还是必须创建一个单独的线程组。关键是事件总线可能能够排队处理一百万条消息(我猜是数字),在工作者/线程下进行的后续操作不应该泛滥成灾,并最终使某些事情失败。请切细一点。
工作人员永远不会被EventBus淹没,因为处理程序一次只能处理一条消息。
但是,如果您产生数百万个未处理的消息,则可能会耗尽内存。
通常不是这种情况,但是您可以尝试使用Counter
中的SharedData
解决此问题:
https://vertx.io/docs/apidocs/io/vertx/core/shareddata/Counter.html