试图了解的极限EventBus在Vert.x。
有Vert.x实例以集群模式运行,因此有多个Verticles在多个物理计算机上运行。假设我们有2台机器,每台机器有10个顶点。
因此,在数量上:Vert.x群集模式下有1个实例20个Verticles实例(每台计算机10个)2台计算机,1个Event Bus
每秒有1000 000个连接进入事件总线,并处理回垂直连接。
如果2台计算机不够用,我仍然可以获得100台计算机,但是:
据我了解,事件总线(EB)处于瓶颈吗?由于EB是一种“沟通管道”的,因为它是一个对许多人来说,我想所有的,它会开始收集噪音来给它的所有事件(地址- >服务,酒吧子等),再加上它在节点间运行,是否会涉及NET通讯开销?如何缩放EB?我应该在乎吗?(或者Hazelcast集群应该照顾好这一切?)
我是否应该考虑Vert.x在100台计算机上创建1个实例(在群集模式下具有10个顶点)创建N个群集?
问:提出一个简单的问题,Event Bus在扩展方面是否有限制,我是否应该考虑使用N总线创建基础结构以确保系统得到正确扩展?
(尚未完成我的测试。)
当您使用群集的EventBus时,会发生两件事:
然后,如果您发送消息(点对点),则Vert.x将从群集管理器中选择一个处理程序,并使用TCP连接将其发送到远程节点。
或者,如果您发布消息(发布/订阅),则Vert.x会将消息发送到具有至少一个处理程序的所有节点(接收节点负责将消息传递给所有本地处理程序)。
因此,群集EventBus的可伸缩性存在两个“限制”:多图的大小(随地址和处理程序的数量而增加)和网络带宽。
当然,如果不进行测试就无法确定,但是在现代硬件和像样的网络上,您应该能够使用固定数量的地址来部署100个节点的群集。
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |