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

南充公司做网站办公软件培训

南充公司做网站,办公软件培训,深圳百度推广优化,wordpress表白目录 JMS 讲解★ RabbitMQ的核心概念★ RabbitMQ工作机制★ Connection#xff08;连接#xff09; 与 Channel#xff08;通信信道#xff09;★ Exchange★ Exchange与Queue★ Exchange的类型#xff08;4种#xff09;及 该类型对应的路由规则 看RabbitMQ 之前#x… 目录 JMS 讲解★ RabbitMQ的核心概念★ RabbitMQ工作机制★ Connection连接 与 Channel通信信道★ Exchange★ Exchange与Queue★ Exchange的类型4种及 该类型对应的路由规则 看RabbitMQ 之前可以先了解下什么是 JMS。 JMS 讲解 先简单看下 JMS 是什么用来对比。 JMS 也是一种消息机制 JMS 规范属于 Java EE 规范 AMQP ( Advanced Message Queuing Protocol ) 高级消息队列协议 ★ RabbitMQ的核心概念 Connection 代表客户端包括消息生产者和消费者与RabbitMQ之间的连接。 Channel 连接内部的Channel。 Exchange 充当消息交换机的组件。 Queue 消息队列。 ★ RabbitMQ工作机制 AMQP ( Advanced Message Queuing Protocol ) 高级消息队列协议 RabbitMQ 是一种属于 AMQP 这种协议的消息组件。 RabbitMQ 是遵循 AMQP 的一个实现 ▲ 原有JMS只有三层 消息生产者----------消息目的----------消息消费者 ▲ AMQP(RabbitMQ增加了一层 消息生产者----------Exchange-----------消息队列目的----------消息消费者 同理无论是消息生产者还是消息消费者它们都使用Connection与消息Broker之间建立连接——这一点与JMS是一样。 RabbitMQ的消息生产者、消息消费者实际与消息Broker通信的是Channel JMS实际则使用Session。 ★ Connection连接 与 Channel通信信道 ▲ 不管是消息生产者还是消息消费者它们都要通过Connection建立与RabbitMQ之间的连接因此Connection就代表客户端与RabbitMQ之间的连接。 ▲ 但客户端与RabbitMQ之间实际通信所用的是Channel信道这是因为RabbitMQ采用了类似于Java NIO的做法避免为应用程序中的每个线程都建立单独的连接因此是使用Channel来复用连接这样不仅可以降低性能开销而且也便于管理。 简单两句话 - Connction代表了客户端与消息Broker之间的连接。建立连接用Connection。- Channel代表了客户端与消息Broker之间的通信信道。实际通信用Channel。Channel位于Connection之内也就是说Channel必须通过Connection来获得。★ Exchange 消息生产者发送消息时只需指定两个关键信息 - exchange将该消息发送到哪个Exchange。- routing key消息的路由key。该路由key会决定消息要被路由到哪些消息队列。RabbitMQ的消息生产者只需指定将消息发送到哪个ExchangeExchange相当于消息交换机 ▲ Exchange 它会根据自身的类型和消息的路由keyrouting key将消息分发到一个或多个消息队列Queue。 消息实际依然由于消息队列来负责管理。 消息由Exchange负责分发。 ▲ 简单来说 消息生产者将消息发送给ExchangeExchange负责将消息分发给对应的QueueExchange分发消息的关键在于它本身的类型和路由key。 ▲ 消息生产者发送消息时与消息队列是无关的。只跟exchange和routing key有关 ▲ 消息消费者接收消息时只需从指定消息队列中获取消息即可与Exchange是无关的。 只跟消息队列有关 ★ Exchange与Queue ▲ 为了让Exchange能将信息分发给QueueQueue需要将自己绑定到Exchange上也就是让Exchange来管理多个Queue Exchange只会将消息分发给绑定到自己的Queue没有绑定的Queue不会得到Exchange分发的消息。 将Queue绑定到Exchange的过程就相当于将Queue注册到Exchange的过程。 ▲ 将Queue绑定到Exchange时也需要指定一个路由key。 ▲ Exchange就根据发送消息时指定的路由key、绑定Queue时指定的路由key来决定要将消息分发给哪些Queue。 【备注】路由key就是个字符串两个地方需要用到 A将Queue绑定到Exchange时需要指定路由key。 B发送消息时需要Exchange和路由key。 ★ Exchange的类型4种及 该类型对应的路由规则 Exchange来分发消息时要看Exchange本身的类型、消息的路由key。 fan扇子 out出现、向外 fanout扇出、展开、散开、分列fanout 广播Exchange这种类型的Exchange会将消息广播到所有与它绑定的Queue。 这种类型的Exchange在分发消息时不看路由key。 只要将消息发送到该Exchange该消息就会被自动广播所有消息队列——这就是典型的Pub-Sub模型。 direct 这种类型的Exchange将消息直接发送到路由key对应的队列。 direct笔直的、径直的 消息队列绑定到Exchange时要指定路由key 发送消息时也要指定路由key 就是使用direct类型的Exchange只有当两个路由key完全相同时该消息队列才能被分发消息 topic 这种类型的Exchange在匹配路由key时支持通配符相当于它是增强型的direct。 【备注】此处的topic类型的Exchange与JMS的消息主题没有半毛钱的关系。 headers 这种类型的Exchange要根据消息自带的头信息进行路由。这种类型比较少用。 消息发送到消息队列的一些示例 如图假设消息生产者又发送了一条消息路由key 是 abc 那么这个 路由key 是 abc 的 消息在发送到 exchange 之后就会直接被丢弃了因为 exchange 绑定的众多 queue 消息队列中没有对应的 路由key 是 abc。所以这个消息不会分发给任何的消息队列。 路由key通配符解释单词与单词之间用【 . 点号】隔开 比如路由key是aaa.bbb.ccc 就表示这个路由key是由三个单词组成的。【* . crazyit . * 】 表示这个 路由key 只能是三个单词组成第一个和第三个单词随便 但是中间的单词一定要是 crazyit 才可以匹配上。【* . org】 表示这个 路由key 只能是两个单词组成第一个单词随便 但是第二个单词一定要是 org才可以匹配上【# . org】 # 号代表0-N 个单词表示这个 路由key 是多个单词组成或者只有一个 org 也算匹配上。org 前面有多少个单词都没问题或者没单词也可以只要最后一个单词是 org 那么就可以匹配上。
http://www.ho-use.cn/article/10822889.html

