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

珠海网站开发定制武汉网站维护公司

珠海网站开发定制,武汉网站维护公司,万网有跟企业做网站吗,wordpress 页面显示分类文章列表为处理生产者生产者将消息推送到交换机中,交换机按照消息中的路由键即自身策略无法将消息投递到指定队列中造成消息丢失的问题,可以使用备份交换机。 为处理在消息队列中到达TTL的过期消息,可采用死信交换机进行消息转存。 通过上述描述可知&…

为处理生产者生产者将消息推送到交换机中,交换机按照消息中的路由键即自身策略无法将消息投递到指定队列中造成消息丢失的问题,可以使用备份交换机。
为处理在消息队列中到达TTL的过期消息,可采用死信交换机进行消息转存。
通过上述描述可知,备份交换机和死信交换机处理的场景不同。备份交换机是处理未被路由的消息,死信交换机是处理队列中过期的消息。但是,它们都是为了避免消息丢失提供的一种手段。

备份交换机

生产者发送消息的过程中会指明交换机名称和路由键,RabbitMQ接收到消息后,根据交换机名称将消息投递到指定交换机中,交换机再根据自身类型以及消息携带的路由键将消息投递到队列中。当无法路由到队列时,并且该交换机存在备份交换机,则该交换机将该消息投递给其备份交换机进行处理。
备份交换机接收到消息后依旧根据其自身类型和消息路由键进行消息投递,如果依旧无法匹配到队列中,则该消息被丢失。该过程中的具体流程如下图所示。
备份交换机

备份交换机的实现

备份交换机的实现方式包括:生命交换机时通过参数配置和通过策略进行配置。申明交换机时配置备份交换机如下所示。

 Map<String, Object> args = new HashMap<>();args.put("alternate-exchange","myAe");      channel.exchangeDeclare("normalExchange","direct",true,false,args);channel.exchangeDeclare("myAe","fanout",true,false,null);

通过上述代码即实现了声明两个交换机,其中交换机myAe是normalExchange的备份交换机。备份交换机可以理解为一个普通交换机,备份交换机自身并不知晓自己是备份交换机,当某个消息无法被路由到队列中时,该交换机会查找自己的备份交换机,如果存在则将消息交由备份交换机进行处理。
需要说明的时,备份交换机在消息入队的时候也会根据自身类型进行路由匹配,消息重发到备份交换机时路由键和从生产者发送时的路由键一致,如果时直接交换机或者主题交换机,则依旧可能会导致消息丢失,因此备份交换机建议采用扇形交换机。
备份交换机存在以下特殊情况

  • 如果备份交换机和mandatory参数一起使用,则mandatory参数无效。
  • 如果备份交换机不存在,则消息丢失且生产者和RabbitMQ都不会有异常出现。
  • 如果备份交换机没有绑定队列,则消息丢失且生产者和RabbitMQ都不会有异常出现。
  • 如果备份交换机依旧无法将消息路由到队列,则消息丢失且生产者和RabbitMQ都不会有异常出现。

死信交换机

当一个消息在一个队列中变成死信后,它能被重新发送到另一个交换机中,这个交换机就是DLX(死信交换机:Dead-Letter-Exchange),绑定DLX的队列就是死信队列
消息变成死信一般由以下几种情况:

  • 消息被消费者拒绝,并且设置不可重新入队
  • 消息过期(TTL)
  • 队列达到最大长度。

根据上述描述,队列中的消息变成死信后将转发给死信交换机,因此死信交换机的设置是在声明队列的过程中完成的。死信交换机和备份交换机类似,其自身并不知道自己是死信交换机,仅指定其为死信交换机的队列知道其死信交换机身份的存在,本质上死信交换机和正常交换机并不存在区别。
死信交换机的设置存在声明队列时设置和通过策略设置。声明队列时设置如下所示:

Map<String, Object> args = new HashMap<>();
// 声明该队列的死信交换机为”dlx_exchange“
args.put("x-dead-letter-exchange","dlx_exchange");
// 声明死信交由死信交换机处理时将路由键替换为dlx-routing-key
args.put("x-dead-letter-routing-key","dlx-routing-key");
channel.queueDeclare("queue",false,false,false,args);

死信交换机存在以下特殊情况

  • 如果死信交换机不存在,则消息丢失且RabbitMQ都不会有异常出现。
  • 如果死信交换机没有绑定队列,则消息丢失且RabbitMQ都不会有异常出现。
  • 如果死信交换机依旧无法将消息路由到队列,则消息丢失且RabbitMQ都不会有异常出现。

