2017-06-15 71 views
0

我想建立几个使用消息代理发送和接收消息的微服务:ActiveMQ。现在我探索消息类型选项(即Stringbyte[]对象型):基于消息的微服务之间的通信

  1. 发布味精XML/JSON格式,一旦收到它们被解析
  2. XML发布味精/ JSON格式,采用的架构将它们转换为对象
  3. 创建域对象,并加入到微服务依赖于数据交换

这些都是3个选项我已经看了看,我倾向于选择1下面提到的原因:

  1. 当一个新的领域有待只加那些需要这个领域需要改变微服务。
  2. 微服务的不同版本可以部署在不破坏现有的通信
  3. 微服务仍然脱钩

然而,这引起了分析和提取数据,这是非常容易出错的问题。

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

回答

0

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