開發中消息隊列一般有以下應用場景:
一、任務異步處理。
將不須要同步處理的而且耗時長的操做由消息隊列通知消息接收方進行異步處理。提升了應用程序的響應時間。
二、應用程序解耦合
MQ至關於一箇中介,生產方經過MQ與消費方交互,它將應用程序進行解耦合。
市場上還有哪些消息隊列?
ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ、Redis。
爲何使用RabbitMQ呢?
一、使得簡單,功能強大。
二、基於AMQP協議。
三、社區活躍,文檔完善。
四、高併發性能好,這主要得益於Erlang語言。
五、Spring Boot默認已集成RabbitMQ
總結:AMQP是一套公開的消息隊列協議,最先在2003年被提出,它旨在從協議層定義消息通訊數據的標準格式,
爲的就是解決MQ市場上協議不統一的問題。RabbitMQ就是遵循AMQP標準協議開發的MQ服務。
官方:http://www.amqp.org/
JMS是什麼 ?
總結:
JMS是java提供的一套消息服務API標準,其目的是爲全部的java應用程序提供統一的消息通訊的標準,相似java的
jdbc,只要遵循jms標準的應用程序之間均可以進行消息通訊。它和AMQP有什麼 不一樣,jms是java語言專屬的消
息服務標準,它是在api層定義標準,而且只能用於java應用;而AMQP是在協議層定義的標準,是跨語言的 。
java