我没有做了很多在vert. x微服务,但我遇到了怀疑,知道最好的方式相互通信miscroservices vert.x,使用一些中间件或Web客户端,我不知道,或任何其他方式,vert.x允许我。
允许vert. x微服务在它们之间进行通信的可能性是无限的,每个都有优点和缺点,并且根据上下文或多或少地具有相关性。
以下是3种常见的方式:
1)使用本机vert. x eventBus(异步逻辑):https://vertx.io/docs/vertx-core/java/#event_bus(当你需要处理不同JVMpid之间的通信时,你可以使用Hazelcast集群管理器,使用-集群
选项:https://vertx.io/docs/vertx-hazelcast/java/)。
2)使用像Apache Kafka这样的消息代理系统(有时您需要具有重放机制的持久消息队列,我认为它比vert. x的事件总线更强大,有时您需要使用多种语言编写的微服务进行通信,并且vert.x事件总线与此无关)或旧时尚的JMS兼容系统,如ActiveMQ、RabbitMQ
3)有时公开简单的Restful api更相关,因此您可以使用vertx-web
扩展来做到这一点:https://vertx.io/docs/vertx-web/java/