microservices - 如何使用 vert.x 对运行在不同服务器上的两个微服务进行集群?
问题描述
假设我有两个微服务(服务 A 和服务 B),现在我将服务 A 部署在 aws 服务器上,将服务 B 部署在 Digital Ocean 服务器上。如何使用 vert.x 集群来实现使用 vert.x 事件总线的两个进程之间的通信。当两个服务都在同一台机器上运行时,我已经能够实现这一点。我能想出的解决方案之一是:-
在单独的机器上单独运行 hazlecast 集群服务并配置服务 A 和服务 B 以便它们连接到公共集群服务(当我说服务时,它可能只是通过命令行运行的 hazlecast 服务),如果有更好的实现这一目标的方法,请提出建议。
解决方案
Hazelcast 在单个云中具有不同的发现插件。但是对于多云,我相信您唯一的办法是硬编码节点 IP 地址:
<network>
<join>
<multicast enabled="false">
</multicast>
<tcp-ip enabled="true">
<member>aws-host</member>
<member>digitalocean-host</member>
</tcp-ip>
</join>
</network>
推荐阅读
- node.js - Sequelize.js 是否默认转义 SQL 注入的输入?
- php - 实现包装 Guzzle PHP 的服务客户端时的最佳实践
- file-io - Elixir:写入文件并创建父目录(如果它们不存在) - 在一行中
- java - 如何将对象的 ArrayList 发送到其他活动?
- command-line-interface - 我可以使用 Browserify CLI 将选项传递给 babel 预设吗?
- html - 将单选按钮与 HTML 中的标签对齐
- c# - Unity:PlayMode UnityTest 和 EditMode UnityTest 有什么区别?
- machine-learning - 异常值的准确预测
- prestashop - 如何在 Prestashop 1.6 中手动延迟加载图像?
- php - 将其转换为准备好的语句