前言
- 最近接触了公司的一个项目,需要我这边去里面处理一下业务,基于业务的问题,我需要用到MQ。特点就在于,我发现里面的 RabbitMQ 跟我们以往的使用方式有点不太一样,结果我一看依赖发现用的是:springCloud-stream +rabbitmq 的方式。说实话这种用法我以前没有接触过,还可以这么用,于是我的好奇心一下子就上来了,就跟同事聊了一下这个东西。
疑惑
- 带着这几个问题找到了我们架构师,然后让他为我讲解了一下。
-
- 为什么用这种整合的方式?
-
- 对比传统独立的 rabbitmq 有什么优势?
-
- 对于业务来说带来了什么?
解答
- 基于我们现有的项目和业务,我们使用了两种消息中间件,一种是:rabbitmq,还有一种是:kafka。那么我们考虑使用整合的方式主要是基于:如果后期需要基于业务来更换消息中间件比如:kafka时,那么我们基于 stream 的特性,我们只需要改变一下配置文件即可,而不需要改大量的代码。如果使用传统的 rabbitmq,那么在更换消息中间 kafka 时我们就需要改大量的代码。
- 通过同事的分析和我自己查阅文章的思考,终于理解了这种做法的好处。我的个性就是:每当遇到不懂的问题,我总是喜欢研究一下他的底层原理,以及为什么要这么做,我们用这个东西带来了什么好处。这样一方面能够让我们更好的理解技术,同时也知道我们在做什么。