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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Nats的消息通信模型

發布時間:2023/12/4 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nats的消息通信模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
版權聲明:本文為博主chszs的原創文章,未經博主允許不得轉載。 https://blog.csdn.net/chszs/article/details/50996679

Nats的消息通信模型

作者:chszs,未經博主允許不得轉載。經許可的轉載需注明作者和博客主頁:http://blog.csdn.net/chszs

6、NATS消息通信模型

NATS的消息通信是這樣的:應用程序的數據被編碼為一條消息,并通過發布者發送出去;訂閱者接收到消息,進行解碼,再處理。訂閱者處理NATS消息可以是同步的或異步的。

* 異步處理
異步處理使用回調消息句柄處理消息,當有消息到來時,已注冊的回調句柄接收并控制處理消息。整個過程客戶端不會被阻塞,可以同步執行其它任務。異步處理可以采用多線程調度的設計。
* 同步處理
同步處理需要應用程序顯示調用方法來處理到來的消息。這種顯示調用是阻塞式的調用,會暫停任務直到消息可用。如果沒有可用的消息,消息處理阻塞的周期由客戶端設置。同步處理通常用于服務器等待并處理傳入的請求消息,并發送響應給客戶端。

NATS支持以下消息通信模型,包括:

1)發布/訂閱模型


NATS實現了一個發布/訂閱消息通信模型,NATS的發布/訂閱是一對多的消息通信。發布者在一個主題上發送消息,任何注冊(訂閱)了此主題的客戶端都可以接收到該主題的消息。訂閱者可以使用主題通配符注冊感興趣的主題。
如果客戶端沒有注冊某個主題(或者客戶端不在線),那么該主題發布消息時,客戶端不會收到該消息。NATS系統是一種“發送后不管”的消息通信系統,故如果需要高級服務,需要在客戶端開發相應的功能。
對于異步消息通信,消息交付給訂閱者的消息句柄。如果客戶端沒有句柄,那么該消息通信是同步的,那么客戶端可能會被阻塞,直到它處理了該消息。

2)請求/響應模型


NATS支持兩種請求-響應消息通信:P2P(點對點)和O2M(一對多)。P2P最快、響應也最先。而對于O2M,需要設置請求者可以接收到的響應數量界限。
在請求-響應的消息交換,發布請求操作會發布一個帶預期響應的消息到Reply主題。
請求創建了一個收件箱,并在收件箱執行調用,并進行響應和返回

3)隊列模型


NATS支持P2P消息通信的隊列。要創建一個消息隊列,訂閱者需注冊一個隊列名。所有的訂閱者用同一個隊列名,形成一個隊列組。當消息發送到主題后,隊列組會自動選擇一個成員接收消息。盡管隊列組有多個訂閱者,但每條消息只能被組中的一個訂閱者接收。
隊列的訂閱者可以是異步的,這意味著消息句柄以回調方式處理交付的消息。異步隊列訂閱者必須建立處理消息的邏輯。

7、NATS的特性

NATS提供了以下獨特的功能:
1)純發布/訂閱
永遠不假定有接收者;總是在線
2)集群模式的服務器
NATS服務器可以集群;發布式的隊列可以跨域集群;集群感知的客戶端
3)訂閱者的自動修剪
要支持可伸縮性,NATS提供了客戶端連接的自動修剪功能;如果某個客戶端APP處理消息很慢,NATS會自動關閉此客戶端的連接;如果某個客戶端在ping-pong時間間隔內未做響應,服務器會自動關閉此連接;客戶端實現了重連邏輯
4)基于文本的協議
開發上手比較容易;不影響服務器的性能;可以直接用Telnet連接服務器

總結

以上是生活随笔為你收集整理的Nats的消息通信模型的全部內容,希望文章能夠幫你解決所遇到的問題。

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