消息队列——rabbitmq——简介与核心概念

目录

一、Rabbitmq简介:

二、Rabbitmq核心概念:


一、Rabbitmq简介:

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。

AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

二、Rabbitmq核心概念:

Server:又称Broker(实体服务) 接收客户端的连接。实现AMQP实体服务。

Connection:连接,应用程序与Broker的网络连接。

Channel :网络信道,几乎所有的操作都在Chanel中进行,Channel是进行消息读写的通道。客户端可建立多个Channel,每个Channel代表一个会话任务。

Message:消息,服务器和应用程序之间传送的数据,由Properties和Body组成。Properties可以对消息进行修饰,比如消息的优先级,延迟等高级特性;Body则就是消息体内容。

Virtual host:虚拟地址,用于进行逻辑隔离,最上层的消息路由。一个。Virtual host里面可以有若干个Exchange和Queue,同一个Virtual host里面不能有相同名称的Exchange或Queue(用于隔离不同的项目和应用的)。

Exchange:交换机,接收消息,根据路由键转发消息到绑定的队列。

Binding:Exchange和Queue之间的虚拟连接,binding中可以包含routing key。

Routing key:一个路由规则,虚拟机可用它来确定如何路由一个特定消息。

Queue:也称为Message Queue,消息队列,保存消息并将它们转发给消费者,消费者直接监听队列就能收到消息了。

元数据:指exchange、queue、binding、user、policy等数据。内存节点将元数据保存在内存中。磁盘节点将元数据保存在磁盘中。

消息数据:就是指消息。内存节点、磁盘节点默认都不会持久化消息数据。需要生产者在发送消息的时候指定消息为持久化,并且在指定消息持久化之前,必须先确定exchange、queue都是持久化才可以。

发布了131 篇原创文章 · 获赞 23 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/LSY_CSDN_/article/details/103836124