允许vert.x微服务在它们之间进行通信的可能性是无限的,每种情况各有利弊,并取决于上下文。
这是3种常见方式:
1)使用本机vert.x eventBus(异步逻辑):https ://vertx.io/docs/vertx- core/java/#event_bus(-cluster
当需要处理通信时,可以使用Hazelcast Cluster Manager使用该选项)在不同的JVM pid之间: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/