RabbitMQ 3.6.6 Milestone 5 发布,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> <p> </p> <h2>更新日志</h2> <h3>Bug 修复</h3> <ul> <li>Changing queue mode to <code>lazy</code> could block queue process in certain circumstances.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958993444899505199">rabbitmq-server#850</a></li> <li>Mirroring implementation didn't handle certain internal protocol messages arriving out of order.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958993445028897419">rabbitmq-server#922</a></li> <li>Mirror set changes weren't handled gracefully in certain circumstances (e.g. in the middle of a mirror promotion).</li> <li>GitHub issue: <a href="/misc/goto?guid=4958993445140193427">rabbitmq-server#914</a></li> <li>Mirrored queue could terminate after promotion if HA policy was reapplied during sync </li> <li>GitHub issue: <a href="/misc/goto?guid=4958993641879498995">rabbitmq-server#803</a></li> <li>Autoheal partition handling mode could run into a multi-node deadlock</li> <li>GitHub issue: <a href="/misc/goto?guid=4958993641989021707">rabbitmq-server/issues/928</a></li> <li>Queue mirror group membership now correctly handles certain partial partition cases.</li> <li>GitHub issues: <a href="/misc/goto?guid=4958994323261515010">rabbitmq-server#950</a>,</li> <li><a href="/misc/goto?guid=4958994323364367946">rabbitmq-server#953</a></li> <li>Eager queue sync will now stop as soon as a mirror shutdown/unavailability is detected.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958994323454783606">rabbitmq-server#975</a></li> <li>Lazy queues now trigger runtime GC significantly less frequently, making moving data to the message store more efficient.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958994323545656651">rabbitmq-server#973</a></li> <li><code>rabbitmqctl</code> and server startup could be affected by some DNS configurations.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958993445280395681">rabbitmq-server#890</a></li> <li>RPM package was split into two: for CentOS 6 and 7. The latter includes systemd support.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958993564388633710">rabbitmq-server#932</a></li> <li>Workaround for Erlang/OTP bug OTP-13425 where crash dump generation failed on UNIX platforms.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958994323699081508">rabbitmq-server#956</a></li> </ul> <h3>增强功能</h3> <ul> <li>Inter-node traffic buffer increased to 32 MB by default, configurable with<code>RABBITMQ_DISTRIBUTION_BUFFER_SIZE</code> (in kilobytes).</li> <li>This improves network bandwidth utilization for inter-node traffic and reduces the probability of spurious network partitions due to latency spikes caused by the buffer being full.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958994323792027677">rabbitmq-server#908</a></li> <li>Default flow control settings were increased to <code>{200, 100}</code>. This helps with consumer throughput in some cases. The value still can be configured using the <code>rabbit.credit_flow_default_credit</code>setting.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958994323882420601">rabbitmq-server#949</a></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><code>RABBITMQ_IGNORE_SIGINT</code> is a new environment variable that lets the user disable the <code>+B</code> VM flag that is known to have issues in Erlang 18.x series (prevents crash dumps from being produced).</li> <li>GitHub issue: <a href="/misc/goto?guid=4958994323699081508">rabbitmq-server#956</a></li> <li>The <code>pg2_fixed</code> module is now replaced by the standard <code>pg2</code> from a newer Erlang/OTP release.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958994324021174613">rabbitmq-server#980</a></li> </ul> <h3>MQTT插件</h3> <p>Bug 修复</p> <ul> <li>Authentication with correct username but omitted password succeeded when TLS/x509 certificate wasn't provided by the client.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958993564630020229">rabbitmq-mqtt#96</a></li> </ul> <h3>JMS Topic Exchange Plugin</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>增强功能</p> <ul> <li><code>com.rabbitmq.client.AddressResolver</code> is a new interface that can be used to "expand" endpoints into groups of IP addresses, e.g. to a list of IP addresses resolved from a DNS record.</li> <li>GitHub issue: <a href="/misc/goto?guid=4958993564746389464">rabbitmq-java-client#153</a></li> <li> <p>Building on the new <code>AddressResolver</code> interface, the client now includes a resolver 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> <h2>下载</h2> <ul> <li><a href="/misc/goto?guid=4958994324331408177" rel="nofollow"><strong>amqp-client-3.6.6-SNAPSHOT.jar</strong></a></li> <li><a href="/misc/goto?guid=4958994324420526047" rel="nofollow"><strong>amqp_client-3.6.5.905.ez</strong></a></li> <li><a href="/misc/goto?guid=4958994324514985646" rel="nofollow"><strong>rabbitmq-dotnet-client-3.6.5.905-dotnet-4.5.zip</strong></a></li> <li><a href="/misc/goto?guid=4958994324605935761" rel="nofollow"><strong>rabbitmq-server-3.6.5.905-1.el6.noarch.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958994324716362986" rel="nofollow"><strong>rabbitmq-server-3.6.5.905-1.el6.src.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958994324802223534" rel="nofollow"><strong>rabbitmq-server-3.6.5.905-1.el7.noarch.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958994324898408078" rel="nofollow"><strong>rabbitmq-server-3.6.5.905-1.el7.src.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958994324989498747" rel="nofollow"><strong>rabbitmq-server-3.6.5.905-1.suse.noarch.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958994325120560927" rel="nofollow"><strong>rabbitmq-server-3.6.5.905-1.suse.src.rpm</strong></a></li> <li><a href="/misc/goto?guid=4958994325236401660" rel="nofollow"><strong>rabbitmq-server-3.6.5.905.exe</strong></a></li> <li><a href="/misc/goto?guid=4958994325357549749" rel="nofollow"><strong>rabbitmq-server-3.6.5.905.tar.xz</strong></a></li> <li><a href="/misc/goto?guid=4958994325468624581" rel="nofollow"><strong>rabbitmq-server-3.6.5.905.zip</strong></a></li> <li><a href="/misc/goto?guid=4958994325574354875" rel="nofollow"><strong>rabbitmq-server-generic-unix-3.6.5.905.tar.xz</strong></a></li> <li><a href="/misc/goto?guid=4958994325690584995" rel="nofollow"><strong>rabbitmq-server-mac-standalone-3.6.5.905.tar.xz</strong></a></li> <li><a href="/misc/goto?guid=4958994325785483413" rel="nofollow"><strong>rabbitmq-server-windows-3.6.5.905.zip</strong></a></li> <li><a href="/misc/goto?guid=4958994325881468482" rel="nofollow"><strong>rabbitmq-server_3.6.5.905-1.debian.tar.gz</strong></a></li> <li><a href="/misc/goto?guid=4958994325975889969" rel="nofollow"><strong>rabbitmq-server_3.6.5.905-1.dsc</strong></a></li> <li><a href="/misc/goto?guid=4958994326061150548" rel="nofollow"><strong>rabbitmq-server_3.6.5.905-1_all.deb</strong></a></li> <li><a href="/misc/goto?guid=4958994326150360154" rel="nofollow"><strong>rabbitmq-server_3.6.5.905-1_i386.changes</strong></a></li> <li><a href="/misc/goto?guid=4958994326238382826" rel="nofollow"><strong>rabbitmq-server_3.6.5.905.orig.tar.xz</strong></a></li> <li><a href="/misc/goto?guid=4958994326325466950" rel="nofollow"><strong>rabbit_common-3.6.5.905.ez</strong></a></li> <li><a href="/misc/goto?guid=4958994326398183367" rel="nofollow"><strong>Source code</strong> (zip)</a></li> <li><a href="/misc/goto?guid=4958994326484545030" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li> </ul> <p> </p> <p>本站原创,转载时保留以下信息:<br /> 本文转自:深度开源(open-open.com)<br /> 原文地址:<a href="http://www.open-open.com/news/view/28017ba4">http://www.open-open.com/news/view/28017ba4</a></p>