RabbitMQ亚武学习

Rabbitmq打怪升级之路(三)简介与架构流程

2019-06-25  本文已影响0人  亚武de小文

简书:亚武de小文 【原创:转载请注明出处】

Rabbitmq简介与架构流程

LengToo上学.png

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。


应用场景
AMQP概念

AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有 RabbitMQ等。
详见:RabbitMQ打怪升级之路(五)AMQP协议介绍

JMS概念

JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。


主要特性
1、可靠性 :

RabbitMQ 使用一些机制来保证可靠性 , 如持久化、传输确认及发布确认等。

2、灵活的路由 :

在消息进入队列之前,通过交换器来路由消息。对于典型的路由功能,RabbitMQ 己经提供了一些内置的交换器来实现。针对更复杂的路由功能,可以将多个交换器绑定在一起, 也可以通过插件机制来实现自己的交换器。

3、扩展性 :

多个 RabbitMQ 节点可以组成一个集群,也可以根据实际业务情况动态地扩展集群中节点。

4、高可用性 :

队列可以在集群中的机器上设置镜像,使得在部分节点出现问题的情况下队列仍然可用。

5、多种协议 :

RabbitMQ 除了原生支持 AMQP 协议,还支持 STOMP , MQTT 等多种消息中间件协议。

6、多语言客户端 :

Rabbitmq几乎支持所有常用语言,比如 Java、 Python 、 Ruby、 PHP 、C# 、 JavaScript 等。

7、管理界面 :

RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息、集群中的节点等。

8、插件机制:

RabbitMQ 提供了许多插件 , 以实现从多方面进行扩展,当然也可以编写自己的插件。


架构图及名词解释
RabbitMQ架构图.jpg
消息发布接收流程:
上一篇 下一篇

猜你喜欢

热点阅读