RabbitMQ v3_6_6_rc1 发布,AMQP消息服务器

jopen 8年前
   <p style="text-align: center;"><strong><img alt="" src="https://simg.open-open.com/show/03379414b3572debc448e04f087c61aa.jpg" /></strong></p>    <p> </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;"><a href="https://simg.open-open.com/show/19415a1a9b5dc387fd8324f77163bd3a.jpg"><img alt="" src="https://simg.open-open.com/show/19415a1a9b5dc387fd8324f77163bd3a.jpg" /></a></p>    <h2>更新日志</h2>    <p>Bug 修复</p>    <ul>     <li> <p>Changing queue mode to <code>lazy</code> could block queue process in certain circumstances.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993444899505199">rabbitmq-server#850</a></p> </li>     <li> <p>Mirroring implementation didn't handle certain internal protocol messages arriving<br /> out of order.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993445028897419">rabbitmq-server#922</a></p> </li>     <li> <p>Mirror set changes weren't handled gracefully in certain circumstances (e.g. in the middle of a mirror promotion).</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993445140193427">rabbitmq-server#914</a></p> </li>     <li> <p>Mirrored queue could terminate after promotion if HA policy was reapplied during sync.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993641879498995">rabbitmq-server#803</a></p> </li>     <li> <p>Autoheal partition handling mode could run into a multi-node deadlock.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993641989021707">rabbitmq-server#928</a></p> </li>     <li> <p>Queue mirror group membership now correctly handles certain partial partition cases.</p> <p>GitHub issues: <a href="/misc/goto?guid=4958994323261515010">rabbitmq-server#950</a>,<br /> <a href="/misc/goto?guid=4958994323364367946">rabbitmq-server#953</a></p> </li>     <li> <p>Eager queue sync will now stop as soon as a mirror shutdown/unavailability is detected.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994323454783606">rabbitmq-server#975</a></p> </li>     <li> <p>Lazy queues now trigger runtime GC significantly less frequently, making moving data<br /> to the message store more efficient.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994323545656651">rabbitmq-server#973</a></p> </li>     <li> <p>Mirroring policies now respect the <code>nodes</code> parameter when re-electing a master.</p> <p>GitHub issue:</p> </li>     <li> <p>After a partial network partitions, nodes with newly elected masters will now be more defensive<br /> about the (no longer relevant) policy change notifications.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994714741255030">rabbitmq-server#1007</a></p> </li>     <li> <p>Late responses from peers in certain partial network partition scenarios are now<br /> ignored by channels.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994714853005558">rabbitmq-server#1005</a></p> </li>     <li> <p>After a partial network partitions, nodes with newly elected masters will now be more defensive<br /> about the (no longer relevant) synchronization start requests.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994714953623597">rabbitmq-server#1006</a></p> </li>     <li> <p>Network partition triggered late and duplicate acknowledgements are now ignored/filterd out<br /> by queue master processes.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994715043727754">rabbitmq-server#960</a></p> </li>     <li> <p><code>rabbitmqctl</code> and server startup could be affected by some DNS configurations.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993445280395681">rabbitmq-server#890</a></p> </li>     <li> <p>RPM package was split into two: for CentOS 6 and 7. The latter includes systemd support.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993564388633710">rabbitmq-server#932</a></p> </li>     <li> <p>Workaround for Erlang/OTP bug OTP-13425 where crash dump generation failed on UNIX<br /> platforms.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994323699081508">rabbitmq-server#956</a></p> </li>    </ul>    <p>Enhancements</p>    <ul>     <li> <p>Inter-node traffic buffer increased to 32 MB by default, configurable with<code>RABBITMQ_DISTRIBUTION_BUFFER_SIZE</code> (in kilobytes).</p> <p>This improves network bandwidth utilization for inter-node traffic and reduces the probability<br /> of spurious network partitions due to latency spikes caused by the buffer being full.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994323792027677">rabbitmq-server#908</a></p> </li>     <li> <p>Default flow control settings were increased to <code>{200, 100}</code>. This helps with consumer throughput<br /> in some cases. The value still can be configured using the <code>rabbit.credit_flow_default_credit</code>setting.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994323882420601">rabbitmq-server#949</a></p> </li>     <li> <p><code>rabbitmqctl list_queues</code> now has more filtering options.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993564515660717">rabbitmq-server#851</a></p> </li>     <li> <p><code>RABBITMQ_IGNORE_SIGINT</code> is a new environment variable that lets the user disable the<br /> <code>+B</code> VM flag that is known to have issues in Erlang 18.x series (prevents crash dumps from being produced).</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994323699081508">rabbitmq-server#956</a></p> </li>     <li> <p>The <code>pg2_fixed</code> module is now replaced by the standard <code>pg2</code> from a newer Erlang/OTP release.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994324021174613">rabbitmq-server#980</a></p> </li>    </ul>    <h3>MQTT插件</h3>    <p>Bug 修复</p>    <ul>     <li> <p>Authentication with correct username but omitted password succeeded when TLS/x509<br /> certificate wasn't provided by the client.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993564630020229">rabbitmq-mqtt#96</a></p> </li>    </ul>    <h3>JMS主题Exchange插件</h3>    <p>Bug Fixes</p>    <ul>     <li> <p>The plugin no longer tries to check if JMS client's version is identical/compatible.<br /> This prevented certain legitimate use cases, such as exchange declaration over HTTP API, to fail.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994324142815132">rabbitmq-jms-topic-exchange#9</a></p> </li>    </ul>    <h3>Java客户端</h3>    <p>Bug Fixes</p>    <ul>     <li> <p>Fixed a NPE that can occur when a thread attempts to create a new channel after a connection<br /> has been recovered but before channel recovery has completed.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994715463754870">rabbitmq-java-client#197</a></p> <p>Contributed by Michael Dent.</p> </li>     <li> <p>Binding cache entries of auto-delete queues should be cleaned up when the last consumer is cancelled.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994715544785178">rabbitmq-java-client#199</a></p> <p>Contributed by Michael Dent.</p> </li>     <li> <p>When a channel is closed, consumers will be correctly cleaned up from AutorecoveringConnection cache.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994715636500824">rabbitmq-java-client#208</a></p> </li>    </ul>    <p>Enhancements</p>    <ul>     <li> <p><code>com.rabbitmq.client.AddressResolver</code> is a new interface that can be used to "expand"<br /> endpoints into groups of IP addresses, e.g. to a list of IP addresses resolved from a DNS<br /> record.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993564746389464">rabbitmq-java-client#153</a></p> </li>     <li> <p>Building on the new <code>AddressResolver</code> interface, the client now includes a resolver<br /> that uses DNS SVR records to discover endpoints.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993564862415529">rabbitmq-java-client#104</a></p> </li>     <li> <p><code>com.rabbitmq.client.BuiltinExchangeType</code> is an enum that contains built-in exchange types.</p> <p>GitHub issue: <a href="/misc/goto?guid=4958993564976255171">rabbitmq-java-client#150</a></p> </li>    </ul>    <h3>联合插件</h3>    <p>Enhancements</p>    <ul>     <li> <p>Federation links now specify a name which makes them easier to tell from other connections<br /> in the management UI (requires RabbitMQ 3.6.3+).</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994715823915975">rabbitmq-federation#39</a></p> </li>    </ul>    <h3>Shovel Plugin</h3>    <p>Enhancements</p>    <ul>     <li> <p>Shovel connections now specify a name which makes them easier to tell from other connections<br /> in the management UI (requires RabbitMQ 3.6.3+).</p> <p>GitHub issue: <a href="/misc/goto?guid=4958994715921504548">rabbitmq-shovel#19</a></p> </li>    </ul>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4958994716028720613" rel="nofollow"><strong>amqp-client-3.6.6-SNAPSHOT.jar</strong></a></li>     <li><a href="/misc/goto?guid=4958994716123622142" rel="nofollow"><strong>amqp-client-3.6.6-SNAPSHOT.jar.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994716218799557" rel="nofollow"><strong>amqp_client-3.6.5.906.ez</strong></a></li>     <li><a href="/misc/goto?guid=4958994716309967347" rel="nofollow"><strong>amqp_client-3.6.5.906.ez.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994716401379296" rel="nofollow"><strong>rabbitmq-dotnet-client-3.6.5.906-dotnet-4.5.zip</strong></a></li>     <li><a href="/misc/goto?guid=4958994716502163091" rel="nofollow"><strong>rabbitmq-dotnet-client-3.6.5.906-dotnet-4.5.zip.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994716603998151" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.el6.noarch.rpm</strong></a></li>     <li><a href="/misc/goto?guid=4958994716693455179" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.el6.noarch.rpm.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994716789090207" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.el6.src.rpm</strong></a></li>     <li><a href="/misc/goto?guid=4958994716886478392" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.el6.src.rpm.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994716982597440" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.el7.noarch.rpm</strong></a></li>     <li><a href="/misc/goto?guid=4958994717072660881" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.el7.noarch.rpm.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994717169837456" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.el7.src.rpm</strong></a></li>     <li><a href="/misc/goto?guid=4958994717263438436" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.el7.src.rpm.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994717362075957" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.suse.noarch.rpm</strong></a></li>     <li><a href="/misc/goto?guid=4958994717453676244" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.suse.noarch.rpm.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994717533356602" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.suse.src.rpm</strong></a></li>     <li><a href="/misc/goto?guid=4958994717637635679" rel="nofollow"><strong>rabbitmq-server-3.6.5.906-1.suse.src.rpm.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994717762386382" rel="nofollow"><strong>rabbitmq-server-3.6.5.906.exe</strong></a></li>     <li><a href="/misc/goto?guid=4958994717879565335" rel="nofollow"><strong>rabbitmq-server-3.6.5.906.exe.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994717991752241" rel="nofollow"><strong>rabbitmq-server-3.6.5.906.tar.xz</strong></a></li>     <li><a href="/misc/goto?guid=4958994718085468228" rel="nofollow"><strong>rabbitmq-server-3.6.5.906.tar.xz.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994718193228022" rel="nofollow"><strong>rabbitmq-server-3.6.5.906.zip</strong></a></li>     <li><a href="/misc/goto?guid=4958994718293895600" rel="nofollow"><strong>rabbitmq-server-3.6.5.906.zip.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994718384104567" rel="nofollow"><strong>rabbitmq-server-generic-unix-3.6.5.906.tar.xz</strong></a></li>     <li><a href="/misc/goto?guid=4958994718472123439" rel="nofollow"><strong>rabbitmq-server-generic-unix-3.6.5.906.tar.xz.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994718559776856" rel="nofollow"><strong>rabbitmq-server-mac-standalone-3.6.5.906.tar.xz</strong></a></li>     <li><a href="/misc/goto?guid=4958994718641850947" rel="nofollow"><strong>rabbitmq-server-mac-standalone-3.6.5.906.tar.xz.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994718724857384" rel="nofollow"><strong>rabbitmq-server-windows-3.6.5.906.zip</strong></a></li>     <li><a href="/misc/goto?guid=4958994718807903466" rel="nofollow"><strong>rabbitmq-server-windows-3.6.5.906.zip.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994718882705357" rel="nofollow"><strong>rabbitmq-server_3.6.5.906-1.debian.tar.gz</strong></a></li>     <li><a href="/misc/goto?guid=4958994718967694887" rel="nofollow"><strong>rabbitmq-server_3.6.5.906-1.debian.tar.gz.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994719056041626" rel="nofollow"><strong>rabbitmq-server_3.6.5.906-1.dsc</strong></a></li>     <li><a href="/misc/goto?guid=4958994719126019476" rel="nofollow"><strong>rabbitmq-server_3.6.5.906-1.dsc.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994719240562764" rel="nofollow"><strong>rabbitmq-server_3.6.5.906-1_all.deb</strong></a></li>     <li><a href="/misc/goto?guid=4958994719352358818" rel="nofollow"><strong>rabbitmq-server_3.6.5.906-1_all.deb.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994719481382169" rel="nofollow"><strong>rabbitmq-server_3.6.5.906-1_i386.changes</strong></a></li>     <li><a href="/misc/goto?guid=4958994719602263044" rel="nofollow"><strong>rabbitmq-server_3.6.5.906-1_i386.changes.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994719708817530" rel="nofollow"><strong>rabbitmq-server_3.6.5.906.orig.tar.xz</strong></a></li>     <li><a href="/misc/goto?guid=4958994719824452522" rel="nofollow"><strong>rabbitmq-server_3.6.5.906.orig.tar.xz.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994719939631810" rel="nofollow"><strong>rabbit_common-3.6.5.906.ez</strong></a></li>     <li><a href="/misc/goto?guid=4958994720070234664" rel="nofollow"><strong>rabbit_common-3.6.5.906.ez.asc</strong></a></li>     <li><a href="/misc/goto?guid=4958994720186253455" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958994720308343994" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>    </ul>    <p>本站原创,转载时保留以下信息:<br /> 本文转自:深度开源(open-open.com)<br /> 原文地址:<a href="http://www.open-open.com/news/view/5c954644">http://www.open-open.com/news/view/5c954644</a></p>