消息中間件
簡介: Message MiddleWare 消息中間件是在消息的傳遞過程中保存消息的容器。 消息中間件再將消息從它的源中繼到它的目標時,充當中間人的作用。 消息包括:訂單信息等,需要消費者處理的東西 特點: 1)異步處理模式 發送者發送消息而無需等待響應。消息發送者將消息發送到一條虛擬的通道上,消息接受者則訂閱或監聽該通道。 一條消息可能最終轉發給一個或者多個消息接收者,這些消息接收者無需對消息發送者做出同步回應。整個過程是異步的 2)松耦合 發送者和接受者不必了解對方 只需要確認消息 發送者和接受者不必同時在線 消息傳遞服務模型: 點對點模型PTP:點對點模型用於生產者消費者之間的點到點的通信 隊列消息可放在內存中也可以是持久的。 特性:1)只有一個消費者 2)沒有時間依賴 3)接受者確認消息和接收處理請求 發布-訂閱模型Pub-Sub:TOPIC 訂閱者發布者模型支持向一個特定的消息主題生產消息 特性:1)每個消息可以有多個訂閱者 2)訂閱後才能接收到消息 3)持久訂閱和非持久訂閱(持久訂閱:訂閱方重啟後,發布方會重新發消息給訂閱方,互聯網公司常用。比如支付場景,要求強一致性的業務。 非持久訂閱:重啟後,不會重新發消息,通知消息,一致性要求不高) 4)時間依賴 只有建立訂閱關系才能接受消息 5)持久訂閱:關系建立後,消息不會消失,不管訂閱者是否在線 6)非持久訂閱:訂閱者為了接受消息,必須一直在線 消息中間件過程: 應用程序A--消息中間件接口--發送隊列--通道代理--網絡--通道代理--接收隊列--消息中間件接口--應用程序B SUB1(訂閱-->確認) 緩存 (L2 cache) SUB2 論壇 PUB(用戶信息更新) 主題A-->(投遞) SUB3 SUB4 熱點數據緩存 (L1 cache) 互聯網消息中間件應用場景: 1、網站用戶註冊、用戶密碼找回 填寫註冊信息-->用戶註冊服務-->消息中間件-->郵件服務 -->短信服務 PUB-SUB模式 持久訂閱(短信服務:設置30分鐘有效時間) 2、把日誌進行集中收集,用於計算PV、用戶行為分析(消息中間件進行緩沖、收集(監控網絡、負載)、存儲的角色) 後臺進行數據分析(惡意刷單人)。 3、數據復制案例: 4、壓測:1)把消息中間件當做可靠的消息暫存地 2)定時消息投遞,模擬用戶訪問,進行系統性能壓測 5、消息廣播:1)緩存數據同步更新 2)往應用推送數據(發布訂閱模式 持久化訂閱) 比如更新本地數據: cache 數據變更-->消息中間件 cache cache 分類:
簡介:Message MiddleWare消息中間件是在消息的傳遞過程中保存消息的容器。消息中間件再將消息從它的源中繼到它的目標時,充當中間人的作用。
消息包括:訂單信息等,需要消費者處理的東西
特點:1)異步處理模式 發送者發送消息而無需等待響應。消息發送者將消息發送到一條虛擬的通道上,消息接受者則訂閱或監聽該通道。 一條消息可能最終轉發給一個或者多個消息接收者,這些消息接收者無需對消息發送者做出同步回應。整個過程是異步的2)松耦合 發送者和接受者不必了解對方 只需要確認消息發送者和接受者不必同時在線
消息傳遞服務模型:
點對點模型PTP:點對點模型用於生產者消費者之間的點到點的通信 隊列消息可放在內存中也可以是持久的。 特性:1)只有一個消費者 2)沒有時間依賴 3)接受者確認消息和接收處理請求 發布-訂閱模型Pub-Sub:TOPIC 訂閱者發布者模型支持向一個特定的消息主題生產消息特性:1)每個消息可以有多個訂閱者2)訂閱後才能接收到消息3)持久訂閱和非持久訂閱(持久訂閱:訂閱方重啟後,發布方會重新發消息給訂閱方,互聯網公司常用。比如支付場景,要求強一致性的業務。 非持久訂閱:重啟後,不會重新發消息,通知消息,一致性要求不高) 4)時間依賴 只有建立訂閱關系才能接受消息 5)持久訂閱:關系建立後,消息不會消失,不管訂閱者是否在線 6)非持久訂閱:訂閱者為了接受消息,必須一直在線 消息中間件過程:
應用程序A--消息中間件接口--發送隊列--通道代理--網絡--通道代理--接收隊列--消息中間件接口--應用程序B
SUB1(訂閱-->確認) 緩存 (L2 cache) SUB2 論壇 PUB(用戶信息更新) 主題A-->(投遞) SUB3 SUB4 熱點數據緩存(L1 cache) 互聯網消息中間件應用場景:1、網站用戶註冊、用戶密碼找回 填寫註冊信息-->用戶註冊服務-->消息中間件-->郵件服務 -->短信服務 PUB-SUB模式 持久訂閱(短信服務:設置30分鐘有效時間)2、把日誌進行集中收集,用於計算PV、用戶行為分析(消息中間件進行緩沖、收集(監控網絡、負載)、存儲的角色) 後臺進行數據分析(惡意刷單人)。3、數據復制案例:4、壓測:1)把消息中間件當做可靠的消息暫存地 2)定時消息投遞,模擬用戶訪問,進行系統性能壓測5、消息廣播:1)緩存數據同步更新 2)往應用推送數據(發布訂閱模式 持久化訂閱) 比如更新本地數據: cache 數據變更-->消息中間件 cache cache
分類:
消息中間件