RabbitMQ系列—RabbitMQ介绍

来源:互联网 发布:区域分割算法优缺点 编辑:程序博客网 时间:2024/05/20 19:29

下面我们来看看RabbitMQ官网上对这款消息中间件软件的特性介绍:

1、Reliability(可靠性)

RabbitMQ offers a variety of features to let you trade off performance with reliability, including persistence, delivery acknowledgements, publisher confirms, and high availability.

RabbitMQ支持消息持久化、消息重试操作(比ActiveMQ的相关功能还要强大)、消息回执确认规则、消息生产者发送确认机制(实际上是消息生产者端的一种事务机制)和高可用性HA(多节点热备方案)等特性来提供RabbitMQ服务的高可靠性。

2、Flexible Routing(灵活的路由规则)

Messages are routed through exchanges before arriving at queues. RabbitMQ features several built-in exchange types for typical routing logic. For more complex routing you can bind exchanges together or even write your own exchange type as a plugin.

这就是我们提到的RabbitMQ所支持的一套特有的Routing-Exchange消息路由规则。一定注意这套规则不是AMQP协议规范提供的。

3、Clustering(RabbitMQ服务集群)

Several RabbitMQ servers on a local network can be clustered together, forming a single logical broker。

RabbitMQ服务集群主要解决的问题是单个RabbitMQ服务节点的性能瓶颈。

4、Plugin System & Federation(支持第三方插件模块,其中RabbitMQ Federation [插件]需要特别说明)

RabbitMQ ships with a variety of plugins extending it in different ways, and you can also write your own.

For servers that need to be more loosely and unreliably connected than clustering allows, RabbitMQ offers a federation model.

RabbitMQ支持第三方扩展插件,在RabbitMQ的官网上(http://www.rabbitmq.com/plugins.html)列举了各种由RabbitMQ官方开发的插件,以及实验性质的插件,包括(但不限于):rabbitmq_federation、rabbitmq_management、rabbitmq_mqtt、rabbitmq_stomp、rabbitmq_tracing等等。您还可以按照RabbitMQ提供的插件规范,开发您自己的RabbitMQ-Plugins。特别说明一下rabbitmq_federation 插件:这个插件允许您在多个RabbitMQ Clusters之间传递消息。

5、Multi-protocol(多协议支持)

RabbitMQ supports messaging over a variety of messaging protocols.

RabbitMQ完整支持多种消息协议,包括:AMQP(默认使用该协议)、STOMP、MQTT、HTTP。其中一些协议要安装相应的插件进行支持,例如rabbitmq_stomp插件。

6、Many Clients(多客户端/多语言支持)

There are RabbitMQ clients for almost any language you can think of.

您可以想到的各种编程语言都可以作为RabbitMQ的客户端进行连接,包括(但不限于):Java 、.NET 、Ruby、 Python 、PHP、 JavaScript、Scala、Groovy……

7、Tracing(消息追溯)

If your messaging system is misbehaving, RabbitMQ offers tracing support to let you find out what’s going on.

如果您发现发送给RabbitMQ的消息存在异常(如发送到了错误的队列中,发送给了错误的订阅者等等),RabbitMQ提供了消息处理过程追溯功能,以便帮助开发人员分析错误原因。

原创粉丝点击