企业营销系统和网站建设,qq小程序游戏入口,wordpress最新教程,网站建设和管理培训1、介绍 RabbitMQ是一个由erlang开发的基于AMQP#xff08;Advanced Message Queue #xff09;协议的开源实现。用于在分布式系统中存储转发消息#xff0c;在易用性、扩展性、高可用性等方面都非常的优秀。是当前最主流的消息中间件之一。 RabbitMQ的官网#xff1a;http… 1、介绍 RabbitMQ是一个由erlang开发的基于AMQPAdvanced Message Queue 协议的开源实现。用于在分布式系统中存储转发消息在易用性、扩展性、高可用性等方面都非常的优秀。是当前最主流的消息中间件之一。 RabbitMQ的官网http://www.rabbitmq.com 2、AMQP AMQP是应用层协议的一个开放标准为面向消息的中间件设计。消息中间件主要用于组件之间的解耦消息的发送者无需知道消息使用者的存在同样消息使用者也不用知道发送者的存在。AMQP的主要特征是面向消息、队列、路由包括点对点和发布/订阅、可靠性、安全。 3、系统架构 消息队列的使用过程大概如下 1客户端连接到消息队列服务器打开一个channel。 2客户端声明一个exchange并设置相关属性。 3客户端声明一个queue并设置相关属性。 4客户端使用routing key在exchange和queue之间建立好绑定关系。 5 客户端投递消息到exchange。exchange接收到消息后就根据消息的key和已经设置的binding进行消息路由将消息投递到一个或多个队列里。 如下图所示AMQP 里主要要说两个组件Exchange 和 Queue 绿色的 X 就是 Exchange 红色的是 Queue 这两者都在 Server 端又称作 Broker 这部分是 RabbitMQ 实现的而蓝色的则是客户端通常有 Producer 和 Consumer 两种类型。 4、几个概念 P 为Producer数据的发送方。 C为Consumer数据的接收方。 Exchange消息交换机它指定消息按什么规则路由到哪个队列。 Queue消息队列载体每个消息都会被投入到一个或多个队列。 Binding绑定它的作用就是把exchange和queue按照路由规则绑定起来。 Routing Key路由关键字exchange根据这个关键字进行消息投递。 vhost虚拟主机一个broker里可以开设多个vhost用作不同用户的权限分离。 channel消息通道在客户端的每个连接里可建立多个channel每个channel代表一个会话任务。 转载自http://www.cnblogs.com/zhangweizhong/category/855479.html谢谢 转载于:https://www.cnblogs.com/Paul-watermelon/p/11228278.html