一種開源的分布式訊息系統Nats

2021-09-19 21:51:46 字數 1061 閱讀 9521

與activemq、kafka、kestrel、nsq、rabbitmq、redis在broker吞吐量方面的比較:

nats伺服器:用golang語言開發,發行版包括二進位制發布包和docker映象。

nats客戶端:包含了多種語言的客戶端。

官方提供的客戶端

還有社群提供的客戶端:

客戶端api文件:

對於golang客戶端api文件,需要這樣:

$ git clone [email protected]:nats-io/nats.git
2)進入原始碼目錄

cd $gopath/src/github.com/nats-io/nats
3)執行godoc文件建立工具

$ godoc -http=:6060
4)瀏覽器訪問api文件:http://localhost:6060/pkg/github.com/nats-io/nats/

nats的設計原則是:高效能、可伸縮能力、易於使用,基於這些原則,nats的設計目標包括:

1)高效能(fast)

2)一直可用(dial tone)

3)極度輕量級(small footprint)

4)最多交付一次(fire and forget,訊息傳送後不管)

5)支援多種訊息通訊模型和用例場景(flexible)

5、nats用例場景

nats理想的使用場景有:

1)定址、發現

2)命令和控制(控制面板)

3)負載均衡

4)多路可伸縮能力

5)定位透明

6)容錯

nats設計哲學認為,高質量的qos應該在客戶端構建,故只建立了請求-應答,不提供:

1)持久化

2)事務處理

3)增強的交付模式

4)企業級佇列

6、nats訊息通訊模型

一種開源的分布式訊息系統Nats

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!與activemq kafka kestrel nsq rabbitmq redis在broker吞吐量方面的比較 nats伺服器 用golang語言開發,發行版包括二進位制發布包和docker映象。nats客戶端 包含了多種語言的客戶端。官方提供...

分布式概念 分布式鎖(分布式互斥的一種實現方式)

分布式系統中,多個節點都需要訪問乙個臨界資源,但是同一時刻只能有乙個節點可以訪問,為了解決這個問題就是要通過分布式互斥來實現 分布式鎖就是實現分布式互斥的一種實現方式。鎖是實現多執行緒同時訪問同一共享資源,保證同一時刻只有乙個執行緒可訪問共享資源所做的一種標記。分布式鎖是指分布式環境下,系統部署在多...

分布式是一種思想

分布式是一種思想,範圍很廣,我得先知道它的誕生 以前是乙個資料庫 乙個jsp 就可以做乙個應用了,後來隨著業務複雜,我們開始分層,比如mvc之類的,再後來我們的資料越來越多了,比如有上億的資料,這個時候我們乙個資料庫查詢太慢了,就開始分庫,這也算是分布式的一種。還有比如我們的系統訪問的人多了,比如雙...