ØMQ - 指南 - 前言

目录

简介

怎么开始

Zero的意思

写给听众

致谢


Pieter Hintjens,iMatix 的CEO:


请使用问题跟踪器查看所有comments和errata。

本版本使用 最新的稳定版本 ZeroMQ(3.2),如果您使用的是旧版本的ZeroMQ,那么一些示例和解释就可能不准确。
该指南最初是使用于C语言中的,但也可使用于PHP,Java,Python,Lua,和HAXE。我们还把大多数例子翻译成C++、C语言、CL、Delphi、Erlang、F#、Felix、Haskell、Objul-C、Ruby、AdA、Basic、CljuReo、Go、Haxe、Node.js、OOC、Perl和Scala。

简介

ZeroMQ(也称为ØMQ、0MQ或zmq)看起来像一个可嵌入的网络库,但其作用是一个并发框架。它为您提供跨各种传输方式传输原子消息,如进程内、进程间、TCP和多播的套接字。您可以用  fan-out 、pub-sub、任务分配和请求-应答等模式进行N对N的链接。因为它速度很快,所以可被用在集群产品中。它的异步I/O模型为您提供了可伸缩的多核应用程序,作为异步消息处理任务构建。它有许多语言API,可以在大多数操作系统上运行。ZeroMQ来自iMatix并且是LGPLv3开源。

怎么开始

我们使用一个普通的TCP Socket,注入从苏联秘密原子研究项目中窃取的放射性同位素混合物,用1950年代的宇宙射线轰击它,然后把它交给一个吸毒成瘾的漫画作家手中,这个漫画作者对穿着弹力布的鼓起的肌肉有着伪装得很糟糕的迷恋。是的,ZeroMQ套接字是网络世界中拯救世界的超级英雄。(这段乱七八糟的,随便看看)

Zero的意思

ZeroMQ中的Ø都是关于折衷的。一方面,这个奇怪的名字降低了ZeroMQ在Google和Twitter上的可见度。另一方面,它让一些丹麦人讨厌,他们给我们写像“MGrtfl”和“_,看起来不是一个有趣的零!”还有“罗德格罗医学杂志!”这显然是一种侮辱,意思是“愿你的邻居是格伦德尔的直系后代!”看起来像是公平贸易。(这段乱也是七八糟的,随便看看)
最初,ZeroMQ中的零意味着“零代理”和(尽可能接近)“零延迟”。从那时起,它已经包含了不同的目标:零管理,零成本,零浪费。更一般地说,“零”指的是贯穿整个项目的极简主义文化。我们通过去除复杂性而不是通过公开新功能来增加能力。

写给听众

这本书是专门为那些想学习如何制作将主宰未来计算的大规模分布式软件的专业程序员写的。我们假设您能够阅读C代码,因为尽管ZeroMQ在许多语言中使用,但是这里的大多数示例都是用C编写的。我们假设您关心规模,因为ZeroMQ首先解决了这个问题。我们假设您需要用尽可能少的成本获得尽可能好的结果,否则您不会欣赏ZeroMQ所做的权衡。除了这些基本背景之外,我们尝试呈现您将需要使用ZeroMQ的网络和分布式计算中的所有概念。

致谢

Thanks to Andy Oram for making the O'Reilly book happen, and editing this text.

Thanks to Bill Desmarais, Brian Dorsey, Daniel Lin, Eric Desgranges, Gonzalo Diethelm, Guido Goldstein, Hunter Ford, Kamil Shakirov, Martin Sustrik, Mike Castleman, Naveen Chawla, Nicola Peduzzi, Oliver Smith, Olivier Chamoux, Peter Alexander, Pierre Rouleau, Randy Dryburgh, John Unwin, Alex Thomas, Mihail Minkov, Jeremy Avnet, Michael Compton, Kamil Kisiel, Mark Kharitonov, Guillaume Aubert, Ian Barber, Mike Sheridan, Faruk Akgul, Oleg Sidorov, Lev Givon, Allister MacLeod, Alexander D'Archangel, Andreas Hoelzlwimmer, Han Holl, Robert G. Jakabosky, Felipe Cruz, Marcus McCurdy, Mikhail Kulemin, Dr. Gergő Érdi, Pavel Zhukov, Alexander Else, Giovanni Ruggiero, Rick "Technoweenie", Daniel Lundin, Dave Hoover, Simon Jefford, Benjamin Peterson, Justin Case, Devon Weller, Richard Smith, Alexander Morland, Wadim Grasza, Michael Jakl, Uwe Dauernheim, Sebastian Nowicki, Simone Deponti, Aaron Raddon, Dan Colish, Markus Schirp, Benoit Larroque, Jonathan Palardy, Isaiah Peng, Arkadiusz Orzechowski, Umut Aydin, Matthew Horsfall, Jeremy W. Sherman, Eric Pugh, Tyler Sellon, John E. Vincent, Pavel Mitin, Min RK, Igor Wiedler, Olof Åkesson, Patrick Lucas, Heow Goodman, Senthil Palanisami, John Gallagher, Tomas Roos, Stephen McQuay, Erik Allik, Arnaud Cogoluègnes, Rob Gagnon, Dan Williams, Edward Smith, James Tucker, Kristian Kristensen, Vadim Shalts, Martin Trojer, Tom van Leeuwen, Hiten Pandya, Harm Aarts, Marc Harter, Iskren Ivov Chernev, Jay Han, Sonia Hamilton, Nathan Stocks, Naveen Palli, and Zed Shaw for their contributions to this work.

猜你喜欢

转载自blog.csdn.net/prius0304/article/details/85317954
MQ
今日推荐