大型網站架構系列:分佈式消息隊列,你一定用的到!

消息隊列中間件是分佈式系統中重要的組件,主要解決應用耦合,異步消息,流量削鋒等問題。實現高性能,高可用,可伸縮和最終一致性架構。是大型分佈式系統不可缺少的中間件。

大型網站架構系列:分佈式消息隊列,你一定用的到!

常用消息隊列

一般商用的容器,比如WebLogic,JBoss,都支持JMS標準,開發上很方便。但免費的比如Tomcat,Jetty等則需要使用第三方的消息中間件。本部分內容介紹常用的消息中間件(Active MQ,Rabbit MQ,Zero MQ,Kafka)以及他們的特點。

大型網站架構系列:分佈式消息隊列,你一定用的到!

ActiveMQ

ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個完全支持JMS1.1和J2EE 1.4規範的 JMS Provider實現,儘管JMS規範出臺已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演著特殊的地位。

大型網站架構系列:分佈式消息隊列,你一定用的到!

RabbitMQ

RabbitMQ是流行的開源消息隊列系統,用erlang語言開發。RabbitMQ是AMQP(高級消息隊列協議)的標準實現。支持多種客戶端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX,持久化。用於在分佈式系統中存儲轉發消息,在易用性、擴展性、高可用性等方面表現不俗。

大型網站架構系列:分佈式消息隊列,你一定用的到!

Kafka

Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據。 這種動作(網頁瀏覽,搜索和其他用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據通常是由於吞吐量的要求而通過處理日誌和日誌聚合來解決。


分享到:


相關文章: