RocketMQ学习
一、RocketMQ简介
可参考如下文章:
https://www.zhihu.com/question/54152397
https://mp.weixin.qq.com/s/zeVuoNxRsWzM8otxFEdSVw
(一)为什么用消息中间件
1.解耦
2.异步
3.削峰/限流
(二)推/拉两种模式
在消费中,一般有推消息和拉消息两种模式。推模式即服务端收到消息后,主动将消息推送给消费者,由消费者进行处理,这种模式具有更高的实时性,但是由于服务端不能准确评估消费端的消费性能,所以有可能造成消息推送过多使客户端来不及处理收到的消息; 拉模式则是服务端收到消息后将消息保存在服务端,被动的等待客户端来拉取消息,这种模式下客户端可以根据自己的处理能力来决定拉消息的频率,但是缺点就是消息处理可能有延迟,不过可以通过长轮询的方式来提高实时性。
PUSH-长连接
连接->传输数据->保持连接 -> 传输数据-> …->直到一方关闭连接,多是客户端关闭连接。
长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。
PULL-短连接
连接->传输数据->关闭连接
比如HTTP是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。
因为连接后接收了数据就断开了,所以每次数据接受处理不会有联系。 这也是HTTP协议无状态的原因之一。
(三)集群模式、广播模式
(四)集群架构模型
推荐使用多Master多Slave-异步复制机制
二、RockerMQ安装
(一)Windows环境
可参考如下文章:
https://www.jianshu.com/p/6e6064595c6a
(二)Linux环境
可参考如下文章:
https://blog.csdn.net/shiloh_my/article/details/82977584