在Vert.x中的Verticle之间共享数据

时间:2014-08-13 21:05:22

标签: caching vert.x

Verticle之间在Vert.x之间共享数据的最佳方法是什么?我最感兴趣的是低开销,直接,并发访问。当多个Verticle需要访问足够大的东西而不能以json的形式发送时,事件系统似乎不合适。

简单示例 - 使用Vert.x考虑虚构的邮政服务。假设它有两个顶点:一个用于计算要发送的下一个包,另一个用于计算前一小时由运送包裹的车辆消耗的燃料。

假设在任何给定时刻都有1000个包。可能有一个数据库返回这些,但随后它将需要返回所有包,因为用于确定要发送哪个包/燃料消耗的算法是否足够复杂并且由两个Verticle执行。

到目前为止,我发现了这些:

一些建议是:

  • 使用JSON.stringify / JSON.parsevertx.getMap。这看起来对我来说是一个很大的开销,特别是当事情经常更新时(例如包裹位置可以包含GPS坐标)
  • 使用EHCache,Hazelcast等,但这些大多数都是在没有细节的情况下以“你可以尝试”的结论而消亡

这里是否存在规范的Vert.x解决方案,我无法识别?我可以用不同的方式划分事物,有更多的垂直,更低/更高的粒度等,如果这是要走的路 - 也就是说这更像是关于Vert.x模型的架构问题。

我也有兴趣看到与上述相关的开源示例,如果有的话。

1 个答案:

答案 0 :(得分:0)

node应用程序的群集故事并不是很好,特别是如果您不想使用Java。

由于听起来您希望拥有最低级别的数据共享控制,因此我建议使用传统的websockets在Verticle之间桥接事件总线。