1. 程式人生 > 實用技巧 >【Linux】ZeroMQ 在 centos下的安裝

【Linux】ZeroMQ 在 centos下的安裝

轉自:http://www.cnblogs.com/mjorcen/p/4479642.html

一、ZeroMQ介紹

ZeroMQ是一個開源的訊息佇列系統,按照官方的定義,它是一個訊息通訊庫,幫助開發者設計分散式和並行的應用程式。

首先,我們需要明白,ZeroMQ不是傳統的訊息佇列系統(比如ActiveMQ、WebSphereMQ、RabbitMQ等)。ZeroMQ可以幫助我們建立自己的訊息佇列系統,它只是一個庫。
ZeroMQ可以運行於帶x86處理器或ARM處理器的機器上,支援40多種程式語言。

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

採用訊息佇列技術可以保證無論發生了什麼,訊息都會被交付到目的地。
訊息佇列允許鬆耦合的元件之間進行非同步通訊,還提供了堅實的佇列一致性。如果資源不足,會阻止你立即處理髮送的資料,你可以把訊息放入訊息佇列伺服器,由訊息佇列伺服器來儲存資料,直到目的地準備好接收訊息。
訊息佇列在大規模分散式系統和非同步通訊中扮演著重要的角色。

二、ZeroMQ特徵

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。

三、準備條件

OS:CentOS 6.5 x64

ZeroMQ:4.0.4版

四、安裝ZeroMQ

1)下載ZeroMQ

執行命令:

wget http://download.zeromq.org/zeromq-4.0.4.tar.gz

2)解壓ZeroMQ

$ tar zvxf zeromq-4.0.4.tar.gz
$ mv zeromq-4.0.4 zeromq
$ cd zeromq

3)編譯安裝

$ ./configure
......
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/chuser/zeromq':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

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

$ sudo yum install gcc

安裝OK!再次執行

$ ./configure
......
checking whether the C++ compiler works... no
configure: error: Unable to find a working C++ compiler

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

$ sudo yum install gcc-c++ 

安裝OK!再次執行

$ ./configure
$ make
$ sudo make install

ZeroMQ安裝成功!