gpt4 book ai didi

caching - 在 Vert.x 中的 verticle 之间共享数据

转载 作者:行者123 更新时间:2023-12-02 14:07:36 25 4
gpt4 key购买 nike

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

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

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

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

一些建议是:

  • 通过vertx.getMap使用JSON.stringify/JSON.parse。这对我来说看起来是相当大的开销,尤其是当内容经常更新时(例如包裹位置可以包含 GPS 坐标)
  • 使用 EHCache、Hazelcast 等,但这些大多会以“你可以尝试”的结论而消失,而没有详细信息

这里是否有我无法识别的规范 Vert.x 解决方案?我同意以不同的方式划分事物,拥有更多的 verticle、更低/更高的粒度等,如果这是可行的方法的话 - 也就是说,这更多的是关于 Vert.x 模型的架构问题。

我也有兴趣查看与上述相关的开源示例(如果有)。

最佳答案

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

由于听起来您想要对数据共享进行最低级别的控制,因此我建议使用传统的 Websocket 在 verticle 之间桥接事件总线。

关于caching - 在 Vert.x 中的 verticle 之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25296119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com