ZMQ(或 0MQ、ZeroMQ)都有哪些使用场景
谢邀。我使用zmq也是最近一年的事情。之前是想有这么一个队列能够让我自如的收发消息,能够处理消息顺序,能够适时抛出消息交由上层处理。本来打算自己动手写的,后来想想不要重复造,就看了一下,发现已经有很多不错的消息队列可以用。zmq就是其中之一。编程我感觉有的时候就像搭积木一样,zmq正是我找到的一块比较不错的积木。看完了整个zmq的文档,实验了文档里提到的各种模式,发现这玩意就像一把瑞士军刀一样,可以组合出各种不同的场景。除了我上面提到我想要的功能外,它更进了一步,不再依赖原生socket的启动顺序,这点让zmq的节点扩展起来非常容易,可以做到热扩展。这让我很满意,虽然必然还需要自己处理一下,但是已经非常不错了,我自己就很容易的写了一套管家模式来给我们的服务器使用,现在我写的服务器几乎所有的进程都可以动态热扩展来缓解压力。其实zmq也好,其他的消息队列也好,能够满足你的要求就行,如果一定要说zmq有哪些使用场景的话,它提供的那些特性,它描述的那些使用模式正说明了它的使用场景。而且zmq的文档写的非常不错。。。如果要学习,还是建议从头全部读一遍的,保证不亏。?MQ - The Guide
■网友
谢邀。感觉现在还不能很好的回答题主的问题。所以占坑先。2015-08-03T16:38+08:00可以根据 ZeroMQ 的一些衍生项目来考察它的应用场景。比如,https://github.com/vinta/awesome-python 中提到的几个: 1. zerorpc(zerorpc)使用了 ZeroMQ + MessagePack 这样的经典组合。2. txZMQ(https://github.com/smira/txZMQ)----
■网友
我做过几个用zeromq项目,都用和证券交易相关的。优点: 快,可以用C写,封装了基本功能, socket重连,分包功能,定义了交互模式等。缺点:socket概念和posix socket 概率你有冲突。基础库是用C++实现。这个问题0mq作者自己也吐槽过。zero MQ 有在努力成 linux网络协议栈一部分。但感觉可能性不大。不是所有人喜欢这种封装的方式。对其内部的实现机制和协议在网上讨论很少,还是一个比较小众的框架。
■网友
【ZMQ(或 0MQ、ZeroMQ)都有哪些使用场景】 Introduce for Implement of ZeroRpc
