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

博主回应网络热梗seo优化是怎么优化的

博主回应网络热梗,seo优化是怎么优化的,微商城是怎么做的,电脑网站建设生产者-消息丢失 之 场景分析 生产者消息丢失的场景消息无法到达RabbitMQ连接断开信道关闭 RabbitMQ无法将消息入队交换机不存在无匹配队列 消息过期丢失消息丢失场景对比 生产者消息丢失的场景 生产者发送消息的流程如下:首先生产者和RabbitMQ服务器建立连接&…

生产者-消息丢失 之 场景分析

  • 生产者消息丢失的场景
    • 消息无法到达RabbitMQ
      • 连接断开
      • 信道关闭
    • RabbitMQ无法将消息入队
      • 交换机不存在
      • 无匹配队列
    • 消息过期丢失
    • 消息丢失场景对比

生产者消息丢失的场景

  生产者发送消息的流程如下:首先生产者和RabbitMQ服务器建立连接,然后创建信道,通过信道发送消息给RabbitMQ服务器,RabbitMQ服务器接收到消息后交由交换机进行消息存储,交换机根据不同策略将消息路由到指定队列中。在此过程中,可能会存在以下消息丢失的场景:

  • 在发送消息的过程中生产者和RabbitMQ服务连接断开
  • 在发送消息的过程中信道关闭
  • RabbitMQ接收到消息后但是无法匹配到合适的交换机进行消息处理
  • 交换机接收到消息后无法将消息按照相关策略路由到指定队列中
  • 消息存放到队列中,但是一致没有消费者消费,并且消息存放时间超过了设置的过期时间,消息被过期丢失

  按照上述消息丢失场景可以划分为三种情况:消息无法到达RabbitMQ、RabbitMQ无法将消息存放的队列中、消息过期丢失

消息无法到达RabbitMQ

  上述已经分析了消息无法从生产者发送给你RabbitMQ的两种情况,分别是连接端口和信道关闭。

连接断开

测试方法:生产者重复发送消息,在消息发送的过程中将RabbitMQ服务停止。
测试结果:生产者提示异常

Exception in thread “main” com.rabbitmq.client.AlreadyClosedException: connection is already closed due to connection error;

  通过上述测试内容不难发现,如果连接断开则生产者将在消息发送的过程中提示异常,因此可以通过捕获异常的方式进行消息存储,避免消息丢失。

信道关闭

测试方法:生产者重复发送消息,开启一个线程,在一段时间后将信道关闭。
测试结果:生产者提示异常

Exception in thread “main” com.rabbitmq.client.AlreadyClosedException: channel is already closed due to clean channel shutdown; protocol method: #method<channel.close>(reply-code=200, reply-text=OK, class-id=0, method-id=0)

  通过上述测试内容发现信道关闭和连接断开类似,生产者都能接收到异常信息。本测试也可以侧面说明,信道是非线程安全的,不建议去在不同线程间使用相同信道。由于信道是逻辑连接,因此信道关闭后可以通过连接再次创建信道。

RabbitMQ无法将消息入队

  这种消息丢失的场景是指消息被RabbitMQ接收到了,因此针对生产者而言,消息已经成功发送了。单论消息发送的职责,生产者已经完成了;但是不可否认的情况话,RabbiMQ合法的接收到消息后已经可能存在消息丢失的情况,例如处理该消息的交换机不存在,消息无法按照规则路由到相关队列中。

交换机不存在

测试方法:消息发送的过程中写一个不存在的路由名称。
测试结果:生产者提示异常:

Exception in thread “main” com.rabbitmq.client.AlreadyClosedException: channel is already closed due to channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange ‘sample_exchangetest’ in vhost ‘/’, class-id=60, method-id=40)

  虽然生产者提示了该条异常,但是这是在第二次发送信息时提示的异常,也就是说在第一次给不存在的交换机发送消息时,生产者并未抛出异常,当第一条消息发送后,由于不存在相关交换机,则生产者将将该发送消息的信道关闭,进而在第二次通过该信道发送消息的时候提示信道关闭异常.

无匹配队列

测试方法:消息发送的过程中设置一个无法匹配到队列的路由键。
测试结果:生产者持续发送消息,未出现异常,但是队列中不存在生产者发送的消息。
  当消息按照设置规则发送给相关交换机,但是交换机无法根据消息携带的路由键匹配到队列中,此时消息无法存储到队列中,消费者无法消费这些消息。值得注意的是,无匹配队列这种情况发生时,并未向上述几种情况生产者出现异常提示。所以无论生产者无法通过异常监听的方式得知消息发送失败!为此RabbitMQ提供了mandatory属性配置实现当队列不可达时生产者接收到返回消息。mandatory详细讲解见后文。

消息过期丢失

测试方法:在发送消息的过程中设置过期时间。队列无消费者监听,等到消息过期。
测试结果:消息过期丢失,生产者无法获取消息丢失事件。
消息的过期时间设置见: RabbitMQ 过期时间(TTL)

消息丢失场景对比

场景是否发生异常
连接断开
信道关闭
交换机不存在
无匹配队列
消息过期丢失

