Hazelcast 光簇垂直x
我们有许多不同的vertx实例,它们通过Hazelcast上的集群事件总线相互通信。这个盒子很好用 但似乎vertx的实现对我们来说是开销。Hazelcast显著增加了每个实例的消耗内存和启动时间。 此外,我们不使用任何内存存储,也不使用任何异步映射和HA功能 是否可以在影响最小的情况下进行Vertex间通信?有什么解决办法吗 UPD。更多详细信息 我尝试了vert.xV3.3.3和v3.4.0,它们都使用hazelcast v3.6.3。 我还尝试了更新版本的hazelcast和3.4 vert.x 为了进行比较,我运行了zookeeper和vert.x的一个实例 我总共收集了一些初始化阶段的统计数据。 对我来说,连接到集群的时间更重要。我还注意到hazelcast在开始时加载了很多com.hazelcast*类(约占项目中加载类的一半) 我使用了Ubuntu x64和java8.121Hazelcast 光簇垂直x,hazelcast,vert.x,Hazelcast,Vert.x,我们有许多不同的vertx实例,它们通过Hazelcast上的集群事件总线相互通信。这个盒子很好用 但似乎vertx的实现对我们来说是开销。Hazelcast显著增加了每个实例的消耗内存和启动时间。 此外,我们不使用任何内存存储,也不使用任何异步映射和HA功能 是否可以在影响最小的情况下进行Vertex间通信?有什么解决办法吗 UPD。更多详细信息 我尝试了vert.xV3.3.3和v3.4.0,它们都使用hazelcast v3.6.3。 我还尝试了更新版本的hazelcast和3.4 ver
PS:我重复一遍,我只谈到初始阶段。您在测量中发现的差异是由于vertx hazelcast和vertx zookeeper群集管理器的工作方式存在根本性差异:
- 使用vertx zookeeper时,您的vert.x实例会启动一个Apache Curator客户端[1],该客户端连接到现有的zookeeper集群:zookeeper集群本身在其他JVM上单独运行
- 使用hazelcast群集管理器运行vert.x时,群集管理器会启动一个嵌入在同一JVM中的hazelcast成员:您没有连接到单独的hazelcast群集,而是在与vert.x实例相同的JVM中运行完整的群集成员
[3] 您能否分享模式详细信息,如产品版本(vertx和hazelcast)、内存占用记录(如堆转储)。我们很乐意调查根本原因。非常感谢。
| | hazelcast 3.6.3 | hazelcast 3.7.5 | Hazelcast 3.8 | Zookeeper 3.4.8 | No cluster |
|------------------------------|-----------------|-----------------|---------------|-----------------|------------|
| Loaded classes(init phase) | 2685 | 2703 | 3131 | 257 | 0 |
| Start of the 1st member(sec) | 2.3s±0.2 | 2.4±0.2 | 2.4s±0.2 | 1.0s±0.1 | 0.4 |
| Start of 2d/3d member(sec) | 4 | 4.5±0.2 | 4.5s±0.2 | 1.0s±0.1 | — |