相关文章:

  • 河南网站建设哪家有临海做网站公司
  • 网站 项目方案合肥做一个网站要多少钱
  • 建什么网站能百度收录经典网站建设案例
  • 营销外包网站海淀区seo搜索优化
  • 福州网站推广排名莆田外贸专业建站
  • 西安高端网站开发腾讯云服务器centos做静态网站
  • 免费php外贸网站模板支付平台网站建设
  • 免费刷网站百度关键词秦皇岛做网站的公司
  • 外贸网站建设应该怎样选择语言工商营业执照查询网
  • 义网站建设推荐郑国华网页设计个人简历模板
  • 好的网站建设技术做ppt兼职的网站
  • 济南建设官方网站wordpress主题邮件模板下载失败
  • 网站title重复的后果公司域名更改 网站怎么做提示
  • python做网站开发巩义关键词优化公司电话
  • 网站里的专题页面学校网站空间建设情况
  • 中文域名.网站教师专用ppt模板免费下载
  • 网站生成静态页面工具网站快速建设入门教程
  • 手机网站js电话悬浮wordpress转载视频
  • 网站建设高网络搜索关键词
  • 网站后端技术语言凡科建站网页版
  • 海珠做网站公深圳网站建设品牌
  • 网站建站安全需求手机网站seo
  • 网站加网页wordpress 密码解密
  • 如何建立一个网站支持chrome企业信息填报官网
  • qq群网站推广oa办公系统软件多少钱
  • 上海最好的网站设计公司网站定制设计网页价格多少钱
  • 海口网站开发软件技术就业方向
  • 十大免费不用收费的网站中国平安保险公司官网首页
  • 乐清网站建设哪家好成都德阳网站建设
  • 中山专业手机网站建设重庆网红景点有哪些