当前位置: 首页 > news >正文

免费网站建设行情彬县网新闻最新消息

免费网站建设行情,彬县网新闻最新消息,搜索引擎营销原理,泉州市建设系统培训网站一、RabbitMQ的架构 RabbitMQ的架构可以查看官方地址 可以看出RabbitMQ中主要分为三个角色: Publisher:消息的发布者,将消息发布到RabbitMQ中的ExchangeRabbitMQ服务:Exchange接收Publisher的消息,并且根据Routes策…

一、RabbitMQ的架构

RabbitMQ的架构可以查看官方地址
在这里插入图片描述
在这里插入图片描述
可以看出RabbitMQ中主要分为三个角色:

  • Publisher:消息的发布者,将消息发布到RabbitMQ中的Exchange
  • RabbitMQ服务:Exchange接收Publisher的消息,并且根据Routes策略将消息转发到Queue中
  • Consumer:消息的消费者,监听Queue中的消息并进行消费
  • Routes:就是我们下面说的 Routing Key

RabbitMQ发送消息的策略是,消息到达Exchange,然后根据 RoutingKey 去配置到 Queue,然后消费者监听queue来完成消费

二、AMQP概念

RabbitMq是基于AMQP协议的。

1.什么是AMQP协议

在这里插入图片描述

  1. server:又称Broker,接收客户端连接,实现AMQP实体服务
  2. Connection: 连接,应用程序与Broker的网络连接
  3. Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道。客户端可建立多个Channel,每个Channel代表一个会话任务。
  4. Virtual Host :虚拟地址,用于进行逻辑隔离,最上层的消息路由。一个Virtual host里面可以有若干个Exchange和Queue,同一个Virtual host 里面不能有相同名称的Exchange或Queue,可以理解为 Mysql中的 db概念,不同的用户可以管理不同的 Virtual Host,默认是 / 目录,也可以在 管理页面上 创建 Virtual Host 并指定给相应的用户,或者在命令行中创建和设置用户。
  5. ExChange:交换机,接收消息,根据路由键转发消息到绑定的队列
  6. Binding:Exchange和Queue之间的虚拟连接,binding中可以包含routing key(路由键)
  7. Routing key:一个路由规则,虚拟机可用它来确定如何路由一个特定消息
  8. Queue:也称为Message Queue,消息队列,保存消息并将它们转发给消费者
  9. Message:消息,服务器和应用程序之间传送的数据,由Properties和Body组成,Properties可以对消息进行修饰,比如消息的优先级、延迟等高级特性;Body则就是消息体内容

二、ExChange详解

  1. Name:交换机名称
  2. Type:RabbitMQ中交换机的类型有 direct(直接) 、topic(主题)、fanout(广播)、headers(标题)
  3. Durability:交换机是否需要持久化,true为持久化。
  4. Auto Delete:当最好一个绑定到Exchange上的队列删除后,自动删除Exchange。
  5. Internal:当前Exchange是否用于RabbitMQ内部使用,默认False
  6. Arguments:扩展参数,用户扩展AMQP协议自制定化使用

三、Queue详解

  1. name:队列的名称
  2. durable:是否是持久化队列
  3. autoDelete:当最后一个消息不在了,是否自动删除队列,默认false。

三、RabbitMQ通讯的方式

RabbitMQ通讯方式 是依赖于 Exchange的类型的。

3.1 direct类型交换机

所有发送到Direct Exchange的消息被转发到RouteKey中指定的Queue

注意:Direct模式可以使用RabbitMQ自带的Exchange:default Exchange,所以不需要将Exchange进行任何绑定操作,消息传递时,RouteKey必须完全匹配才会被队列接收,否则该消息会被抛弃

注意:Direct模式可以使用RabbitMQ自带的Exchange:default
Exchange,所以不需要将Exchange进行任何绑定操作,消息传递时,RouteKey必须完全匹配才会被队列接收,否则该消息会被抛弃

在这里插入图片描述

3.2 fanout类型交换机

  1. 不处理Routing Key,只需要简单的将队列绑定到交换机上
  2. 发送到交换机的消息都会被转发到与该交换机绑定的所有队列上
  3. Fanout交换机转发消息是最快的
    在这里插入图片描述

3.3 topic类型交换机

所有发送到Topic Exchange的消息被转发到所有关心RouteKey中指定Topic的Queue上

Exchange将RouteKey和某个Topic进行模糊匹配,此时队列需要绑定一个Topic

注意:可以使用通配符进行模糊匹配

  • 符号 # 匹配一个或多个词
  • 符号 * 只匹配一个词
  • 例如:log.# 能够匹配到 log.info.a、log.info.c、log.info
  • log.* 只能匹配到 log.info 。

在这里插入图片描述

3.4 headers类型交换机

上面的三种都是通过 Routing Key来进行匹配的,而headers是通过消息的header来进行匹配的。
在这里插入图片描述
headers头部的 x-match 参数是 必须的,如果x-match设置的是all,那么生产者在生产消息时必须满足设置的headers条件,
我上面设置的是 x-match=all ,name=jack,age=23,那么我想发送消息到这个队列里面,那么消息头必须要有 name=jack,age=23。
如果我设置的是 x-match=any ,那么我满足其中一个条件就好了,比如上面是 name = jack,age= 23,那么我消息头带其中的一个就可以了,也就是他们两个的任意一个。
如果不满足的话,消息无法到达exchange绑定的queue中。

http://www.yayakq.cn/news/387743/

相关文章:

  • 网站建设公司专业网站企业开发免费个人简历模板官网
  • 专业建网站的学校杏坛网站设计
  • 网站开发与管理课程设计心得ppt主题大全素材
  • 自己做的网站别人怎么访问有没有专门找装修公司的网站
  • php网站后台登陆不上免费有限公司
  • php网站开发视频教学南京seo优化公司
  • 网站建设可以用什么语言做物流网站模块
  • 建设网站商城需要多少费用吗苍梧县网站建设
  • 福建省建设相关网站一个空间放多个网站
  • 厦门网站建设技术支持公司注册资金实缴和认缴的区别
  • 做网站需要什么认证李杰老师网站建设
  • 提供网站建设工具的品牌网站建设项目管理论文
  • 服装设计类网站网站排名优化方法讲解
  • 重庆南川网站制作价格福利博客wordpress
  • 网站建设 书平面图设计软件有哪些
  • 免费网站建设php网站 报价方案
  • 处网站的建设微商运营
  • 帮企业做网站赚钱吗商贸有限公司怎么注销
  • 国内产品推广网站如何做一个营销方案
  • 论坛网站建设多少钱排名优化公司口碑哪家好
  • 做网站备案好还是不备案好韩国电视剧
  • 用老域名做网站还是新域名wordpress 转app
  • 免费素材app抖音seo培训
  • 怎么做别人网站销售的东西公证清远网站制作公司
  • 单页网站怎么做排名做外贸的收入一般多少
  • 青浦网站建设公司wordpress 去除页面标题
  • 上海网站建设公司招聘佛山网站建设的公司
  • vs2013网站开发教程做网站优化的注意事项
  • 企业网站建设基本原则上位机软件开发平台
  • 龙岗网站建设哪家技术好宁波建设教育培训网