如何理解訊息中介軟體?
訊息中介軟體是儲存訊息的乙個容器,與資料庫不同的是資料庫儲存的資料是可以被修改的,而訊息中介軟體一般不會被修改
訊息中介軟體在消費的生產者與消費者產生,相當於乙個中間人的角色,提供了路由保證訊息的傳遞,如果消費者不能及時接收,
訊息會保留下來,知道消費者上線(保證在存活期內)
訊息中介軟體的特點?
非同步處理: 消費生產者傳送訊息,不需要哦等待消費者響應,乙個訊息可以傳送乙個或者多個消費者無需對訊息生產者做同步回應
我訂單資訊傳送給商家,而商家只需要確認發貨即可,根本不關心對方是誰,這樣做保證了最終的一致性
例如:我們在做使用者登入的時候
使用者先填寫註冊資訊--> 想註冊服務寫入資料,這一步其實就是將資料儲存到資料庫
註冊資訊往往有身份驗證的資訊,例如:手機號,郵箱,這裡就會把訊息放入到訊息中介軟體,將訊息放鬆到郵件服務或手機簡訊服務
日誌分析
應用服務---> 將日誌放入到訊息中介軟體,訊息中介軟體進行暫存,定時將傳送到日誌服務
延遲傳送和暫存
將訊息存放在訊息中介軟體,但是不消費,作為暫存,在某個時刻一起放出來,這樣可以模擬秒殺活動,進行壓力測試
1.點對點
也就是傳送者只發個乙個接受者
傳送者和接受者並無時間上的依賴
接受者確認訊息收到和處理
2.發布訂閱
訂閱者要訂閱乙個主題,發布者將訊息傳送給所有的訂閱者
其實我們生活中經常遇到訂閱某個主題,然後我們就能一直收到相關檔案
其實我們細想一下 是不是所有具備儲存功能 例如 mysql sqlserver redis等no sql 都可以作為訊息中介軟體
訊息中介軟體
1.訊息的優先順序 2.訊息排序 3.訊息過濾 4.訊息持久化 5.訊息重試 6.事務的支援 7.broker滿 生產者,佇列,消費者 訊息佇列的優點 1 解耦2 非同步訊息,系統響應 在jms中,有兩種訊息模型 點對點模式和發布訂閱模式。1.在點對點模式中 有三種角色 1 訊息佇列,傳送者,接受者...
訊息中介軟體
訊息中介軟體是在訊息的傳輸過程中儲存訊息 訊息傳遞過程中不能更改 的容器。訊息中介軟體再將訊息從它的原中繼到它的目標時充當中間人的作用。訊息中介軟體的主要目的是提供路由並保證訊息的傳遞 如果傳送訊息時接收者不可用,訊息佇列會保留訊息,知道可以成功傳遞為止,當然,訊息佇列儲存訊息也是有期限的。訊息傳送...
訊息中介軟體
activemq rabbitmq rocketmq kafka 效能 單台 6000 萬級 12000 十萬級百萬級 訊息持久化 支援支援 支援支援 多語言支援 支援支援 很少支援 社群活躍度高高 很少高支援協議 多 jms amqp 多 amqp stomp mqtt 少少 綜合評價 優點 成熟...