在我的工作中,经常会碰到分布式进程之间通信可靠性问题:即服务A向服务B发送消息,如果服务B挂了,如何保证服务A的消息可以不中断将消息传给服务B?一般有两种解决方案:(1)服务B部多点,无存在单点问题;(2)对实时性要求不高的情况下,服务A在服务B挂时,能将传给服务B的消息缓存下来,等服务B启动时,再将消息发送给服务B。
在公司论坛中,无意发现了ZeroMQ,发现它直接实现了上面两种解决方案,无须自已开发。
关于他的使用和介绍,可参考下面的文章:
http://www.searchtb.com/2012/08/zeromq-primer.html
PS:针对分布式进程之间通信可靠性问题,其实早已出现了各种message queue来解决该问题,其中比较出名的除了ZeroMQ,还有RabbitMQ。