天天看點

RabbitMQ(1)學習目标

RabbitMQ(1)學習目标

一:安裝,專業術語,簡單隊列,工作隊列,釋出/訂閱隊列,路由隊列,主題隊列,RPC隊列,事務,确認模式,SpringAMQP

二:什麼是MQ?

      MQ就是消息隊列,是一種程序間通信或同一程序的不同線程間的通信方式。消息隊列提供了異步的通信協定。消息的發送者和接受者不需要同時與消息隊列互交,消息會儲存在隊列中,直到接受者取回它。

RabbitMQ(1)學習目标

        當大量資料通路資料庫的時候,我們可以使用RabbitMQ來進行流量削峰。如圖:

RabbitMQ(1)學習目标

       目前主流的消息隊列:RabbitMQ(速度還可以),RocketMQ(阿裡的有收費),ActiveMQ(性能差),Kafka(可能資料丢失)

      特點:

      MQ是消費者--生産者模型的一個典型的代表,一端往消息隊列中不斷寫入消息,而另一端則可以讀取或者訂閱隊列中的消息。MQ和JMS類似,但不同的是JMS是SUN JAVA消息中間件服務的一個标準和API定義,而MQ則是遵循了AMQP協定的具體實作和産品。

    注意:

1.AMQP ,即Advanced Message Queuing Protocol,一個提供統一消息服務的應用層标準進階消息隊列協定,是應用層協定的一個開放标準,為面向消息的中間件設計。基于此協定的用戶端與消息中間件可傳遞消息,并不受用戶端/中間件不同産品,不同的開發語言等條件的限制。

2.JMS ,Java消息服務(Java Message Service)應用程式接口,是一個Java平台中關于面向消息中間件的API,用于在兩個應用程式之間,或分布式系統中發送消息,進行異步通信。 Java消息服務是一個與具體平台無關的API,絕大多數MOM提供商都對JMS提供支援。常見的消息隊列,大部分都實作了JMS API,如ActiveMQ , Redis 以及 RabbitMQ 等。