【发布时间】:2018-12-12 16:28:48
【问题描述】:
我在 vert.x 微服务方面做得不多,但我遇到了不知道如何与 vert.x 微服务相互通信的最佳方式的疑问,使用一些中间件或网络客户端,我不知道vert.x 允许我的方式。
【问题讨论】:
标签: java microservices vert.x
我在 vert.x 微服务方面做得不多,但我遇到了不知道如何与 vert.x 微服务相互通信的最佳方式的疑问,使用一些中间件或网络客户端,我不知道vert.x 允许我的方式。
【问题讨论】:
标签: java microservices vert.x
允许 vert.x 微服务在它们之间进行通信有无限的可能性,每种都有优缺点,并且根据上下文或多或少具有相关性。
这里有 3 种常用方法:
1) 使用原生 vert.x eventBus (
异步逻辑):https://vertx.io/docs/vertx-core/java/#event_bus(当您需要处理不同 JVM pid 之间的通信时,您可以使用 Hazelcast 集群管理器使用 -cluster 选项:https://vertx.io/docs/vertx-hazelcast/java/)。
2) 使用像 Apache Kafka 这样的消息代理系统 ( 有时您需要具有重放机制的持久消息队列,我认为它比 vert.x 的事件总线更强大,有时您需要与多种语言编写的微服务通信,而 vert.x 事件总线与此无关)或旧式 JMS 兼容系统,如 ActiveMQ、RabbitMQ 和 cie。
3) 有时暴露简单的 Restful api 更相关,因此您可以使用 vertx-web 扩展来做到这一点:https://vertx.io/docs/vertx-web/java/
【讨论】: