消息中间件出现之前

其实消息中间件简单来说就是临时保存一些信息,然后让程序去读取。在还没有接触消息中间件之前,就简单的使用数据库或者redis来实现消息中间件所提供的功能。

rabbitmq的认识

想起第一次接触rabbitmq,就是在2016年工作的时候,后台的哥们介绍的。我对rabbitmq的理解就是一条信息进入rabbitmq需要设置使用哪个交换器,路由件是什么。然后程序读取信息需要指定队列。

一点需要注意的地方

修改了主机名之后,rabbitmq会无法启动。

引入消息中间件的优势

一些可延迟的操作可以通过消息中间件异步处理,例如记录日志,例如用户完成任务赠送优惠券等业务操作,这样子可以大大提高并发能力。

引入消息中间件的缺点
  1. 异步错误处理使代码变得更加复杂。
  2. 要考虑消息持久化和效率的问题。
  3. 提高了入门门槛。
是否需要使用消息中间件

一般来说我们的业务都会涉及消息推送,日志记录,或者一些可以延迟执行的延时操作,那么消息队列还是很有存在的必要的。但是我们可以从业务量来分析,往往业务量不大的情况下,使用redis即可。当然大数量或者对消息完整性有很高要求的时候还是使用消息中间件比较合适。