ZeroMQ是云计算时代最好的通讯库
ZeroMQ是云计算时代最好的通讯库
为什么一个通讯的库不提供socket的风格,反而看起来像是一个并行的库?
云计算不就是分布式计算嘛!
并行、多核、分布式,让计算能力不断的被扩展扩展,让数据不断地被分区分区,强大的计算能力就是这样堆出来的。
并发是目前云计算这个世界的主题,所以ZMQ提供了一个并发的库,正是我们最最需要的。
如同广告所讲:客户要的不是一英寸的钻头,而是一英寸的洞。
我们要的不是通讯,而是分布式并行计算。
提供进程内、进程间、机器间和广播方式的消息通讯。
可以说ZMQ提供了一种强大的复杂环境适应能力。
且通讯的配置相当的简单:inproc://, ipc://, tcp://这三个通讯方案简单地在字符串中指定即可。开发者可以很容易开发出可运维的应用程序,在不同的场景下,可以仅修改配置文件来适应复杂的部署环境。
在多对多的网络环境中提供多对一,发布/订阅(one-to-many),管道(one-to-one),请求/响应等模型。
模式,还是模式。
天天做网络的开发的人,可能会觉得通讯就那么三板斧,经典的模式不断在重复,可是我们仍然在具体的问题上反复写着类似的代码。
而ZMQ提供的不仅仅是这个:ZMQ就像一堆水管的转接头,在复杂的自来水供水系统中,ZMQ在每个关节灵活地适配,像水管一样接起来,把数据分开或是合并。
例如,先把数据按照pub/sub模式分发给多个服务器,每个服务器上的进程在进程内用inproc,将请求分布到多个线程上处理,如果有特别的需要,还可以把数据用ipc方式转发给同一机器上的其他进程。而完成这一切复杂的工作仅需要少少的代码。
对服务器群集和超级计算来说都足够快了
超级计算都能做,你还想干啥?
对可扩展的多核消息传递应用程序提供异步I/O支持。
在ZMQ的inproc://模式中,库提供了线程安全的消息分发机制,可以简单地把请求分发给多线程处理。
拥有超大并且活跃的开源社区
记住,你不是一个人在战斗!不是……
有超过20种以上的开发语言绑定,诸如C, C++, Java, .NET, Python
还支持绝大多数的操作系统,例如Linux, Windows, OS X
这是最重要的,不要钱,但也可以提供商业支持。
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/14235075.html