首页 > 解决方案 > 如何使用 vert.x 对运行在不同服务器上的两个微服务进行集群?

问题描述

假设我有两个微服务(服务 A 和服务 B),现在我将服务 A 部署在 aws 服务器上,将服务 B 部署在 Digital Ocean 服务器上。如何使用 vert.x 集群来实现使用 vert.x 事件总线的两个进程之间的通信。当两个服务都在同一台机器上运行时,我已经能够实现这一点。我能想出的解决方案之一是:-

在单独的机器上单独运行 hazlecast 集群服务并配置服务 A 和服务 B 以便它们连接到公共集群服务(当我说服务时,它可能只是通过命令行运行的 hazlecast 服务),如果有更好的实现这一目标的方法,请提出建议。

标签: microservicesvert.x

解决方案


Hazelcast 在单个云中具有不同的发现插件。但是对于多云,我相信您唯一的办法是硬编码节点 IP 地址:

<network>
    <join>
        <multicast enabled="false">
        </multicast>
        <tcp-ip enabled="true">
            <member>aws-host</member>
            <member>digitalocean-host</member>
        </tcp-ip>
    </join>
</network>

推荐阅读