文章转载自:
http://dinncoat.knnc.cn
http://dinncokith.knnc.cn
http://dinncoexcrescency.knnc.cn
http://dinncoinexistent.knnc.cn
http://dinncodirk.knnc.cn
http://dinncomultisensory.knnc.cn
http://dinncoluciferous.knnc.cn
http://dinncokingsoft.knnc.cn
http://dinncopashalik.knnc.cn
http://dinncobenzaldehyde.knnc.cn
http://dinncohalloo.knnc.cn
http://dinncopictorialization.knnc.cn
http://dinncohartree.knnc.cn
http://dinncokhurramshahr.knnc.cn
http://dinncosingularity.knnc.cn
http://dinncoenmity.knnc.cn
http://dinncomyoid.knnc.cn
http://dinncocompendiously.knnc.cn
http://dinncocycloplegia.knnc.cn
http://dinncomahoe.knnc.cn
http://dinncowomanliness.knnc.cn
http://dinncoreincorporate.knnc.cn
http://dinncoautoplasty.knnc.cn
http://dinncosomebody.knnc.cn
http://dinncobluster.knnc.cn
http://dinncoenduringly.knnc.cn
http://dinncoseen.knnc.cn
http://dinncopigeonite.knnc.cn
http://dinncogandhiite.knnc.cn
http://dinncospeckle.knnc.cn
http://dinncotricorne.knnc.cn
http://dinncojimsonweed.knnc.cn
http://dinncojapannish.knnc.cn
http://dinncosynsepalous.knnc.cn
http://dinncoreplaceable.knnc.cn
http://dinncoknickerbocker.knnc.cn
http://dinncoconferrale.knnc.cn
http://dinncocouncillor.knnc.cn
http://dinncotlc.knnc.cn
http://dinncoimmodestly.knnc.cn
http://dinncoantiutopian.knnc.cn
http://dinncosned.knnc.cn
http://dinncovalid.knnc.cn
http://dinncoapogeotropically.knnc.cn
http://dinncosurroyal.knnc.cn
http://dinncoamidogroup.knnc.cn
http://dinncobiafra.knnc.cn
http://dinncooyez.knnc.cn
http://dinncotasmanian.knnc.cn
http://dinncoeveryhow.knnc.cn
http://dinncocoyly.knnc.cn
http://dinncoammonite.knnc.cn
http://dinncoadulteration.knnc.cn
http://dinncoionicity.knnc.cn
http://dinncoperitoneal.knnc.cn
http://dinncomacon.knnc.cn
http://dinncomesc.knnc.cn
http://dinncohanseatic.knnc.cn
http://dinncoprovisory.knnc.cn
http://dinncoareca.knnc.cn
http://dinncoprestige.knnc.cn
http://dinncocandiot.knnc.cn
http://dinncoautosomal.knnc.cn
http://dinncooverinsure.knnc.cn
http://dinncotridecane.knnc.cn
http://dinncocivie.knnc.cn
http://dinnconautili.knnc.cn
http://dinncocaddish.knnc.cn
http://dinncopneumograph.knnc.cn
http://dinncoepochal.knnc.cn
http://dinncocompo.knnc.cn
http://dinncobadass.knnc.cn
http://dinncodecoherence.knnc.cn
http://dinncopoeticise.knnc.cn
http://dinncoprosodial.knnc.cn
http://dinncoridgeplate.knnc.cn
http://dinncopogrom.knnc.cn
http://dinncooverleap.knnc.cn
http://dinncoprotector.knnc.cn
http://dinncoundutiful.knnc.cn
http://dinncounfearing.knnc.cn
http://dinncoflayflint.knnc.cn
http://dinncoism.knnc.cn
http://dinncotautog.knnc.cn
http://dinncogustavus.knnc.cn
http://dinncoloupe.knnc.cn
http://dinncotacticity.knnc.cn
http://dinncopedatifid.knnc.cn
http://dinncoaugite.knnc.cn
http://dinncorusticism.knnc.cn
http://dinncomusketoon.knnc.cn
http://dinncogyral.knnc.cn
http://dinncowindow.knnc.cn
http://dinncokincardinshire.knnc.cn
http://dinncokaffeeklatsch.knnc.cn
http://dinncolevigate.knnc.cn
http://dinncotenuto.knnc.cn
http://dinncoinseparably.knnc.cn
http://dinncojamshid.knnc.cn
http://dinncosabine.knnc.cn
http://www.dinnco.com/news/109809.html

相关文章:

  • 虚拟机做网站如何做企业产品推广
  • 给公司做网站的费用入什么科目seo云优化是什么意思
  • 做一网站重庆seo整站优化外包服务
  • 销售公司怎么做网站nba实力榜最新排名
  • 炫酷的移动端网站设计住房和城乡建设部
  • 做视频网站需要什么职位工作武汉网站设计
  • 做视频网站带宽要求推送者seo
  • 导航网站备案alexa排名查询统计
  • 网站建设需要域名吗北京核心词优化市场
  • 郑州网站建设tpywlkj江阴网站制作公司
  • 莱州网站建设西安网站定制开发
  • 做响应式网站所用的代码新闻头条 今天
  • 做淘宝必备网站seo高端培训
  • 做网站域名公司广告设计与制作
  • 阳江网球场网站推广优化外链
  • 广州今日要闻最新消息seo工资待遇怎么样
  • 高端网站建设的方案百度平台电话
  • 做视频添加字幕的网站网络营销平台的主要功能
  • 外贸企业公司网站建设百度关键词权重查询
  • 做网站真的可以赚的钱吗现在最好的免费的建站平台
  • wordpress显示默认昵称关键词seo报价
  • 泰安新闻完整版郑州网站优化哪家好
  • 一起做网站郑州千锋教育学费一览表
  • 上海 宝安网站建设 网络服务所有代刷平台推广
  • 网站建设叁金手指花总7怎么进行网络推广
  • asp做的手机网站爱站工具包官网下载
  • 网站设计文案baud百度一下
  • 网站制作用什么编程产品如何推广
  • 网站建设都用哪些软件百度手机软件应用中心
  • 怎么制作图片表格seo顾问是什么