zeroMQ初体验-12.安全与稳定

本文探讨了ZeroMQ在去中心化架构中的优势与挑战,特别是针对数据传输可靠性的改进方案。通过开启copy机制和利用DurableSockets特性,即便在节点故障的情况下也能确保数据的完整传递。
可能绝大多数接触zeromq的人都会对其去中心的自由感到满意,同时却又对数据传输的可靠性产生怀疑甚至沮丧(如果恰巧你也知道"兔子"的话)。

在这里,或许可以为此作出一些弥补,增强诸位使用它的信心。

zeromq之所以传输的速度无以伦比,它的"zero copy"功不可没,在这种机制下,减少了数据的二次缓存和挪动,并且减少了通讯间的应答式回应。不过在快速的同时,也降低了数据传递的可靠性。而打开copy机制,则在牺牲一定速度的代价下提升了其稳定性。

除了zero-copy机制外,zeromq还提供了一种命名机制,用以建立所谓的"Durable Sockets"。从之前的章节中已知,数据传输层面的事情已经由zeromq接管,那么在 “Durable Sockets”下,即使你的程序崩溃,或者因为其他原因导致节点丢失(挂掉?)zeromq会适当的为节点存储数据,以便当节点重新连上时,可以获取之前的数据

未启用命名机制时:
[img]http://github.com/imatix/zguide/raw/master/images/fig25.png[/img]

启用后:
[img]http://github.com/imatix/zguide/raw/master/images/fig26.png[/img]

相关设置:
zmq_setsockopt (socket, ZMQ_IDENTITY, "Lucy", 4);


注意:
1.如果要启用命名机制,必须在连接前设定名字。
2.不要重名!
3.在连接建立后不要再修改名字。
4.最好不要随机命名。
5.如果需要获知消息来源的名字,需要在消息发送时附加上(xrep会自动获取)名字。

(未完待续)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值