一、什么是消息队列?
我们可以把消息队列看作是一个容器,用的时候取,不用的时候就放里面。消息队列是分布式系统中最重要的组建,可以帮助我们解决很多问题。具体请往下面看。
二、为什么要用消息队列?
在现在这个互联网这么发达的阶段,基本都有用户注册这个功能,我们会这样操作:
1、先把用户的信息保存到数据库;
2、然后根据用户注册的电话/邮箱发送激活码(验证码)
....
如果是传统的集中式开发中,实现这个功能非常简单,开启一个本地事务,然后插入用户数据,发送验证码,然后提交事务,最后关闭。
但是用分布式开发中,用户数据和验证码是两个数据库,那么就不能通过本地事务,这时候就用到消息中间件来实现。
在用户注册时,为这个操作就创建一个消息,当这个用户信息保存成功后,把这个消息发给消息队列,然后监听消息,一旦接收消息,就给这个用户发送验证码。
三、常见的消息队列有哪些?
ActiveMQ、RabbitMQ、kafka