如何基于netty实现mq 编程思路
生活随笔
收集整理的這篇文章主要介紹了
如何基于netty实现mq 编程思路
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
消費(fèi)者netty客戶端與nettyServer端MQ服務(wù)器端保持長連接,MQ服務(wù)器端保存
消費(fèi)者連接。
生產(chǎn)者netty客戶端發(fā)送請求給nettyServer端MQ服務(wù)器端,MQ服務(wù)器端在將該
消息內(nèi)容發(fā)送給消費(fèi)者。
body:{“msg”:{“userId”:“123456”,“age”:“23”},“type”:“producer”,”topic”:””}
生產(chǎn)者投遞消息給MQ服務(wù)器端,MQ服務(wù)器端需要緩存該消息
如果mq服務(wù)器端宕機(jī)之后,消息如何保證不丟失
如果mq接收到生產(chǎn)者投遞消息,如果消費(fèi)者不在的情況下,該消息是否會丟失?
不會丟失,消息確認(rèn)機(jī)制 必須要消費(fèi)者消費(fèi)該消息成功之后,在通知給mq服務(wù)器端
刪除該消息。
Mq服務(wù)器端將該消息推送消費(fèi)者:
消費(fèi)者已經(jīng)和mq服務(wù)器保持長連接。
消費(fèi)者主動拉取消息:
消費(fèi)者第一次剛啟動的時候
Mq如何實(shí)現(xiàn)抗高并發(fā)思想
Mq消費(fèi)者根據(jù)自身能力情況 ,拉取mq服務(wù)器端消息消費(fèi)。
默認(rèn)的情況下是取出一條消息。
缺點(diǎn):存在延遲的問題
需要考慮mq消費(fèi)者提高速率的問題:
如何消費(fèi)者提高速率:消費(fèi)者實(shí)現(xiàn)集群、消費(fèi)者批量獲取消息即可。
Maven依賴
總結(jié)
以上是生活随笔為你收集整理的如何基于netty实现mq 编程思路的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何基于多线程队列简单实现mq
- 下一篇: 如何将本地jar包上传到maven私服中