zeromq
bluegreen315
这个作者很懒,什么都没留下…
展开
-
zmq_socket()
Namezmq_socket : 创建0MQ socketSynopsisvoid *zmq_socket(void *context, int type)描述zmq_socket(): 在一个特定的context中创建一个0MQ socket,返回一个不透明的句柄到新创建的socket中。type: 指定socket类型。新创建的socket初试时时未绑定的,不和任何翻译 2013-09-10 16:48:11 · 2525 阅读 · 0 评论 -
zmq源码阅读 —— zmq_send()和zmq_recv()
int zmq_recv (void *s_, void *buf_, size_t len_, int flags_){ if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; return -1; } zmq_msg_t msg; // 创建消息原创 2014-08-06 19:33:31 · 5958 阅读 · 0 评论 -
zeromq源码阅读 —— Msg.hpp & Msg.cpp 的 msg_t (zmq中的消息)
因为tcp是一种字节流类型的协议,没有边界,所以把该消息边界的制定留给了应用层。通常有两种方式实现:1. 在传统的数据中添加分隔符2. 在每条消息中添加size字段。而zeromq采用第2种方案。zmq_msg_t基本的数据结构原创 2014-08-06 19:26:44 · 1000 阅读 · 0 评论 -
zmq源码阅读——Msg.hpp & Msg.cpp 的 相关操作 (zmq中的消息)
int zmq::msg_t::init_size (size_t size_){ if (size_ <= max_vsm_size) { u.vsm.type = type_vsm; // 小消息的类型为type_vsm,这个值为101,相当于一个魔法数字,用来表示小消息 u.vsm.flags = 0; u.vsm.size = (u原创 2014-08-06 19:31:43 · 1186 阅读 · 0 评论 -
error while loading shared libraries: libzmq.so.3: cannot open shared object file: No such
find ./ -depth -name "libzmq.so.3" -print --查找libzmq.so.3 的路径原创 2014-06-30 11:20:01 · 2444 阅读 · 0 评论 -
zeromq的内部架构
从代码的行数来看,代码库并不复杂(目前有10000行);但,ZMQ要考虑大量不同的组合,因此很复杂。比如:要在超过10个OS的不同版本上运行;要运行在许多不同的指令体系结构,从ARM到Itanium;由不同的编译器编译,从gcc,MSVC到SunStudio;可以与20多种不同语言绑定进行交互;可以使用不同的底层传输协议,不同的进程间消息传递机制并支持可靠多播;支持不同翻译 2013-11-12 15:05:56 · 2301 阅读 · 0 评论 -
0MQ PUB/SUB子系统的设计
简介PUB/SUB (publish/ subscrib)是一个用来给任意多个订阅者分发数据的消息传输模式。在0MQ的环境中,PUB/ SUB集中于可扩展性,即增加更多的订阅者到系统中去而不会使其过载的能力。最小化网络流量除了分发数据以外,PUB/ SUB子系统的另一个主要设计目的是最小化网络流量。毕竟,PUB/ SUB归结于因会使网络过载而臭名昭著的多播。因此,设计描述基于以下需求:翻译 2013-10-30 20:14:18 · 1272 阅读 · 0 评论 -
ZeroMQ 简介
zeroMQ不是TCP,不是socket,也不是消息队列,而是这些的综合体。ZeroMQ是什么ZeroMQ以嵌入式网络编程库的形式实现了一个并行开发框架(concurrency framework), 能够提供进程内(inproc)、进程间(IPC)、网络(TCP)和广播方式的消息信道, 并支持扇出(fan-out)、发布-订阅(pub-sub)、任务分发(task distributio转载 2013-09-16 16:46:20 · 2866 阅读 · 0 评论 -
消息队列软件产品大比拼
我花了一周的时间评估比较了一下各种消息队列产品,非常的有趣。我做这个事的动机是因为一个客户有一个很高性能需求。他们的消息信息突破了1百万个并发。目前他们使用的是SQL server,并不理想,我建议他们使用消息队列服务器。为了对一些相似的候选产品获得一个全面的但是粗浅的性能上的了解,我们它们放在一起做了个测试。我让每个消息产品各发送和接受1百万千条1K的消息。测试准备的有些仓促,我并没有修改任转载 2013-09-22 15:55:09 · 636 阅读 · 0 评论 -
zeromq vs tcp
TCP:是面向连接的。它在UDP数据包的基础上增加了重传、流控等一系列机制,封装成基于字节流的传输层通讯协议。 使用字节流,应用有点像语音或视频聊天,粒度小到一个字节,双向同时传输,连绵不断。ZeroMQ:是面向消息的通讯包,提供了消息的封装,消息就是一个二进制数组,消息就像短消息,写很多字符,按 “发送” 后才发送。流和消息都是人们对通讯的数据的抽象。消转载 2013-09-16 16:22:01 · 1330 阅读 · 0 评论 -
zeromq- pub/sub模式 测试
相关术语:吞吐量(throughput):messages per second(msg/s)On :第n个消息被发送时的时间In :第n个消息被接收时的时间SOn :第n个消息的发送开销(s)ROn :第n个消息的接收开销(s)STn :当第n个消息正在被发送时的吞吐量(msg/s)RTn :当第n个消息正在被接收时的吞吐量(msg/s)涉及的变量:原创 2013-10-04 16:35:19 · 3347 阅读 · 1 评论 -
zeromq - 消息传输性能测试
http://zeromq.org/whitepapers:measuring-performance简介性能测试的两个基本原因:首先,我们希望有一些数字来营销我们的消息传输系统;其次,我们需要一个诊断工具,以帮助我们消除在产品开发过程中的性能问题。至于营销数字,我们希望说,例如,我们能每秒钟传输50万个512字节的消息,延迟时间达100微妙。然而,如果提供更多的关于系翻译 2013-09-21 21:26:11 · 8534 阅读 · 2 评论 -
ZMQ_SNDHWM and ZMQ_RCVHWM should use type of int instead of uint64_t
ZEROMQ设置ZMQ_SNDHWM、ZMQ_RCVHWM socket,提示 'invalid argument' 。查看源码,setsockopt 在options.cpp:65中,ZMQ_SNDHWM、ZMQ_RCVHWM 类型是int,而在binding.cc中是unit64_tsetting ZMQ_SNDHWM and ZMQ_RCVHWM for the zmq so原创 2013-08-12 13:11:47 · 3663 阅读 · 0 评论 -
关于HWM设置不起作用的问题
You should call setsockopt BEFORE bind or connect.这个问题苦恼了一个多星期~~只怪没有好好看guide和API~~~http://api.zeromq.org/3-2%3azmq-setsockoptCaution: All options, with the exception of ZMQ_SUBSCRIBE, ZMQ_UN原创 2013-09-13 12:19:57 · 856 阅读 · 0 评论 -
zmq_proxy()
Namezmq_proxy : 启动0MQ内置的proxySynopsisint zmq_proxy(const void *frontend, const void *backend, const void *capture);描述在当先应用线程里启动0MQ内置proxy。proxy连接一个frontend socket 和 一个backend socket。 数据从翻译 2013-09-10 15:41:52 · 3225 阅读 · 0 评论 -
0MQ - The Guide
作者:Pieter Hintjens, iMatix CEO翻译 2014-08-09 10:52:46 · 691 阅读 · 0 评论