后台更新的内容在网站上不显示,网站备案回访问题,鲜花网站开发,多用户网站制作1.RabbitMQ是一个由erlang开发的AMQP#xff08;Advanced Message Queue #xff09;的开源实现。 RabbitMQ的优势-: 除了Qpid#xff0c;RabbitMQ是唯一一个实现了AMQP标准的消息服务器#xff1b; 可靠性#xff0c;RabbitMQ的持久化支持#xff0c;保证了消息的稳定性…1.RabbitMQ是一个由erlang开发的AMQPAdvanced Message Queue 的开源实现。 RabbitMQ的优势-: 除了QpidRabbitMQ是唯一一个实现了AMQP标准的消息服务器 可靠性RabbitMQ的持久化支持保证了消息的稳定性 高并发RabbitMQ使用了Erlang开发语言Erlang是为电话交换机开发的语言天生自带高并发光环和高可用特性 集群部署简单正是应为Erlang使得RabbitMQ集群部署变的超级简单 社区活跃度高根据网上资料来看RabbitMQ也是首选 2.RabbitMQ系统最核心的组件是Exchange(交换机)和Queue(队列) 工作机制-- 生产者、消费者和代理 生产者消息的创建者负责创建和推送数据到消息服务器 消费者消息的接收方用于处理数据和确认消息 代理就是RabbitMQ本身用于扮演“快递”的角色本身不生产消息只是扮演“快递”的角色。 3.AMQP协议 AMQP协议是一个二进制协议拥有一些现代特点多信道、协商式、异步、安全、跨平台、中立、高效。 AMQP通常被划分为三层 模型层定义了一套命令按功能分类客户端应用可以利用这些命令来实现它的业务功能。 会话层负责将命令从客户端应用传递给服务器再将服务器的应答传递给客户端应用会话层为这个传递过程提供可靠性、同步机制和错误处理。 传输层提供帧处理、信道复用、错误检测和数据表示。 实现者可以将传输层替换成任意传输协议只要不改变AMQP协议中与客户端应用程序相关的功能。实现者还可以使用其他高层协议中的会话层。 4.AMQP功能 存储转发多个消息发送者单个消息接收者。 分布式事务多个消息发送者多个消息接收者。 发布订阅多个消息发送者多个消息接收者。 基于内容的路由多个消息发送者多个消息接收者。 文件传输队列多个消息发送者多个消息接收者。 点对点连接单个消息发送者单个消息接收者。 5.AMQP术语 AMQP模型AMQP Model一个由关键实体和语义表示的逻辑框架遵从AMQP规范的服务器必须提供这些实体和语义。为了实现本规范中定义的语义客户端可以发送命令来控制AMQP服务器。 连接Connection一个网络连接比如TCP/IP套接字连接。 会话Session端点之间的命名对话。在一个会话上下文中保证“恰好传递一次”。 信道Channel多路复用连接中的一条独立的双向数据流通道。为会话提供物理传输介质。 客户端ClientAMQP连接或者会话的发起者。AMQP是非对称的客户端生产和消费消息服务器存储和路由这些消息。 服务器Server接受客户端连接实现AMQP消息队列和路由功能的进程。也称为“消息代理”。 端点PeerAMQP对话的任意一方。一个AMQP连接包括两个端点一个是客户端一个是服务器。 搭档Partner当描述两个端点之间的交互过程时使用术语“搭档”来表示“另一个”端点的简记法。比如我们定义端点A和端点B当它们进行通信时端点B是端点A的搭档端点A是端点B的搭档。 片段集Assembly段的有序集合形成一个逻辑工作单元。 段Segment帧的有序集合形成片段集中一个完整子单元。 帧FrameAMQP传输的一个原子单元。一个帧是一个段中的任意分片。 控制Control单向指令AMQP规范假设这些指令的传输是不可靠的。 命令Command需要确认的指令AMQP规范规定这些指令的传输是可靠的。 异常Exception在执行一个或者多个命令时可能发生的错误状态。 类Class一批用来描述某种特定功能的AMQP命令或者控制。 消息头Header描述消息数据属性的一种特殊段。 消息体Body包含应用程序数据的一种特殊段。消息体段对于服务器来说完全不透明——服务器不能查看或者修改消息体。 消息内容Content包含在消息体段中的的消息数据。 交换器Exchange服务器中的实体用来接收生产者发送的消息并将这些消息路由给服务器中的队列。 交换器类型Exchange Type基于不同路由语义的交换器类。 消息队列Message Queue一个命名实体用来保存消息直到发送给消费者。 绑定器Binding消息队列和交换器之间的关联。 绑定器关键字Binding Key绑定的名称。一些交换器类型可能使用这个名称作为定义绑定器路由行为的模式。 路由关键字Routing Key一个消息头交换器可以用这个消息头决定如何路由某条消息。 持久存储Durable一种服务器资源当服务器重启时保存的消息数据不会丢失。 临时存储Transient一种服务器资源当服务器重启时保存的消息数据会丢失。 持久化Persistent服务器将消息保存在可靠磁盘存储中当服务器重启时消息不会丢失。 非持久化Non-Persistent服务器将消息保存在内存中当服务器重启时消息可能丢失。 消费者Consumer一个从消息队列中请求消息的客户端应用程序。 生产者Producer一个向交换器发布消息的客户端应用程序。 虚拟主机Virtual Host一批交换器、消息队列和相关对象。虚拟主机是共享相同的身份认证和加密环境的独立服务器域。客户端应用程序在登录到服务器之后可以选择一个虚拟主机。 6.示意图 转载于:https://www.cnblogs.com/MingQiu/p/10254710.html