<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=%C3%98MQ</id>
	<title>ØMQ - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=%C3%98MQ"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=%C3%98MQ&amp;action=history"/>
	<updated>2026-07-21T00:33:34Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=%C3%98MQ&amp;diff=2119882&amp;oldid=prev</id>
		<title>imported&gt;Liangent：​/* 参见 */</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=%C3%98MQ&amp;diff=2119882&amp;oldid=prev"/>
		<updated>2025-01-12T22:09:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;参见&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{update|time=2018-10-18T10:45:59+00:00}}&lt;br /&gt;
{{TA&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
{{primary sources|date=2010年7月}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name                   =&lt;br /&gt;
| title                  = ØMQ&lt;br /&gt;
| logo                   = &amp;lt;!-- [[File: ]] --&amp;gt;&lt;br /&gt;
| author                 =&lt;br /&gt;
| developer              = iMatix公司&lt;br /&gt;
| released               = &amp;lt;!-- {{Start date|YYYY|MM|DD}} --&amp;gt;&lt;br /&gt;
| discontinued           =&lt;br /&gt;
| latest release version = 4.3.4&lt;br /&gt;
| latest release date    = {{Start date and age|2021|01|17}}&lt;br /&gt;
| latest preview version = &lt;br /&gt;
| latest preview date    = {{Start date and age|}}&lt;br /&gt;
| frequently updated     = &amp;lt;!-- DO NOT include this parameter unless you know what it does --&amp;gt;&lt;br /&gt;
| programming language = [[C++]]&lt;br /&gt;
| operating system       =&lt;br /&gt;
| platform               = [[跨平台]]&lt;br /&gt;
| language               =&lt;br /&gt;
| status                 =&lt;br /&gt;
| genre                  = [[消息队列]]&lt;br /&gt;
| license                = [[GNU Lesser General Public License|LGPL]] with static linking [http://www.zeromq.org/area:licensing exception]&lt;br /&gt;
| website                = [http://www.zeromq.org/ www.zeromq.org]&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ØMQ&amp;#039;&amp;#039;&amp;#039; （也拼写作&amp;#039;&amp;#039;&amp;#039;ZeroMQ&amp;#039;&amp;#039;&amp;#039;，&amp;#039;&amp;#039;&amp;#039;0MQ&amp;#039;&amp;#039;&amp;#039;或&amp;#039;&amp;#039;&amp;#039;ZMQ&amp;#039;&amp;#039;&amp;#039;)是一个为可伸缩的[[分布式计算|分布式]]或并发应用程序设计的高性能异步消息库。它提供一个[[消息队列]], 但是与[[面向消息的中间件]]不同，ZeroMQ的运行不需要专门的[[消息代理]]（{{link-en|message broker|message broker}}）。该库设计成常见的[[Berkeley套接字|套接字]]风格的[[应用程序接口|API]]。&lt;br /&gt;
&lt;br /&gt;
ZeroMQ是由iMatix公司和大量贡献者组成的社群共同开发的。ZeroQ通过许多第三方软件支持大部分流行的编程语言，从[[Java]]和[[Python]]到[[Erlang]]和[[Haskell]]。&lt;br /&gt;
&lt;br /&gt;
== 技术 ==&lt;br /&gt;
类库提供一些套接字（对传统[[Berkeley套接字]]和[[Unix domain socket]]的泛化），每一个套接字可以代表一个[[通讯端口|端口]]之间的{{link-en|多对多|many-to-many}}连接。以消息的粒度进行操作，套接字需要使用一种[[消息模式]]（{{link-en|message pattern|message pattern}}）,然后专门为那种模式进行了优化。&lt;br /&gt;
&lt;br /&gt;
基本的ZeroMQ模式有:&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;[[请求响应]]&amp;#039;&amp;#039;&amp;#039;模式&lt;br /&gt;
: 将一组客户端连接到一组服务器。这是一种[[远程过程调用]]和任务分发模式。&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;[[发布/订阅]]&amp;#039;&amp;#039;&amp;#039;模式&lt;br /&gt;
: 将一组发布者连接到一组订阅者。这是一种数据分发模式。&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;管道&amp;#039;&amp;#039;&amp;#039;模式&lt;br /&gt;
: 以扇出/扇入模式连接节点，可以有多个步骤，可以有循环。这是一种[[并行计算|并行]]的任务分发和收集模式。&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;排他对&amp;#039;&amp;#039;&amp;#039;模式&lt;br /&gt;
: 在一个排他对中连接两个套接字。 （这是一种高级的为某种用例而设计的低级别模式）&lt;br /&gt;
&lt;br /&gt;
任何通过套接字的消息被看作不透明的数据[[二進位大型物件|块]]。发送给订阅者的消息可以自动地通过块最开始的字符串进行过滤。ZeroMQ提供多种消息传输协议，包括[[传输控制协议|TCP]]，[[实际通用多播|PGM]]（可靠的多播），[[进程间通信]]（IPC） 以及线程间通讯（ITC）。&lt;br /&gt;
&lt;br /&gt;
由于内部线程模型，ZeroMQ的性能非常好，通过利用一种自动消息批处理技术，它甚至在吞吐量上超过了TCP的性能。&amp;lt;ref&amp;gt;{{cite web|title=How come ØMQ has higher throughput than TCP although it&amp;#039;s built on top of TCP?|url=http://www.zeromq.org/area:faq#toc6|work=ZeroMQ FAQ|accessdate=2013-06-08|archive-date=2019-07-16|archive-url=https://web.archive.org/web/20190716155745/http://zeromq.org/area:faq#toc6|dead-url=no}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=cern&amp;gt;{{cite web|title=Middleware Trends And Market Leaders 2011|url=http://cds.cern.ch/record/1391410?ln=en|accessdate=2013-06-08|archive-date=2020-11-03|archive-url=https://web.archive.org/web/20201103214926/http://cds.cern.ch/record/1391410?ln=en|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZeroMQ实现了ZMTP, ZeroMQ消息传输协议。&amp;lt;ref&amp;gt;{{cite web|title=ZeroMQ Message Transfer Protocol|url=http://rfc.zeromq.org/spec:23|accessdate=2013-06-08|archive-date=2019-11-22|archive-url=https://web.archive.org/web/20191122020621/https://rfc.zeromq.org/spec:23/|dead-url=no}}&amp;lt;/ref&amp;gt; ZMTP定义了向后兼容性的规则，可扩展的安全机制，命令和消息分帧，连接元数据，以及其他传输层功能。不使用完整的ZeroMQ实现，而是直接实现ZMTP协议的项目不断增加。&amp;lt;ref&amp;gt;{{cite web|title=GitHub Search: ZMTP|url=https://github.com/search?q=zmtp&amp;amp;ref=cmdform|accessdate=2013-06-08|archive-date=2020-08-14|archive-url=https://web.archive.org/web/20200814180731/https://github.com/search?q=zmtp&amp;amp;ref=cmdform|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 历史 ==&lt;br /&gt;
2010年3月30日，[[Advanced Message Queuing Protocol|AMQP]]的最初设计者iMatix公司的首席执行官[[Pieter Hintjens]]宣布iMatix将退出AMQP工作组，而且为了简单得多，快的多的ZeroMQ，将不支持 可能发布的AMQP/1.0&amp;lt;ref&amp;gt;{{cite web|title=iMatix will end OpenAMQ support by 2011|publisher=openamq-dev maillist|url=http://lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html|accessdate=14 July 2012|deadurl=yes|archiveurl=https://web.archive.org/web/20121010015604/http://lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html|archivedate=2012年10月10日}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|title=What is wrong with AMQP (and how to fix it)|url=http://www.imatix.com/articles:whats-wrong-with-amqp|publisher=iMatix Corporation|accessdate=14 July 2012|archive-url=https://web.archive.org/web/20120717131917/http://www.imatix.com/articles:whats-wrong-with-amqp|archive-date=2012-07-17|dead-url=yes}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2011年，[[欧洲核子研究组织]] （CERN）调查了统一用于操作CERN加速器的中间件解决方案的方式，欧洲核子研究组织的研究比较了[[CORBA]]，[[Internet Communications Engine|Ice]]，[[Apache Thrift|Thrift]]，ZeroMQ, YAMI4，[[Run-Time Infrastructure (simulation)|RTI]]和 [[Apache Qpid|Qpid]] (AMQP) ，ZeroMQ得到了最高的分数。&amp;lt;ref name=cern /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2012年3月，由于在项目控制权上的分歧，一些ZeroMQ的最初开发者建立了ZeroMQ的[[复刻 (软件工程)|分支]]，Crossroads I/O. Crossroads I/O&amp;lt;ref&amp;gt;{{cite web|title=Crossroads I/O|url=http://www.crossroads.io/|accessdate=14 July 2012|deadurl=yes|archiveurl=https://web.archive.org/web/20120713140548/http://www.crossroads.io/|archivedate=2012年7月13日}}&amp;lt;/ref&amp;gt;计划使用更常见的“[[终身仁慈独裁者|仁慈独裁者]]”模式，Martin Sustrik将充当仁慈独裁者。&amp;lt;ref&amp;gt;{{cite web|title=ZeroMQ and Crossroads I/O: Forking over trademarks|url=http://lwn.net/Articles/488732/|publisher=[[LWN.net]]|accessdate=14 July 2012|archive-date=2022-03-05|archive-url=https://web.archive.org/web/20220305150210/https://lwn.net/Articles/488732/|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2012年8月，Dongmin Yu宣布了他的纯Java的ZeroMQ实现，JeroMQ.&amp;lt;ref&amp;gt;{{cite web|title=jeromq - java pojo zeromq|publisher=zeromq-dev mailing list|url=http://lists.zeromq.org/pipermail/zeromq-dev/2012-August/018265.html|accessdate=23 May 2013|deadurl=yes|archiveurl=https://web.archive.org/web/20130731225620/http://lists.zeromq.org/pipermail/zeromq-dev/2012-August/018265.html|archivedate=2013年7月31日}}&amp;lt;/ref&amp;gt; 这激发了更多的ZeroMQ全本地化的移植，例如C#的NetMQ。&amp;lt;ref&amp;gt;{{cite web|title=NetMQ|publisher=GitHub|url=https://github.com/zeromq/netmq|accessdate=23 May 2013|archive-date=2021-09-18|archive-url=https://web.archive.org/web/20210918013436/https://github.com/zeromq/netmq|dead-url=no}}&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
2013年3月, Pieter Hintjens宣布了ZMTP线级协议的新的草案，为ZeroMQ提供了安全机制的可扩展性。&amp;lt;ref&amp;gt;{{cite web|title=Securing ZeroMQ: draft ZMTP v3.0 Protocol|publisher=Hintjens.com|url=http://hintjens.com/blog:39|accessdate=23 May 2013|archive-date=2022-02-23|archive-url=https://web.archive.org/web/20220223191958/http://hintjens.com/blog:39|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
{{Portal|Free software|left=yes}}&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
* {{official website|http://www.zeromq.org}}&lt;br /&gt;
* [http://www.infoq.com/cn/news/2010/09/introduction-zero-mq ØMQ(ZeroMQ)简介] {{Wayback|url=http://www.infoq.com/cn/news/2010/09/introduction-zero-mq |date=20180116035402 }}. InfoQ。&lt;br /&gt;
* [http://lwn.net/Articles/370307/ 0MQ: A new approach to messaging] {{Wayback|url=http://lwn.net/Articles/370307/ |date=20220321201536 }}. Linux Weekly News.&lt;br /&gt;
* [http://vimeo.com/20605470 ZeroMQ is the Answer] {{Wayback|url=http://vimeo.com/20605470 |date=20220325085412 }} (a talk at PHP UK conference 2012)&lt;br /&gt;
* [https://web.archive.org/web/20100708013634/http://nichol.as/zeromq-an-introduction ZeroMQ an introduction]&lt;br /&gt;
* [https://web.archive.org/web/20100820232306/http://bhavin.directi.com/selecting-a-message-queue-amqp-or-zeromq/ Selecting a Message Queue – AMQP or ZeroMQ]&lt;br /&gt;
* [http://www.youtube.com/watch?v=_JCBphyciAs Why ZeroMQ?] {{Wayback|url=http://www.youtube.com/watch?v=_JCBphyciAs |date=20201212083055 }} (introductory video)&lt;br /&gt;
* [http://www.igvita.com/2010/09/03/zeromq-modern-fast-networking-stack/ ZeroMQ: Modern &amp;amp; Fast Networking Stack] {{Wayback|url=http://www.igvita.com/2010/09/03/zeromq-modern-fast-networking-stack/ |date=20201203235025 }} (overview with Ruby examples)&lt;br /&gt;
* [http://www.250bpm.com/concepts ØMQ: The Theoretical Foundation] {{Wayback|url=http://www.250bpm.com/concepts |date=20200630103228 }}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Omq}}&lt;br /&gt;
&lt;br /&gt;
[[Category:自由系統軟體]]&lt;br /&gt;
[[Category:进程间通信]]&lt;br /&gt;
[[Category:面向消息的中间件]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Liangent</name></author>
	</entry>
</feed>