訊息中介軟體的技術選型

2021-07-02 21:46:22 字數 671 閱讀 6870

rabbitmq、activemq和zeromq都是極好的訊息中介軟體,但是我們在專案中該選擇哪個更適合呢?很多開發者面臨這個煩惱。下面我會對這三個訊息中介軟體做乙個比較,看了後你們就心中有數了。

rabbitmq是amqp協議領先的乙個實現,它實現了**(broker)架構,意味著訊息在傳送到客戶端之前可以在**節點上排隊。此特性使得rabbitmq易於使用和部署,適宜於很多場景如路由、負載均衡或訊息持久化等,用訊息佇列只需幾行**即可搞定。但是,這使得它的可擴充套件性差,速度較慢,因為**節點增加了延遲,訊息封裝後也比較大。

zeromq是乙個非常輕量級的訊息系統,專門為高吞吐量/低延遲的場景開發,在金融界的應用中經常可以發現它。與rabbitmq相比,zeromq支援許多高階訊息場景,但是你必須實現zeromq框架中的各個塊(比如socket或device等)。zeromq非常靈活,但是你必須學習它的80頁的手冊(如果你要寫乙個分布式系統,一定要閱讀它)。

activemq居於兩者之間,類似於zemomq,它可以部署於**模式和p2p模式。類似於rabbitmq,它易於實現高階場景,而且只需付出低消耗。它被譽為訊息中介軟體的「瑞士軍刀」。

要注意一點,activemq的下一代產品為apollo。最終,這三個產品:

1. 都有客戶端api且支援多種程式語言;

2. 都有大量的文件;

3. 都提供了積極的支援。

訊息中介軟體優缺點及選型

1 優點 解耦 通過pub sub發布訂閱訊息,解除系統之間的耦合性 非同步 非同步處理請求,實現快速響應 削峰 mysql一般可以支援每秒2k請求,將請求寫入訊息中介軟體,慢慢拉取2 缺點 可用性降低 請求處理依賴訊息中介軟體 複雜的提高 需要處理重複消費 訊息丟失 訊息傳遞順序等 一致性問題 訊...

訊息中介軟體

1.訊息的優先順序 2.訊息排序 3.訊息過濾 4.訊息持久化 5.訊息重試 6.事務的支援 7.broker滿 生產者,佇列,消費者 訊息佇列的優點 1 解耦2 非同步訊息,系統響應 在jms中,有兩種訊息模型 點對點模式和發布訂閱模式。1.在點對點模式中 有三種角色 1 訊息佇列,傳送者,接受者...

訊息中介軟體

如何理解訊息中介軟體?訊息中介軟體是儲存訊息的乙個容器,與資料庫不同的是資料庫儲存的資料是可以被修改的,而訊息中介軟體一般不會被修改 訊息中介軟體在消費的生產者與消費者產生,相當於乙個中間人的角色,提供了路由保證訊息的傳遞,如果消費者不能及時接收,訊息會保留下來,知道消費者上線 保證在存活期內 訊息...