什么上MQ?
MQ:消息總線(Message Queue),也稱消息中間件别垮,是一種跨進(jìn)程的通信機制.
為什么要使用MQ?
1.解耦
2.異構(gòu)系統(tǒng)間通信
MQ協(xié)議
包括:AMQP唉俗、JMS、Mqtt某宪、Kafka
MQ消息模式
常見:點對點,發(fā)布訂閱模式topic(廣播式、主題模式)
點對點:生產(chǎn)者發(fā)送一條消息到 queue桃笙,只有一個消費者能收到蚜锨。
發(fā)布訂閱模式:發(fā)布者發(fā)送到 topic 的消息档插,只有訂閱了 topic 的訂閱者才會收到消息。如:學(xué)校的廣播亚再,所有的學(xué)生都可以收聽校園廣播信息郭膛。
AMQP協(xié)議
AMQP:Advanced Message Queuing Protocol
1.協(xié)議模型組件
1.1路由(exchange)
路由收到生產(chǎn)者投遞的消息,基于路由規(guī)則及隊列綁定關(guān)系匹配到投遞對應(yīng)的交換機或者隊列進(jìn)行分發(fā)氛悬,交換機不存儲消息则剃,只做轉(zhuǎn)發(fā)凄诞。
2.1 消息隊列(Message Queue)
消息隊列會將消息存儲到內(nèi)存或者磁盤中,并將這些消息按照一定順序轉(zhuǎn)發(fā)給一個或者多個消費者忍级,每個消息隊列都是獨立隔離的帆谍,相互不影響
JMS協(xié)議
JMS協(xié)議消息隊列的2種模式:
point-to-point:點對點
publish/subscribe:發(fā)布訂閱