天天看点

跟我一起学习ZeroMQ(2):ZeroMQ接口的详细分类

ZeroMQ再已经有多种开发语言的库了,但都是基于libzmq的,更多的是适配(java有完整的实现);目前主要支持的语言如下:

C、C++、C#、Erlan、F#、Go、Java、Node.js、Perl、Python和Ruby

每种语言基本都有几种不同的适配或实现,主要如下:

名称 接口类型 url 说明
libzmq C https://github.com/zeromq/libzmq 用C++实现的,是最底层的库,许多其他语言的实现都是基于libzmq的
czmq C https://github.com/zeromq/czmq 是对libzmq接口的一个高层次的封装,更加易于使用
zmqpp C++ https://github.com/zeromq/zmqpp 是对libzmq接口的一个高层次的封装,可以说更偏向于oop,并且也实现了认证机制
cppzmq C++ https://github.com/zeromq/cppzmq 是对libzmq接口的一个封装,相对于zmqpp来讲,封装层次没有那么高
azmq C++ https://github.com/zeromq/azmq 事件循环使用的是boost.asio来支持的,很好的解决了zmq与boost.asio整合的问题
czmqpp C++ https://github.com/zeromq/czmqpp 感觉热度不是很高
fbzmq C++ https://github.com/facebook/fbzmq 是facebook封装的,有很多fb的元素
NetMQ C# https://github.com/zeromq/netmq 完全使用C#语言实现,不依赖于libzmq库
clrzmq4 C# https://github.com/zeromq/clrzmq4 是对libzmq接口的封装,依赖于libzmq库
JeroMQ java https://github.com/zeromq/jeromq 完全使用java语言实现,不依赖于libzmq
JZMQ java https://github.com/zeromq/jzmq 是对libzmq接口的封装,依赖于libzmq库
jczmq java https://github.com/zeromq/czmq/tree/master/bindings/jni 通过JNI调用czmq
Pyzmq pyth https://github.com/zeromq/pyzmq 是对libzmq接口的封装,依赖于libzmq库
rbzmq ruby https://github.com/zeromq/rbzmq 是对libzmq接口的封装,依赖于libzmq库
rust-zmq rust https://github.com/erickt/rust-zmq 是对libzmq接口的封装,依赖于libzmq库
zmq4 go https://github.com/pebbe/zmq4 是对libzmq接口的封装,依赖于libzmq库
goczmq go https://github.com/zeromq/goczmq 是对libzmq接口的封装,依赖于libzmq库

更详细的信息请参见:https://zeromq.org/get-started/?language=cpp&library=zmqpp#