CZMQ之可靠的请求-应答模式

ZMQ多种架构:
懒惰海盗模式:
1,确认信号到达,轮询套接字并接收应答;
2,超时没有应答,重新发送请求;
3,多次请求后没有应答,放弃事务.
代码见:lpclient.c
缺点:不能执行到备份或备份服务器的故障切换.

简单海盗模式:
一个工人崩溃,另一个工人接管它,最终工人都崩溃.
需要重启工人和客户端.
代码见spqueue.c和spworker.c

偏执海盗模式:(健壮的可靠队列)
多个worker,客户端依次路由每个workers.
客户 客户 客户
|———|———|
            |
ROUTER
            |
|———|———|
worker worker worker
其中一个worker崩溃,客户端请求会自动路由到下一个worker,继续完成自己的请求.
可以自动检测有几个worker存活.
int worknum = zlist_size (workers);
worker_t worker = (worker_t ) zlist_first (workers);
while (worker)
{
获取worker->identity发送给worker
worker = (worker_t *) zlist_next (workers);
}
主要参考zguide/examples/C中ppworker.c和ppqueue.c.
在一定条件下,自动路由这一优点保证了客户端请求一定可以得到应答的特点.对于大数据量的数据也可以进行拆分处理,并且不会因为一个死机而导致该次处理失败.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值