最近在構建一箇中間層的通訊架構,原本想用dbus,在實驗過程當中發現dbus對於國產系統支持版本比較低,安裝比較麻煩,今天無心中看中了nanomsg,儘管沒有dbus那麼強悍的生態,但基本能知足需求。html
nanomsg是一個輕量級的消息通訊組件,是zeromq的做者之一用C語言去重寫的通訊框架,其無需進一步依賴,可在多種操做系統運行。介紹就很少說了,可直接去官網查詢,該官網是我目前見過感受最簡潔大方的網站。git
更多內容可關注公衆號github
官網地址:https://nanomsg.org/架構
源碼地址: 框架
https://github.com/nanomsg/nanomsg/releases測試
1,下載最新源碼release1.1.5版本,解壓源碼,進入源碼目錄網站
2,nanomsg使用cmake編譯安裝,安裝cmake。ui
3,建立build文件夾用於存放cmake生成的makefile。進入build,camke編譯,指定安裝目錄。操作系統
4,cmake --build .3d
5,ctest .
6,cmake --build . --target install
7,sudo ldconfig
8,安裝完成,test文件夾爲我建立,用於存放下面的測試用例。
官網有不少測試的例子,主要測試了nanomsg的幾種模式。
咱們用管道測試。此模式對於解決生產者/消費者問題(包括負載平衡)頗有用。消息從推送側流向推送側。若是鏈接了多個對等方,則該模式將嘗試公平分配。
用例源碼地址:
https://nanomsg.org/gettingstarted/pipeline.html
將源碼保存到本地文件,存儲爲pipeline.c
編譯:gcc pipeline.c -lnanomsg -o pipeline -I ../include/ -L ../lib/
啓動接收管道0
啓動管道1發送Hello World!
啓動管道1發送Goodbye
最後不要忘記殺死管道0。
測試沒有問題,至此nanomsg安裝完成。