一、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
執行命令:
[ruby]view plain
copy
?$ wget
2)解壓zeromq
[ruby]view plain
copy
?$ tar zvxf zeromq-4.0.4.tar.gz
$ mv zeromq-4.0.4 zeromq
$ cd zeromq
3)編譯安裝
[ruby]view plain
copy
?$ ./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。
[ruby]view plain
copy
?$ sudo yum install gcc
安裝ok!再次執行
[ruby]view plain
copy
?$ ./configure
......
checking whether the c++ compiler works... no
configure: error: unable to find a working c++ compiler
提示缺少c++編譯器,先安裝g++。
[ruby]view plain
copy
?$ sudo yum install gcc-c++
安裝ok!再次執行
[ruby]view plain
copy
?$ ./configure
$ make
$ sudo make install
訊息通訊庫ZeroMQ 4 0 4安裝指南
一 zeromq介紹 zeromq是乙個開源的訊息佇列系統,按照官方的定義,它是乙個訊息通訊庫,幫助開發者設計分布式和並行的應用程式。首先,我們需要明白,zeromq不是傳統的訊息佇列系統 比如activemq webspheremq rabbitmq等 zeromq可以幫助我們建立自己的訊息佇列系...
ZeroMQ 乙個輕量級的訊息通訊元件
zeromq是乙個輕量級的訊息通訊元件,儘管名字中包含了 mq 嚴格上來講zeromq並不是 訊息佇列 訊息中介軟體 zeromq是乙個傳輸層api庫,更關注訊息的傳輸。與訊息佇列相比,zeromq有以下一些特點 點對點無中間節點 傳統的訊息佇列都需要乙個訊息伺服器來儲存 訊息。而zeromq則放棄...
ZeroMQ 乙個輕量級的訊息通訊元件 C
zeromq是乙個輕量級的訊息通訊元件,儘管名字中包含了 mq 嚴格上來講zeromq並不是 訊息佇列 訊息中介軟體 zeromq是乙個傳輸層api庫,更關注訊息的傳輸。與訊息佇列相比,zeromq有以下一些特點 點對點無中間節點 傳統的訊息佇列都需要乙個訊息伺服器來儲存 訊息。而zeromq則放棄...