原创 mqtt協議-broker之moqutte源碼研究五之UNSUBSCRIBE與DISCONN報文處理

本文講解moquette對UNSUBSCRIBE和DISCONNECT的處理 先說UNSUBSCRIBE,代碼比較簡單 public void processUnsubscribe(Channel channel, MqttUnsu

原创 mqtt協議-broker之moqutte源碼研究六之集羣

moquette的集羣功能是通過Hazelcast來實現的,對Hazelcast不瞭解的同學可以自行Google以下。在講解moquette的集羣功能之前需要講解一下moquette的攔截器,因爲moquette對Hazelcast的集成本

原创 mqtt協議-broker之moqutte源碼研究四之PUBLISH報文處理

先簡單說明一下,對於mqtt是個雙向通信的過程,也就是說,他既允許client向broker發佈消息,同時也允許broker向client發佈消息 public void processPublish(Channel channel, Mq

原创 mqtt協議-broker之moqutte源碼研究三之SUBSCRIBE報文處理

這一篇開始講解moqutte對SUBSCRIBE報文的處理 代碼不復雜public void processSubscribe(Channel channel, MqttSubscribeMessage msg) {String clien

原创 三百行代碼完成一個簡單的rpc框架

花了半天的時間寫了個簡單的rpc框架,是因爲我最初看dubbo源碼的時候發現dubbo雖然看起來很龐大,但是隱隱約約總感覺,其實其絕大多數功能,都是基於可擴張性和服務治理的需要而編寫的。我看過dubbo和grpc的源碼,這兩個都是非常優秀的

原创 mqtt協議-broker之moqutte源碼研究一

mqtt協議的broker有很多,但是java的支持集羣的並不多,之前調研過一番,發現moqutte基本滿足需求,就想着基於這個在自己做二次開發。後面會逐漸把自己對moqutte的研究發佈出來,希望能給有相同需求的同學一定的參考意義。git

原创 mqtt協議-broker之moqutte源碼研究二之Connect報文處理

先上一個圖,大概說明一下moquette 的類之間的關係 一.ProtocolProcessor類該類是moquette裏面的最終要的類,負責所有報文的處理,持有所有各模塊功能的實現對象的引用, 下面詳細介紹 protected

原创 moquette源碼分析之七--qos1和qos2消息的處理

首先解釋一下mqtt協議的session的概念,因爲只有有了session纔會存在消息質量保證一說 如果清理會話(CleanSession)標誌被設置爲0,服務端必須基於當前會話(使用客戶端標識符識別)的狀態恢復與客戶端的通信。如果沒有與這