最近在构建一个中间层的通讯架构,原本想用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安装完成。