微服务系统中的消息队列是单独做一个服务出来吗?

sprouting 发布于 2021/01/23 15:21
阅读 877
收藏 0

【深圳】源创会:5.26下午、轰趴馆等你”

项目微服务架构的话,消息队列是单独做一个服务出来,还是每一个用到消息队列的服务单独集成消息队列的组件?

如果是集成的话,多个应用都用到MQ,感觉这一块的代码有重复,按照3处重复就尽量抽出来的搞法,这一块应该独立出来,但是独立出来,又要考虑到这个服务可能会中断,会调不通的情况,虽然可以部署多个节点来解决,但是消费的时候也要这个服务来处理总感觉怪怪的,因为业务总是在业务端处理,而抽取出来的这个MQ模块总不能弄一堆业务来处理吧。

想问下各位兄弟是怎么处理 的

加载中
1
roomsss
roomsss

你要搞清楚什么是消息服务。   单个消息队列拆分出来没任何意义。   微服务需要满足通用型。  高解耦合。高复用。单一原则,只专注做某个领域的事情. 比如你支付用到了消息队列。  发送短信也用到了,   那么你支付的消息队列就应该划分为支付服务内。因为这个队列只跟你支付关联。   像短信。邮件。站内信。  微信模版消息。 app推送这种就应该单独划分为一个消息服务。 还有支付这种通用型基本每个应用都会用到的就应该划分为聚合支付服务。像业务性的例如商品之类的就在应用层做。不要微服务。因为满足通用原则。高复用原则。

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部