【问题标题】:Message based communication between microservices微服务之间基于消息的通信
【发布时间】:2017-06-15 15:48:42
【问题描述】:

我想构建一些使用消息代理发送和接收消息的微服务:ActiveMQ。现在我正在探索消息类型的选项(即Stringbyte[]object 类型):

  1. XML/JSON 格式发布消息,一旦收到就会被解析
  2. XML/JSON 格式发布消息,使用架构将它们转换为对象
  3. 创建域对象并添加到微服务依赖项以进行数据交换

这些是我看过的 3 个选项,出于以下原因,我倾向于选项 1:

  1. 当需要添加新字段时,只有需要该字段的微服务需要更改。
  2. 可以在不中断现有通信的情况下部署不同版本的微服务
  3. 微服务保持解耦

但是,这引发了解析和提取数据的问题,这很容易出错。

我想知道是否有其他人做过类似的设计,可以分享他们的经验并提出解决方案。另外,如果有更好的方法来使用消息传递和队列来实现微服务之间的通信。

【问题讨论】:

    标签: java activemq publish-subscribe microservices


    【解决方案1】:

    这是我通常采用的方法:对于每种消息类型,一个类负责对消息进行编码(生成 JSON/XML/whatnot)、对其进行验证和解析。类进入一个库,然后用于发送消息的服务和接收消息的服务。

    【讨论】:

      猜你喜欢
      • 2016-06-10
      • 2020-07-22
      • 2016-03-05
      • 2018-01-22
      • 1970-01-01
      • 2018-06-20
      • 2021-06-20
      • 2016-08-10
      • 2019-01-18
      相关资源
      最近更新 更多