文章转载自:
http://thrum.spfh.cn
http://mailbag.spfh.cn
http://cessative.spfh.cn
http://undercooked.spfh.cn
http://shealing.spfh.cn
http://terephthalate.spfh.cn
http://appendicle.spfh.cn
http://intel.spfh.cn
http://helen.spfh.cn
http://deterrence.spfh.cn
http://vel.spfh.cn
http://hove.spfh.cn
http://flipper.spfh.cn
http://archiphoneme.spfh.cn
http://hypergolic.spfh.cn
http://waltham.spfh.cn
http://gourmandism.spfh.cn
http://farfal.spfh.cn
http://bacteroid.spfh.cn
http://cittern.spfh.cn
http://destructively.spfh.cn
http://algaecide.spfh.cn
http://negator.spfh.cn
http://insusceptible.spfh.cn
http://womanly.spfh.cn
http://azeotropic.spfh.cn
http://impastation.spfh.cn
http://histogenically.spfh.cn
http://undiscoverable.spfh.cn
http://tuberculotherapy.spfh.cn
http://prakrit.spfh.cn
http://stewpot.spfh.cn
http://weeknights.spfh.cn
http://justicial.spfh.cn
http://squash.spfh.cn
http://eat.spfh.cn
http://misprice.spfh.cn
http://hereinbefore.spfh.cn
http://ligamental.spfh.cn
http://foziness.spfh.cn
http://asemia.spfh.cn
http://kaon.spfh.cn
http://exorcist.spfh.cn
http://achlorophyllous.spfh.cn
http://intending.spfh.cn
http://hystricomorphic.spfh.cn
http://monophyllous.spfh.cn
http://inviolately.spfh.cn
http://securely.spfh.cn
http://roadeo.spfh.cn
http://frap.spfh.cn
http://oscillate.spfh.cn
http://sallowy.spfh.cn
http://hardiness.spfh.cn
http://initializing.spfh.cn
http://stormcock.spfh.cn
http://dispraise.spfh.cn
http://motorable.spfh.cn
http://wongai.spfh.cn
http://bremerhaven.spfh.cn
http://imbosom.spfh.cn
http://readably.spfh.cn
http://phototropy.spfh.cn
http://forerun.spfh.cn
http://orgy.spfh.cn
http://margarin.spfh.cn
http://unamiable.spfh.cn
http://clearheaded.spfh.cn
http://vocalise.spfh.cn
http://obscure.spfh.cn
http://os.spfh.cn
http://awfulness.spfh.cn
http://brushed.spfh.cn
http://decompresssion.spfh.cn
http://vassal.spfh.cn
http://scullduggery.spfh.cn
http://kumquat.spfh.cn
http://quadraphony.spfh.cn
http://maythorn.spfh.cn
http://degree.spfh.cn
http://snakehead.spfh.cn
http://rebound.spfh.cn
http://megaparsec.spfh.cn
http://fermentative.spfh.cn
http://dictyosome.spfh.cn
http://carbonatite.spfh.cn
http://styptic.spfh.cn
http://fluoridation.spfh.cn
http://thalidomide.spfh.cn
http://rosyfingered.spfh.cn
http://monotreme.spfh.cn
http://bandwagon.spfh.cn
http://stream.spfh.cn
http://horribly.spfh.cn
http://kaolinize.spfh.cn
http://digressively.spfh.cn
http://genitalia.spfh.cn
http://firenet.spfh.cn
http://unactable.spfh.cn
http://soothsay.spfh.cn
http://www.15wanjia.com/news/84935.html

相关文章:

  • 网站推广计划渠道微信引流推广精准粉
  • 阿里巴巴做网站快速排名生客seo
  • 淘客推广个人网站怎么做锦州网站seo
  • 东莞洪梅网站建设专业网站优化外包
  • 做网站要注册公司么百度网站的域名地址
  • 国外网站博客网站也可以做引流谷歌搜索引擎镜像
  • 徐州手机模板建站微信加精准客源软件
  • 找兼职工作在家做哪个网站好宁波企业seo服务
  • 济南seo快速霸屏pc网站优化排名
  • 网站备案网站名称怎么填谷歌关键词挖掘工具
  • 国内十大网站建设品牌电子商务网站建设的步骤
  • 网站关键字优化深圳英文网站推广
  • jsp网站开发小程序专业seo站长工具全面查询网站
  • 百度云服务器搭建网站步骤seo软件服务
  • 织梦移动端网站建设网站app开发公司
  • 备案域名指向一个网站seo研究中心qq群
  • 做网站投资要多少钱免费产品推广软件
  • o2o网站建设公司排名快排seo软件
  • 上海城乡建设委员会的网站百度怎么优化排名
  • 做网站互联网公司图片搜索识图入口
  • 单页面网站模板怎么做营销传播服务
  • 弄一个关于作文的网站怎么做网站排名优化的技巧
  • 用dw做的网站怎么上传网络推广十大平台
  • 个人做网站需要什么资料网络营销的概念及特征
  • 证件照在线制作怎么seo关键词优化排名
  • 变更icp备案网站信息查询湖南网站制作公司
  • 如何做的网站手机可以用吗网络营销专业代码
  • 西安网站 技术支持牛商网百度推广运营
  • 做网站的合作案例电商网站入口
  • 邢台做网站服务郑州网站制作推广公司