天天看點

消息通信庫ZeroMQ 4.0.4安裝指南

<b>消息通信庫ZeroMQ 4.0.4安裝指南</b>

<b>一、ZeroMQ介紹</b>

ZeroMQ是一個開源的消息隊列系統,按照官方的定義,它是一個消息通信庫,幫助開發者設計分布式和并行的應用程式。

首先,我們需要明白,ZeroMQ不是傳統的消息隊列系統(比如ActiveMQ、WebSphereMQ、RabbitMQ等)。ZeroMQ可以幫助我們建立自己的消息隊列系統,它隻是一個庫。

ZeroMQ可以運作于帶x86處理器或ARM處理器的機器上,支援40多種程式設計語言。

消息隊列,從技術的角度來講,是以先進先出FIFO算法為基礎的隊列技術,它有着良好的資料結構。除此以外,還有優先級隊列、雙端隊列等隊列技術。不管怎麼樣,其基本思想是把資料添加到隊列中,接收端準備好以後,從隊列中取回資料。

采用消息隊列技術可以保證無論發生了什麼,消息都會被傳遞到目的地。

消息隊列允許松耦合的元件之間進行異步通信,還提供了堅實的隊列一緻性。如果資源不足,會阻止你立即處理發送的資料,你可以把消息放入消息隊列伺服器,由消息隊列伺服器來存儲資料,直到目的地準備好接收消息。

消息隊列在大規模分布式系統和異步通信中扮演着重要的角色。

<b>二、ZeroMQ特征</b>

1)ZeroMQ很簡單

我們可以做異步I/O操作,ZeroMQ可以在一個I/O線程中把消息隊列化。ZeroMQ的I/O線程是異步的,當處理網絡交通時,它可以幫助我們完成很多剩餘的工作。

2)ZeroMQ相當快

Second Life網站有13.4毫秒的端到端延時和高達每秒410萬條消息的處理量。ZeroMQ能使用廣播傳輸協定——它是把資料傳輸到多個目的地的好方法。

3)無代理設計

與其它傳統的消息隊列系統不同,ZeroMQ是無代理式的。傳統的消息隊列系統,通常都有中央消息伺服器(Broker),每個節點都連接配接到這個中央節點,每個節點都通過中央節點與其它節點通信,而不是節點間彼此直接通信。

而ZeroMQ是無代理式的,應用程式彼此可以直接通信,無需通過中間代理Broker。

注意:ZeroMQ不會在磁盤上存儲消息。但是,可以通過使用本地交換檔案的方式存儲消息。設定zmq.SWAP。

<b>三、準備條件</b>

OS:CentOS 6.5 x64

ZeroMQ:4.0.4版

<b>四、安裝ZeroMQ</b>

1)下載下傳ZeroMQ

執行指令:

2)解壓ZeroMQ

3)編譯安裝

提示缺少C編譯器,先安裝GCC。

安裝OK!再次執行

提示缺少C++編譯器,先安裝G++。

ZeroMQ安裝成功!

繼續閱讀