RabbitMQ v3.6.3 里程碑2 发布,AMQP消息服务器
jopen 8年前
<p style="text-align:center"><img alt="" src="https://simg.open-open.com/show/03379414b3572debc448e04f087c61aa.jpg" /></p> <p>RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。</p> <p>AMQP 里主要要说两个组件:Exchange 和 Queue (在 AMQP 1.0 里还会有变动),如下图所示,绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker ,这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Producer 和 Consumer 两种类型。</p> <p style="text-align:center"><img alt="" src="https://simg.open-open.com/show/19415a1a9b5dc387fd8324f77163bd3a.jpg" /></p> <h2>更新日志</h2> <h3>两个新插件</h3> <ul> <li> <p><a href="/misc/goto?guid=4958991593409488326">rabbitmq_trust_store</a> which manages<br /> trusted client x509/TLS certificates</p> </li> <li> <p><a href="/misc/goto?guid=4958991593498847468">rabbitmq_jms_topic_exchange</a> which, together with <a href="/misc/goto?guid=4958991593595635595">RabbitMQ JMS Java client</a>, provides support for the JMS 1.1 API<br /> atop RabbitMQ.</p> </li> </ul> <h3>服务</h3> <p><strong>Bug 修复</strong></p> <ul> <li> <p>(Newly elected) queue master process could terminate immediately after promotion</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991593673611683">rabbitmq-server#812</a></p> </li> <li> <p>Priority queue mirror could fail to synchronize after restart</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991593762780868">rabbitmq-server#687</a></p> </li> <li> <p>Shutdown timeouts for worker processes are now much more reasonable.<br /> Earlier the timeouts were virtually infinite which could lead to a deadlock during node shutdown.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991593856842099">rabbitmq-server#541</a></p> </li> </ul> <p><strong>功能增强</strong></p> <ul> <li> <p><code>systemd</code> support in Debian and RPM packages</p> <p>Contributed by Alexey Lebedeff (Mirantis).</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991593937345930">rabbitmq-server#570</a></p> </li> <li> <p>Debian repository and release artifacts are now signed with a <a href="/misc/goto?guid=4958991594016503546">new 4096-bit OpenGPG key</a></p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594106710235">rabbitmq-server#718</a></p> </li> <li> <p>More resilient <code>worker_pool</code>, particularly important for LDAP plugin users</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594200941214">rabbitmq-server#834</a></p> </li> <li> <p>More efficient file handle management</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594278002482">rabbitmq-server#828</a></p> </li> <li> <p>Test suite ported to Common Test</p> <p>Plugin developers will be encouraged to port their test suites to Common Test<br /> in the future.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594365655765">rabbitmq-server#725</a></p> </li> </ul> <h3>插件管理</h3> <p><strong>功能增强</strong></p> <ul> <li> <p>New API endpoint for reporting ETS tables memory consumption (absolute and relative)</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594451203226">rabbitmq-management#219</a></p> </li> <li> <p>Partial HTTPS support in <code>rabbitmqadmin</code> on Python versions older than <code>2.7.9</code></p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594530857272">rabbitmq-management#225</a></p> </li> </ul> <p><strong>Bug修复</strong></p> <ul> <li> <p>A channel statistics-related memory leak fixed.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594612469563">rabbitmq-management#214</a></p> </li> <li> <p>Stats collectors event queue is now bounded (again)</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594703504537">rabbitmq-management#221</a></p> </li> <li> <p>Stats table name was logged as a tuple</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594789536120">rabbitmq-management#206</a></p> </li> </ul> <h3>.NET客户端</h3> <p><strong>Bug修复</strong></p> <ul> <li> <p>Setting user-provided connection name didn't have an effect.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594878687112">rabbitmq-dotnet-client#187</a></p> </li> <li> <p><code>IConnection#CreateModel</code> could throw a <code>NullPointerException</code> due to a race<br /> condition.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991594970686754">rabbitmq-dotnet-client#185</a></p> </li> <li> <p>Connections with automatic recovery enabled ignored ports from the hostname<br /> list.</p> <p>GitHub issues: <a href="/misc/goto?guid=4958991595052589044">rabbitmq-dotnet-client#157</a>,<br /> <a href="/misc/goto?guid=4958991595137366967">rabbitmq-dotnet-client#190</a></p> </li> <li> <p>Fixes an underflow in delivery tag handling after connection recovery</p> <p>Contributed by <a href="/misc/goto?guid=4958991595231572284">@harishvadali</a> and <a href="/misc/goto?guid=4958991595324195574">@Entroper</a>.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991595408094516">rabbitmq-dotnet-client#200</a></p> </li> </ul> <p><strong>功能增强</strong></p> <ul> <li> <p>New <a href="/misc/goto?guid=4958991595485741956">FAKE</a> and <a href="/misc/goto?guid=4958991595576569712">Paket</a>-based build tooling: development on OS X and Linux with Mono is now<br /> possible again.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991595653315185">rabbitmq-dotnet-client#169</a></p> </li> </ul> <h3>LDAP插件</h3> <p><strong>功能增强</strong></p> <ul> <li> <p>Nested groups are now supported with a separate query type</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991595751575094">rabbitmq-auth-backend-ldap#3</a></p> </li> </ul> <h3>Trust Store插件</h3> <p><strong>Bug修复</strong></p> <ul> <li> <p>Invalid/unparseable certificates no longer prevent other certificates from (re)loading</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991595831526049">rabbitmq-trust-store#27</a></p> </li> </ul> <p><strong>功能增强</strong></p> <ul> <li> <p>The plugin now logs when a certificate is added (loaded) or removed (unloaded)</p> <p>GitHub issue: <a href="/misc/goto?guid=4958991595916689509">rabbitmq-trust-store#28</a></p> </li> </ul> <h2>下载</h2> <ul> <li><a href="/misc/goto?guid=4958991595999128730" rel="nofollow">273 KB<strong>amqp_client-3.6.2.902.ez</strong></a></li> <li><a href="/misc/goto?guid=4958991596094223592" rel="nofollow">836 Bytes<strong>amqp_client-3.6.2.902.ez.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991596184708097" rel="nofollow">164 KB<strong>rabbitmq-dotnet-client-3.6.2.902-dotnet-4.5.zip</strong></a></li> <li><a href="/misc/goto?guid=4958991596277581373" rel="nofollow">836 Bytes<strong>rabbitmq-dotnet-client-3.6.2.902-dotnet-4.5.zip.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991596376410881" rel="nofollow">2.27 MB<strong>rabbitmq-dotnet-client-3.6.2.902.zip</strong></a></li> <li><a href="/misc/goto?guid=4958991596463128934" rel="nofollow">836 Bytes<strong>rabbitmq-dotnet-client-3.6.2.902.zip.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991596555234465" rel="nofollow">1.17 MB<strong>rabbitmq-java-client-bin-3.6.2.902.tar.gz</strong></a></li> <li><a href="/misc/goto?guid=4958991596644412887" rel="nofollow">836 Bytes<strong>rabbitmq-java-client-bin-3.6.2.902.tar.gz.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991596749570338" rel="nofollow">1.17 MB<strong>rabbitmq-java-client-bin-3.6.2.902.zip</strong></a></li> <li><a href="/misc/goto?guid=4958991596831551862" rel="nofollow">836 Bytes<strong>rabbitmq-java-client-bin-3.6.2.902.zip.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991596930462500" rel="nofollow">5.12 MB<strong>rabbitmq-server-3.6.2.902-1.noarch.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958991597022723047" rel="nofollow">836 Bytes<strong>rabbitmq-server-3.6.2.902-1.noarch.rpm.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991597105672467" rel="nofollow">2.89 MB<strong>rabbitmq-server-3.6.2.902-1.src.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958991597199034530" rel="nofollow">836 Bytes<strong>rabbitmq-server-3.6.2.902-1.src.rpm.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991597294720813" rel="nofollow">5.12 MB<strong>rabbitmq-server-3.6.2.902-1.suse.noarch.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958991597386326017" rel="nofollow">836 Bytes<strong>rabbitmq-server-3.6.2.902-1.suse.noarch.rpm.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991597484289177" rel="nofollow">2.89 MB<strong>rabbitmq-server-3.6.2.902-1.suse.src.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958991597567191876" rel="nofollow">836 Bytes<strong>rabbitmq-server-3.6.2.902-1.suse.src.rpm.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991597664968319" rel="nofollow">5.03 MB<strong>rabbitmq-server-3.6.2.902.exe</strong></a></li> <li><a href="/misc/goto?guid=4958991597757342029" rel="nofollow">836 Bytes<strong>rabbitmq-server-3.6.2.902.exe.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991597846828701" rel="nofollow">2.88 MB<strong>rabbitmq-server-3.6.2.902.tar.xz</strong></a></li> <li><a href="/misc/goto?guid=4958991597936441555" rel="nofollow">836 Bytes<strong>rabbitmq-server-3.6.2.902.tar.xz.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991598028538148" rel="nofollow">6.21 MB<strong>rabbitmq-server-3.6.2.902.zip</strong></a></li> <li><a href="/misc/goto?guid=4958991598123896342" rel="nofollow">836 Bytes<strong>rabbitmq-server-3.6.2.902.zip.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991598218064391" rel="nofollow">4.92 MB<strong>rabbitmq-server-generic-unix-3.6.2.902.tar.xz</strong></a></li> <li><a href="/misc/goto?guid=4958991598304903344" rel="nofollow">836 Bytes<strong>rabbitmq-server-generic-unix-3.6.2.902.tar.xz.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991598398027804" rel="nofollow">17.9 MB<strong>rabbitmq-server-mac-standalone-3.6.2.902.tar.xz</strong></a></li> <li><a href="/misc/goto?guid=4958991598490013801" rel="nofollow">836 Bytes<strong>rabbitmq-server-mac-standalone-3.6.2.902.tar.xz.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991598582924718" rel="nofollow">5.16 MB<strong>rabbitmq-server-windows-3.6.2.902.zip</strong></a></li> <li><a href="/misc/goto?guid=4958991598688438386" rel="nofollow">836 Bytes<strong>rabbitmq-server-windows-3.6.2.902.zip.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991598774107189" rel="nofollow">6.9 KB<strong>rabbitmq-server_3.6.2.902-1.debian.tar.gz</strong></a></li> <li><a href="/misc/goto?guid=4958991598864606605" rel="nofollow">836 Bytes<strong>rabbitmq-server_3.6.2.902-1.debian.tar.gz.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991598954691189" rel="nofollow">2 KB<strong>rabbitmq-server_3.6.2.902-1.dsc</strong></a></li> <li><a href="/misc/goto?guid=4958991599042181946" rel="nofollow">836 Bytes<strong>rabbitmq-server_3.6.2.902-1.dsc.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991599135295792" rel="nofollow">5.07 MB<strong>rabbitmq-server_3.6.2.902-1_all.deb</strong></a></li> <li><a href="/misc/goto?guid=4958991599239538772" rel="nofollow">836 Bytes<strong>rabbitmq-server_3.6.2.902-1_all.deb.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991599329516935" rel="nofollow">2.43 KB<strong>rabbitmq-server_3.6.2.902-1_i386.changes</strong></a></li> <li><a href="/misc/goto?guid=4958991599422411118" rel="nofollow">836 Bytes<strong>rabbitmq-server_3.6.2.902-1_i386.changes.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991599514505476" rel="nofollow">2.88 MB<strong>rabbitmq-server_3.6.2.902.orig.tar.xz</strong></a></li> <li><a href="/misc/goto?guid=4958991599604876358" rel="nofollow">836 Bytes<strong>rabbitmq-server_3.6.2.902.orig.tar.xz.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991599705915706" rel="nofollow">675 KB<strong>rabbit_common-3.6.2.902.ez</strong></a></li> <li><a href="/misc/goto?guid=4958991599789515408" rel="nofollow">836 Bytes<strong>rabbit_common-3.6.2.902.ez.asc</strong></a></li> <li><a href="/misc/goto?guid=4958991599896085224" rel="nofollow"><strong>Source code</strong> (zip)</a></li> <li><a href="/misc/goto?guid=4958991599975510716" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li> </ul>