概述 面向消息的中間件(message-oriented middleware 簡稱 MOM)支持在分散式系統之間發送和接收消息的軟體或硬體基礎橋梁。MOM允許應用程式模塊分佈在各個平臺上,並減少了跨多個操作系統和網路協議的開發應用程式的複雜性。中間件創建了一個分散式通信層,將應用程式開發人員與各種 ...
概述
面向消息的中間件(message-oriented middleware 簡稱 MOM)支持在分散式系統之間發送和接收消息的軟體或硬體基礎橋梁。MOM允許應用程式模塊分佈在各個平臺上,並減少了跨多個操作系統和網路協議的開發應用程式的複雜性。中間件創建了一個分散式通信層,將應用程式開發人員與各種操作系統和網路介面的細節隔離開來。跨不同平臺和網路的api通常由MOM提供。
MOM使得一個軟體組件可以通過網路來影響另一個組件的行為,而且組件之間可以鬆散耦合。
簡單說:這個中間件提供了良好的介面,使得兩邊程式通信更加容易,它們不用管對方網路怎麼樣,系統怎麼樣等,並且程式之間耦合度低。
常用消息中間件:Redis的PUB/SUB、RabbitMQ、RocketMQ、ZeroMQ、Kafka……
消息隊列具有高性能(處理快、響應快),高可用(長期工作),可橫向擴展優點(來多幾台伺服器集群操作,提高性能)。
應用場景
非同步通信:A應用請求B應用 ,A--->請求--->消息隊列-->響應--->A ,A很快得到響應了,並沒有管B有沒有拿到消息,反正B自己會去消息中間件拿。
應用解耦:A應用請求B應用,A不會因為B應用崩潰了而得不到響應,它們之間似乎沒有關係。
緩解流量高峰:秒殺活動,突然的超高流量可能會壓垮應用,先把請求數據扔到消息隊列,假如隊列溢出了,可以直接拋棄用戶請求並返回錯誤頁。
看看應用場景?https://www.cnblogs.com/ruiati/p/6649868.html
看看維基百科?https://en.wikipedia.org/wiki/Message-oriented_middleware