跳至主内容

RabbitMQ 3.0 的新特性是什么?

·3 分钟阅读
Simon MacMullen

我们已经讨论了 RabbitMQ 3.0 如何会“搞砸”一些东西,但这并不积极。让我们来看看一些新功能!仅仅是其中的一部分——3.0 版本有很多改变,而我们没有一整天的时间……

基于策略的镜像

现在,您可以以更简单、更灵活的方式定义队列镜像。您的应用程序不再需要了解它,并且可以在开发和生产环境中以相同的方式工作。您可以将现有的未镜像队列变为镜像队列,且不会有任何停机时间(反之亦然)。此外,您现在可以将队列镜像到集群中的指定数量的节点。

更快的镜像

镜像队列的速度也大大提高——虽然性能的提升取决于多种因素,但镜像队列的速度提升一个数量级甚至更多的情况并不少见。

动态联合

联合也变得更加灵活、对应用程序透明且动态。您可以随时联合或取消联合交换器;并且可以在不更改任何内容的情况下添加、删除和重新配置上游。

新的集群命令

现在设置集群更加容易,并且在过程的每个步骤中都会执行更多的集群一致性检查。现在还可以从集群中移除一个失效的节点,而无需其配合。

分区检测

集群中的网络分区是一件坏事——因此,当发生分区时,RabbitMQ 现在会在管理插件中显示一个大的警告(这在 rabbitmqctl cluster\_status 中也可用)。

每条消息的 TTL

除了能够按队列设置消息的 TTL 外,单个消息在发布时也可以设置 TTL

默认启用心跳

鉴于许多用户在使用长时间空闲连接时遇到了被网络基础设施中断的问题,服务器现在在连接协商期间默认每 10 分钟提议一次 AMQP 心跳。此值可以在此处配置

内存使用统计

现在可以简单地概览您代理程序内存的使用去向

后台 GC

某些长时间运行的进程在等待垃圾回收时消耗了大量内存。RabbitMQ 现在会在后台强制对空闲进程进行 GC,从而减少过多的内存使用。

反向 DNS 查询

这只是一个小改进——但您现在可以让 RabbitMQ 对连接的客户端执行反向 DNS 查询,以便在管理插件和 rabbitmqctl 中显示更清晰的名称。只需在您的rabbitmq.config 中设置 {reverse\_dns\_lookups, true} 即可。

Web-STOMP 和 MQTT

我们添加了插件来支持STOMP-over-websockets(对非 websocket 浏览器支持 SockJS)和MQTT 3.1。我们还添加了对STOMP 1.2 的支持。

© . This site is unofficial and not affiliated with VMware.