日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nats streaming订阅

發布時間:2024/1/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nats streaming订阅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我這里分析的是由nats streaming啟動nats的,不連接外部nats

1.在nats streaming第一章,已經說明nats streaming會啟動客戶端連接nats,然后注冊消息回調,包括客戶端連接,訂閱,發布等消息回調

2.訂閱客戶端發送訂閱消息,服務端調用readLoop()進行消息讀取,c.parse消息解析,->(c *client) processSub->(c *client) processMsg

for循環調用訂閱事件監聽者,

3.上面都還算是nats服務器調用,接著消息轉發到nats streaming,readLoop->(nc *Conn) processMsgArgs(在這里確定事件的調用者,這里認為有個設計不好的地方,事件調用者確認是通過nc.ps.ma.sid,而這個值是按依賴于初始化自增的,個人認為固定事件id更好,而不是依賴于初始化順序,在這里訂閱事件的sid是4,)->(nc *Conn) processMsg(把消息丟入sub.pHead隊列)->

(nc *Conn) waitForMsgs(循環取出隊列消息進行處理,調用mcb(m)進行事件注冊回調)->(s *StanServer) processSubscriptionRequest(處理客戶端訂閱消息s.processSub(保存到持久化存儲),訂閱回復s.ncs.Publish)

根據object名稱建立對應通道,

?

然后把對應訂閱對象存入通道對象(channel.ss.psubs),這里區分是永久訂閱還是臨時訂閱,

以上就是大體的nats streaming訂閱流程。

?

總結

以上是生活随笔為你收集整理的nats streaming订阅的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。