訊息通訊庫ZeroMQ 4 0 4安裝指南

2022-03-28 17:56:24 字數 2467 閱讀 9788

一、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

print

?$ wget   

2)解壓zeromq

[ruby]view plain

copy

print

?$ tar zvxf zeromq-4.0.4.tar.gz  

$ mv zeromq-4.0.4 zeromq  

$ cd zeromq  

3)編譯安裝

[ruby]view plain

copy

print

?$ ./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

print

?$ sudo yum install gcc  

安裝ok!再次執行

[ruby]view plain

copy

print

?$ ./configure  

......  

checking whether the c++ compiler works... no  

configure: error: unable to find a working c++ compiler  

提示缺少c++編譯器,先安裝g++。

[ruby]view plain

copy

print

?$ sudo yum install gcc-c++  

安裝ok!再次執行

[ruby]view plain

copy

print

?$ ./configure  

$ make  

$ sudo make install  

zeromq安裝成功!

訊息通訊庫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則放棄...