zeromq
文章平均质量分 56
john_crash
这个作者很懒,什么都没留下…
展开
-
zeromq push-pull 模式
举一个例子,在并行处理中的一个经典情形。一个任务分发者拆解任务并进行分配,很多执行者领取任务然后执行,最后执行者将结果发送给一个收集者。见下图: - 最上面是产生任务的 分发者 ventilator - 中间是执行者 worker - 下面是收集结果的接收者 sink任务分发者首先给接受者sink发送“0”表示开始处理,然后给执行者发送一个休眠时间代表它的工作负载。// Task ven原创 2015-11-10 16:41:54 · 12119 阅读 · 0 评论 -
为什么需要使用zeromq
现在的许多应用是包括跨越不同网络的组件,LAN或者Internet。因此许多应用做了消息机制。另一些开发人员使用消息队列产品,但是大多数时候他们自己写,使用TCP或者UDP。这些协议并不难用,但是从A发送几个字节到B和一个可靠的消息机制有很大的区别。 让我们看看我们将面临什么问题,当我们开始使用TCP时的一些经典问题。任何可重复使用的消息层都需要解决部分和全部。 - 我们如何处理I/O?难度我们原创 2015-12-28 13:48:17 · 1663 阅读 · 0 评论 -
zeromq封包
zeromq支持一种叫做多部分消息的结构(multipart messages)。就是说一个消息可以被分成多个部分。多部消息要么收不到要么完全受到,不存在收到一部分的问题。zeromq就是通过多部消息进行封包。static ints_sendmore (void *socket, char *string) { int size = zmq_send (socket, string, st原创 2015-12-28 16:58:01 · 1822 阅读 · 0 评论 -
zeromq模式介绍
REQ-REP模式请求回复模式,REQ方先发后收,send-recv。REP方先收后发,recv-send。REQ和REP不停的重复它们的操作循环。REP类似于一个http服务器,REQ类似于客户端。一个REP可以连接多个REQ端,REP顺序处理REQ的请求。PUSH-PULL模式推拉模式,PUSH发送,send。PULL方接收,recv。PUSH可以和多个PULL建立连接,PUSH发送的数据被顺序原创 2015-12-30 16:12:04 · 4541 阅读 · 0 评论 -
zeromq实例分析
前言这个例子是zeromq指南中的一个例子(peering3),你去这个地址可以看到例子的原文。当然原文并没有详细的解析这个例子,但是你把这个例子搞懂了zeromq基本就算入门了。介绍在这之前先看看它要解决的问题到底是什么。让我们先看这样的一种模型,你有很多客户,很多的工人,你还有一个中心用来将客户的请求发给工人,工人处理完将结果发给客户。工人可以任意的增加,客户也可以任意的增加。中心将客户的任务分原创 2015-12-31 16:24:41 · 3464 阅读 · 0 评论 -
zeromq退出与linger值的设置
默认情况下zeromq的LINGER值被设置为-1,就是说如果网络读写没有进行完是不能退出的。例如你用一个zeromq的socket发送数据,但是数据没有发送出去。那么你调用zmq_term()终止zeromq上下文将阻塞,直达指定的数据正常发送。 你可以使用zmq_setsockopt来设置一个LINGER值。 如果LINGER被设置为0,那么zmq_term时将离开返回,并丢弃一切未完成的网原创 2015-12-22 14:00:47 · 5228 阅读 · 1 评论