zeroMQ初体验-12.安全与稳定
可能绝大多数接触zeromq的人都会对其去中心的自由感到满意,同时却又对数据传输的可靠性产生怀疑甚至沮丧(如果恰巧你也知道"兔子"的话)。
在这里,或许可以为此作出一些弥补,增强诸位使用它的信心。
zeromq之所以传输的速度无以伦比,它的"zero copy"功不可没,在这种机制下,减少了数据的二次缓存和挪动,并且减少了通讯间的应答式回应。不过在快速的同时,也降低了数据传递的可靠性。而打开copy机制,则在牺牲一定速度的代价下提升了其稳定性。
除了zero-copy机制外,zeromq还提供了一种命名机制,用以建立所谓的"Durable Sockets"。从之前的章节中已知,数据传输层面的事情已经由zeromq接管,那么在 “Durable Sockets”下,即使你的程序崩溃,或者因为其他原因导致节点丢失(挂掉?)zeromq会适当的为节点存储数据,以便当节点重新连上时,可以获取之前的数据
未启用命名机制时:
启用后:
相关设置:
zmq_setsockopt?(socket,?ZMQ_IDENTITY,?"Lucy",?4);