【问题标题】:What is the best way to communicate between microservices in vertx, by web client or some middleware?通过 Web 客户端或某些中间件在 vertx 中的微服务之间进行通信的最佳方式是什么?
【发布时间】:2018-12-12 16:28:48
【问题描述】:

我在 vert.x 微服务方面做得不多,但我遇到了不知道如何与 vert.x 微服务相互通信的最佳方式的疑问,使用一些中间件或网络客户端,我不知道vert.x 允许我的方式。

【问题讨论】:

    标签: java microservices vert.x


    【解决方案1】:

    允许 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/

    【讨论】:

    • 好的,我会尝试他们的任何东西
    • @IsaíasSolorioAyala 请不要忘记将此问题标记为已解决
    猜你喜欢
    • 2013-01-02
    • 1970-01-01
    • 2013-09-01
    • 2020-01-15
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 2019-01-20
    相关资源
    最近更新 更多