【问题标题】:Spring how to sync two microservicesSpring如何同步两个微服务
【发布时间】:2021-02-17 20:53:09
【问题描述】:

我有两个微服务。 Service #1 将某个对象放入需要处理的队列(数据库中的一个表)中。之后,在service #2 中,Sheduler 每隔几秒从队列中取出新记录并处理它们,然后将结果以 json 格式保存到数据库中。问题是,处理结果如何通知service #1

【问题讨论】:

    标签: java spring queue microservices spring-cloud


    【解决方案1】:

    您可以使用任何消息代理 activeMq 或 rabbitMq 来实现这一点。请参考:https://spring.io/guides/gs/messaging-rabbitmq/ 请使用 rabbitmq 接收器来获取通知并适当地触发对您的服务 1 的处理

    【讨论】:

      【解决方案2】:

      您可以为您的微服务通信设置 Kafka。要通知service #1,您可以通过Kafka 从service #2 发送一个事件。 假设您将从service #2 发送一个名为“PROCESSING_DONE”的事件,service #1 将监听此事件并进行进一步处理。

      这一切都将实时发生。

      【讨论】:

        猜你喜欢
        • 2019-05-31
        • 1970-01-01
        • 1970-01-01
        • 2017-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-31
        • 1970-01-01
        相关资源
        最近更新 更多