gpt4 book ai didi

java - Vert.x - 限制所有集群中的单实例 verticle

转载 作者:行者123 更新时间:2023-12-01 17:21:01 25 4
gpt4 key购买 nike

我有一个 Vert.x 应用程序,其中包含多个 verticls,用于与不同的总线数据库(mongo、redis、rabbit、kafka 和这样)

其中有一个 verticle 专门用于与外部 api(非常旧)进行通信,它允许来自单个(预定义)源的一个持久连接

我正在使用相同的代码(自动缩放)部署 vertx 的多个实例,并使用 hazelcast 作为集群管理器,使它们充当集群

external-api verticle 的创建限制为仅单个实例的最佳实践是什么,我查看了:

  • SharedData.Lock() - 但我需要用异步旋转锁逻辑包装它
  • 高可用性 - 非常适合终止和自动缩放,但不会强制单个 verticle 的 Activity
  • worker verticle - 在每个实例中创建 1 个worker verticle

我可以混合使用上述所有内容并创建所需的功能,但我似乎有些复杂......

我应该将我的verticle分离到不同的服务器还是有一些我还没有想到的更简单的解决方案?

最佳答案

您不需要单个 verticle ,让该 verticle 保持无状态并在代理服务中应用您的连接 - 在您可以将该服务注册为 HttpEndpoint 、 Evenbus 、 Message 或 JDBC 服务类型之后,您将拥有单点通信使用数据库或外部 http 源。

关于java - Vert.x - 限制所有集群中的单实例 verticle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61289513/

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