`
东边日出西边雨
  • 浏览: 262711 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ZeroMQ:云计算时代最好的通讯库

 
阅读更多

转载自:http://hi.baidu.com/ah__fu/blog/item/fd73593ebb3dd6e8828b13a3.html

 

 

 

还在学socket编程吗?还在研究为什么epoll比select更好吗?

噢,不必了!

在复杂的云计算环境中,我们面临的难题远比这个复杂得多。

庞大的服务器集群作为计算云,对来来看或许只是一个简单的搜索框;而在云的内部,复杂的互联和海量的通讯,加之不稳定的网络环境,廉价服务器的低可用性——构建一个高可用性且具备伸缩能力的云计算的环境,不是那么容易的!

 

为什么说ZeroMQ是云计算时代最好的通讯库呢?我们从ZeroMQ的特性来分析吧:

1.The socket library that acts as a concurrency framework.

开起来像是并行开发框架的socket库。

为什么一个通讯的库不提供socket的风格,反而看起来像是一个并行的库?

云计算不就是分布式计算嘛!

并行、多核、分布式,让计算能力不断的被扩展扩展,让数据不断地被分区分区,强大的计算能力就是这样堆出来的。

并发是目前云计算这个世界的主题,所以ZMQ提供了一个并发的库,正式我们最最需要的。

如同广告所讲:客户要的不是一英寸的钻头,而是一英寸的洞。

我们要的不是通讯,而是分布式并行计算。


2. Carries messages across inproc, IPC, TCP, and multicast.

提供进程内、进程间、机器间和广播方式的消息通讯。

可以说ZMQ提供了一种强大的复杂环境适应能力。

作为一个通讯库,可能我们觉得进程内通讯和进程间通讯不是重要的。

然而,提供这些功能,使得ZMQ能够在特定的场景下提供特定的解决方案。且通讯的配置相当的简单:inproc://, ipc://, tcp://这三个通讯方案简单地在字符串中指定即可。开发者可以很容易开发出可运维的应用程序,在不同的场景下,可以仅修改配置文件来适应复杂的部署环境。


3.Connect N-to-N via fanout, pubsub, pipeline, request-reply.

在多对多的网络环境中提供多对一,发布/订阅(one-to-many),管道(one-to-one),请求/响应等模型。

模式,还是模式。

(对于fanout这个词,我没完全理解,我觉得在网络通讯中,应该就是多对一这样的场景)

天天做网络的开发的人,可能会觉得通讯就那么三板斧,经典的模式不断在重复,可是我们仍然在具体的问题上反复写着类似的代码。

而ZMQ提供的不仅仅是这个:ZMQ就像一堆水管的转接头,在复杂的自来水供水系统中,ZMQ在每个关节灵活地适配,像水管一样接起来,把数据分开或是合并。

例如,先把数据按照pub/sub模式分发给多个服务器,每个服务器上的进程在进程内用inproc,将请求分布到多个线程上处理,如果有特别的需要,还可以把数据用ipc方式转发给同一机器上的其他进程。而完成这一切复杂的工作仅需要少少的代码。


4. Fast enough for clustered products and supercomputing.

对服务器群集和超级计算来将都足够快了

超级计算都能做,你还想干啥?


5. Asynch I/O for scalable multicore message-passing apps.

对可扩展的多核消息传递应用程序提供异步I/O支持。

在ZMQ的inproc://模式中,库提供了线程安全的消息分发机制,可以简单地把请求分发给多线程处理。


6. Large and active open source community.

拥有超大并且活跃的开源社区

记住,你不是一个人在战斗!不是……


7. 20+ languages including C, C++, Java, .NET, Python.

有超过20种以上的开发语言绑定,诸如C, C++, Java, .NET, Python


8. Most OSes including Linux, Windows, OS X.

还支持绝大多数的操作系统,例如Linux, Windows, OS X


9. LGPL free software with full commercial support.

这是最重要的,不要钱,但也可以提供商业支持。

 

注:

Fan out:数电里很重要的概念,“一逻辑门的输出需要驱动多个等效门的输入,称输出端接的需要驱动的等效门数为扇出F”。

扇出(fan-out)是定义单个逻辑门能够驱动的数字信号最大输入量的术语。

 

分享到:
评论

相关推荐

    ZeroMQ 云时代极速消息通信库 PDF

    《ZeroMQ:云时代极速消息通信库》是一本深度探讨ZeroMQ技术的书籍,它为读者揭示了如何在分布式系统中高效地实现消息传递。ZeroMQ,也常被简称为ZMQ,是一款开源的消息中间件,它提供了一个高级的消息协议和库,...

    ZeroMQ 云时代极速消息通信库(完整版)

    ZeroMQ (0MQ, 0 confidentiality)是一个高性能的异步消息库,设计为用于各种编程语言的开源库。它允许各种不同的组件之间进行高速通信,这些组件可以是运行在同一台机器上的不同进程,也可以是分散在网络上的不同...

    ZeroMQ云时代极速消息通信库PDF带书签目录高清版

    《ZeroMQ:云时代极速消息通信库》是一本深度探讨ZeroMQ这一高效消息通信库的专业书籍。ZeroMQ,又称ØMQ或0MQ,是一个轻量级的、高性能的消息队列系统,广泛应用于分布式计算和微服务架构中。这本书的高清PDF版本带...

    ZeroMQ云时代极速消息通信库 PDF电子书下载 带书签目录 完整版

    《ZeroMQ:云时代极速消息通信库》介绍ZeroMQ 的API、套接字和模式的使用。通过建立应用程序来讲解如何使用ZeroMQ 编程技术构建多线程应用程序,并创建自己的消息传递架构。《ZeroMQ:云时代极速消息通信库》设计了...

    ZeroMQ-云时代极速消息通信库

    ZeroMQ,又称为0MQ或ØMQ,是一个开源的消息队列系统,被广泛应用于云环境中的高速消息通信。...阅读《ZeroMQ-云时代极速消息通信库》这本书,将深入理解ZeroMQ的工作原理及其在实际项目中的应用。

    ZeroMQ 云时代极速消息通信库 PDF电子书下载 带书签目录

    ZeroMQ 云时代极速消息通信库 PDF电子书下载 带书签目录,网盘分享。。。。。。。。。。。。。。。

    ZeroMQ 云时代极速消息通信库 PDF电子书下载

    在电子书《ZeroMQ 云时代极速消息通信库》中,不仅包含了ZeroMQ的基础知识,还可能涉及到了其在分布式系统中的应用案例和高级使用技巧。 1. ZeroMQ简介 ZeroMQ(通常缩写为0MQ,也被称作ØMQ)是一个开源的网络库,...

    ZeroMQ:云时代极速消息通信库

    本书介绍ZeroMQ 的API、套接字和模式的使用。通过建立应用程序来讲解如何使用ZeroMQ 编程技术构建多线程应用程序,并创建自己的消息传递架构。本书设计了大量工作实例来实现请求- 应答模式的高级使用和容错性,并对...

    zeromq:云时代极速消息通信库

    通过建立应用程序来讲解如何使用ZeroMQ 编程技术构建多线程应用程序,并创建自己的消息传递架构。本书设计了大量工作实例来实现请求- 应答模式的高级使用和容错性,并对发布- 订阅模式的性能、可靠性、状态分发与...

    ZeroMQ:云时代极速消息通信库.[美]Pieter Hintjens(带详细书签) PDF 下载 高清 完整版

    本书介绍ZeroMQ 的API、套接字和模式的使用。通过建立应用程序来讲解如何使用ZeroMQ 编程技术构建多线程应用程序,并创建自己的消息传递架构。本书设计了大量工作实例来实现请求- 应答模式的高级使用和容错性,并对...

    ZeroMQ云时代极速消息通信库.pdf

    ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型、连接处理、帧、甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字。ZeroMQ是网络通信中新的一层,介于应用层和传输层之间(按照TCP/IP划分),其...

    ZeroMQ 云时代极速消息通信库 PDF电子书下载 带书签目录 完整版

    《ZeroMQ:云时代极速消息通信库》是一本深度探讨ZeroMQ技术的权威书籍,它为读者揭示了如何在分布式系统中实现高效、可靠的消息传递。ZeroMQ,作为一个开源的高性能消息中间件,已经成为现代软件架构中的关键组件,...

    ZeroMQ 云时代极速消息通信库

    **ZeroMQ:云时代极速消息通信库** 在现代分布式系统中,高效、可靠的消息通信库是构建可扩展、高并发应用的关键组件。ZeroMQ(又称0MQ)就是这样一款优秀的开源库,它为开发者提供了一种高性能、轻量级且模式灵活...

    ZeroMQ 云时代极速消息通信库高清

    **ZeroMQ:云时代的极速消息通信库** **一、引言** ZeroMQ,又名ØMQ、0MQ或ZMQ,是一款开源的消息中间件,它为应用程序提供了灵活且高效的网络通信框架。ZeroMQ的设计目标是简化分布式系统中的消息传递,为开发者...

    ZeroMQ: Messaging for Many Applications

    ZeroMQ是由Pieter Hintjens维护的,本书《ZeroMQ: Messaging for Many Applications》为读者提供了实用的指导,帮助他们快速掌握ØMQ的使用。通过本书,读者将会学习到如何使用ØMQ的主要模式:请求-回复、发布-订阅...

    云时代软件研发生产力提升之路

    5. **云计算对软件研发生产力的新挑战**:云计算技术的普及和发展促使软件企业的形态进一步分化,用户的需求也在发生变化。例如,个人用户、企业机构用户、云应用提供商等不同类型的参与者都对软件提出了不同的要求...

    ZeroMQ 云时代极速消息通信库.pdf

    ### ZeroMQ 云时代极速消息通信库 #### 一、ZeroMQ简介 ZeroMQ(有时也被称作0MQ或 ØMQ)是一种高级的分布式应用程序框架,它为开发人员提供了高效、灵活的消息队列机制,旨在解决分布式计算环境下的消息传递问题...

Global site tag (gtag.js) - Google Analytics