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

做的网站百度搜不到杭州seo泽成

做的网站百度搜不到,杭州seo泽成,赤峰做网站开发,在哪个网站注册域名好(二)RabbitMQ消息队列-RabbitMQ消息队列架构与基本概念 原文:(二)RabbitMQ消息队列-RabbitMQ消息队列架构与基本概念没错我还是没有讲怎么安装和写一个HelloWord,不过快了,这一章我们先了解下RabbitMQ的基本…
(二)RabbitMQ消息队列-RabbitMQ消息队列架构与基本概念
原文:(二)RabbitMQ消息队列-RabbitMQ消息队列架构与基本概念

没错我还是没有讲怎么安装和写一个HelloWord,不过快了,这一章我们先了解下RabbitMQ的基本概念。

RabbitMQ架构

说是架构其实更像是应用场景下的架构(自己画的有点丑,勿嫌弃)

RabbitMQ应用架构

从图中可以看出RabbitMQ主要由Exchange和Queue两部分组成,然后通过RoutingKey关联起来,消息投递到Exchange然后通过Queue接收。

RabbitMQ消息队列基本概念

RabbitMQ Server: 也叫broker server,它是一种传输服务。 他的角色就是维护一条从Producer到Consumer的路线,保证数据能够按照指定的方式进行传输。但是这个保证也不是100%的保证,但是对于普通的应用来说这已经足够了。当然对于商业系统来说,可以再做一层数据一致性的guard,就可以彻底保证系统的一致性了。

Producer: 消息生产者,如图A、B、C,数据的发送方。消息生产者连接RabbitMQ服务器然后将消息投递到Exchange。

Consumer:消息消费者,如图1、2、3,数据的接收方。消息消费者订阅队列,RabbitMQ将Queue中的消息发送到消息消费者。

Exchange:生产者将消息发送到Exchange(交换器),由Exchange将消息路由到一个或多个Queue中(或者丢弃)。Exchange并不存储消息。RabbitMQ中的Exchange有fanout、direct、topic、headers四种类型,每种类型对应不同的路由规则,后面详细介绍这四种类型。

Queue:(队列)是RabbitMQ的内部对象,用于存储消息。消息消费者就是通过订阅队列来获取消息的,RabbitMQ中的消息都只能存储在Queue中,生产者生产消息并最终投递到Queue中,消费者可以从Queue中获取消息并消费。多个消费者可以订阅同一个Queue,这时Queue中的消息会被平均分摊给多个消费者进行处理,而不是每个消费者都收到所有的消息并处理。

RoutingKey:生产者在将消息发送给Exchange的时候,一般会指定一个routing key,来指定这个消息的路由规则,而这个routing key需要与Exchange Type及binding key联合使用才能最终生效。在Exchange Type与binding key固定的情况下(在正常使用时一般这些内容都是固定配置好的),我们的生产者就可以在发送消息给Exchange时,通过指定routing key来决定消息流向哪里。RabbitMQ为routing key设定的长度限制为255 bytes。

Connection: (连接)。Producer和Consumer都是通过TCP连接到RabbitMQ Server的。以后我们可以看到,程序的起始处就是建立这个TCP连接。

Channels: (信道)。它建立在上述的TCP连接中。数据流动都是在Channel中进行的。也就是说,一般情况是程序起始建立TCP连接,第二步就是建立这个Channel。

Exchange Types:

  • fanout

fanout类型的Exchange路由规则非常简单,它会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中。
生产者发送到Exchange的所有消息都会路由到绑定的Queue,并最终被两个消费者消费。

  • direct

direct类型的Exchange路由规则也很简单,它会把消息路由到那些binding key与routing key完全匹配的Queue中。(在实际使用RabbitMQ的过程中并没有binding key这个参数,只有routing key,为了区分我们把交换机和队列绑定时传的参数叫binding key,把发送消息时带的这个参数叫routing key)

  • topic

前面讲到direct类型的Exchange路由规则是完全匹配binding key与routing key,但这种严格的匹配方式在很多情况下不能满足实际业务需求。topic类型的Exchange在匹配规则上进行了扩展,它与direct类型的Exchage相似,也是将消息路由到binding key与routing key相匹配的Queue中,但direct是完全匹配,而通过topic可以进行模糊匹配

routing key为一个句点号“. ”分隔的字符串(我们将被句点号“. ”分隔开的每一段独立的字符串称为一个单词),如“stock.usd.nyse”、“nyse.vmw”、“quick.orange.rabbit”
binding key与routing key一样也是句点号“. ”分隔的字符串
binding key中可以存在两种特殊字符“”与“#”,用于做模糊匹配,其中“”用于匹配一个单词,“#”用于匹配多个单词(可以是零个)

  • headers

headers类型的Exchange不依赖于routing key与binding key的匹配规则来路由消息,而是根据发送的消息内容中的headers属性进行匹配。
在绑定Queue与Exchange时指定一组键值对;当消息发送到Exchange时,RabbitMQ会取到该消息的headers(也是一个键值对的形式),对比其中的键值对是否完全匹配Queue与Exchange绑定时指定的键值对;如果完全匹配则消息会路由到该Queue,否则不会路由到该Queue。(实际中我并有用过)
RabbitMQ技术交流QQ群:327034977(添加时请备注RabbitMQ)

posted on 2019-02-13 15:47 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10370181.html

http://www.lbrq.cn/news/2630431.html

相关文章:

  • 网站服务器在域名搜索
  • 计量检测网站平台建设方案网络销售工作靠谱吗
  • 赛扶做网站关系营销案例
  • 做歌手的网站微信营销平台系统
  • 电子网站怎么做的游戏推广公司
  • 抚顺网站建设公司小程序推广运营的公司
  • 公司做网站的流程商品推广软文范例100字
  • 大理网站制作百度提问首页
  • 机关建设网站整合营销是什么
  • windows不能用wordpress宁波seo排名公司
  • 淘宝网站代理怎么做月入百万的游戏代理
  • 新开传奇新服网一个具体网站的seo优化
  • 北京上海网站建设公司今日新闻摘抄十条
  • 武汉殷氏科技网站建设河南靠谱seo电话
  • 做化工哪个网站好福建seo关键词优化外包
  • 关于申请建设网站的请示互动营销案例分析
  • 做网站市场分析seo优化技巧
  • 备案的网站如何访问搜索引擎有哪些技巧
  • 湖北三丰建设集团股份网站如何写软文推广产品
  • 怎样做营销型网站深圳抖音seo
  • 城阳网站改版长沙seo行者seo09
  • 网站预付款怎么做会计分录百度网址链接
  • 企业网站页头背景图近三天新闻50字左右
  • 推广运营策略谷歌seo网站推广
  • 网站建设服务协议 百度今日最新军事新闻
  • 女子医院网站开发策略微信推广平台怎么做
  • logo设计大师网站推广及seo方案
  • 做本地网站怎么挣钱网站查询域名
  • dw怎么做百度页面网站淘宝seo是指什么
  • 网站开发 常德google官网注册账号入口
  • 为何毫米波需要采用不同的DPD方法?如何量化其值?
  • Casrel关系抽取
  • uni-app X能成为下一个Flutter吗?
  • SQL注入攻击基础
  • 【AI智能编程】Trae-IDE工具学习
  • harbor仓库搭建(配置https)