Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hazelcast vert.x事件总线在扩展方面有限制吗_Hazelcast_Vert.x - Fatal编程技术网

Hazelcast vert.x事件总线在扩展方面有限制吗

Hazelcast vert.x事件总线在扩展方面有限制吗,hazelcast,vert.x,Hazelcast,Vert.x,试图了解Vert.x中EventBus的限制 有一些Vert.x实例正在群集模式下运行,因此有多个Verticle运行在多台物理机器上。假设我们有两台机器,每台有10个垂直轴 因此,在数量上: 集群模式下的1Vert.x实例 20个垂直实例(每台机器10个) 2台机器, 1事件总线 每秒1000 000个连接到达事件总线,并处理回垂直线 如果2台机器不够,我仍然可以得到100台机器,但是: 据我所知,事件总线(EB)是这里的瓶颈?由于EB是一个“通信管道”,而且对于许多人来说,它是一个管道,我想

试图了解
Vert.x
EventBus
的限制

有一些Vert.x实例正在群集模式下运行,因此有多个Verticle运行在多台物理机器上。假设我们有两台机器,每台有10个垂直轴

因此,在数量上: 集群模式下的1
Vert.x
实例 20个垂直实例(每台机器10个) 2台机器, 1
事件总线

每秒1000 000个连接到达事件总线,并处理回垂直线

如果2台机器不够,我仍然可以得到100台机器,但是:

据我所知,事件总线(EB)是这里的瓶颈?由于EB是一个“通信管道”,而且对于许多人来说,它是一个管道,我想它将开始收集所有的噪音,所有事件(地址->服务、发布订阅等),再加上它在节点之间运行,它会产生网络通信开销吗?如何扩展EB?我应该关心它吗?(或
Hazelcast
cluster应负责所有这些?)

我应该考虑用1个实例来创建n个群集:<代码> Vert .x/代码>,在集群模式下,在100台机器上有10个竖向?< /P>

<强> q:简单的问题是,在缩放方面,是否存在“代码>事件总线< /代码>的限制,我是否应该考虑用N-BUS创建基础设施以确保我的系统被适当地缩放?


(我还没有对它进行测试。)

使用集群事件总线时,会发生两件事:

  • Vert.x在集群中注册的节点之间创建TCP连接
  • 群集管理器跟踪EventBus消息处理程序(将EventBus地址映射到节点标识符的多重映射)
  • 然后,如果您发送一条消息(点对点),Vert.x将从集群管理器获取一个处理程序,并使用TCP连接将其发送到远程节点

    或者,如果发布消息(发布/订阅),Vert.x将向至少有一个处理程序的所有节点发送消息(接收节点负责将消息传递给所有本地处理程序)

    因此,集群EventBus的可伸缩性有两个“限制”:多映射的大小(随着地址和处理程序的数量增加)和网络带宽

    当然,不进行测试就无法确定,但在现代硬件和良好的网络上,您应该能够使用固定数量的地址部署100个节点的集群