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

wordpress站点安装/怎么拿到百度推广的代理

wordpress站点安装,怎么拿到百度推广的代理,最新网页传奇游戏,砀山县住房和城乡建设局网站问题描述: rmq消息队列中接收到了消息,并由消费者消费,由于下游服务异常,导致异常抛出,消费者消费消息失败,导致消息一直处于unack,return给rmq-server,重新被消费,但消费…

问题描述:
rmq消息队列中接收到了消息,并由消费者消费,由于下游服务异常,导致异常抛出,消费者消费消息失败,导致消息一直处于unack,return给rmq-server,重新被消费,但消费失败多次后,不再给消费者(日志中后续没有再打印关于该消息的消费start日志,且始终无end日志),并且队列中没有该消息。
分析:
1、可能未做持久化
2、消费失败,导致不再重试,放入别的地方(maybe是rmq某种机制)

 

一、消息持久化(时机:内存紧张、消息中强制要求)

队列持久化、message持久化、exchange持久化

1.queue设置为durable=true
2.message的deliveryMode=2,这里的deliveryMode=1代表不持久化,deliveryMode= 2代表持久化。
3.另外,exchange也需要持久化,但是,如果不持久化,broker重启后,exchange将不存在,producer就无法正常发送消息,故exchange设置成持久化,同样,durable=true。
这才算持久化完成。

做了持久化配置,仍不能保证消息不会丢失。

首先,consumer角度看,若autoAck=true,接受消息后,没来得及处理就crash掉(此段未验证)
其次,消息的落盘需要有一个时间,一般是25毫秒,才能刷进去
落盘时机,一个一兆大小的buffer,满了,写入文件(不是磁盘),有一个timeout=25ms,不论buffer满不满,buffer和文件内容都会刷到磁盘。
so,25ms内,若消息来了,未到刷盘时机,会导致消息丢失。

这仅仅是持久化的办法。


若可靠的办法,就是设置集群,主从。以及消息确认机制(事务+confirm)

目前来看,我们的持久化均以配置,现象上看,已经发送了多次消息给消费者消费,故已经超过25ms落盘时间,丢失消息原因不太可能是消息未落盘。

二、重试机制 (重试次数达到后,不再被消费)

spring rmq的重试机制我们项目中并未配置,且通过测试,会无限次重试。

以上测试在项目版本和rmq版本均与测试环境一致前提下进行。

 

总结:

持久化未落盘及可能的Dead Letter Exchanges机制均验证,且kill进程等均未复现,后续继续观察。

另外,附上可能的情况:

msg进入rabbitmq-server后,根据是否是持久化消息,可能会有以下几种状态:

%% Definitions:
%% alpha消息本身和消息位置索引都只在内存中
%% beta:  消息本身存储在磁盘中,但是消息的位置索引存在内存中
%% gamma消息本身存储在磁盘中,但是消息的位置索引存在内存中和磁盘中
%% delta消息本身和消息的位置索引都值存储在磁盘中

消息队列内部有BQ(backing_queue)的概念,用来区分不同的消息,如下:

 

rmq

其中Q1、Q4只包含alpha状态的消息,Q2和Q3包含Beta和gamma状态的消息,Delta只包含delta状态的消息。

也就是,当msg是持久化的消息类型时,在rmq-server中,msg可能处于delta、gamma、beta的状态。

且在日志中,查找到warning rabbitmq rebuilding indices from scratch消息,源码中,该日志的打印说明如下:

%% if we found crashed compactions we trust neither the
%% file_summary nor the location index. Note the file_summary is
%% left empty here if it can't be recovered.

所以,对于持久化的消息,在机器重启时,若消息处于beta状态,那么内存中的消息索引将丢失,导致disk中的msg无法被找到,出现消息”丢失“。

 

参考资料:

博客:

https://blog.csdn.net/zhousenshan/article/details/78681968

https://www.cnblogs.com/163yun/p/9154332.html

https://www.jianshu.com/p/19e0927315da

https://blog.csdn.net/yeweiouyang/article/details/74943278

官方文档:

ttp://www.rabbitmq.com/persistence-conf.html

http://www.rabbitmq.com/dlx.html

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

相关文章:

  • 博罗做网站技术/百度上做推广怎么收费
  • 网站软文设计/社区推广
  • 用帝国做的网站/360优化大师旧版本
  • 做新浪微博网站需要/抖音关键词搜索排名
  • 广州汽车网站建设/做百度推广的网络公司
  • 浙江建设职业技术学院oa网站/培训心得体会范文500字
  • 深圳设计装修公司/网站seo排名优化
  • 用http做网站隐藏端口/seo是什么工作
  • 中英文网站如何建设/厦门人才网招聘
  • 长安网站建设网络推广/大型网站建设
  • 宁波网站公司/辽宁seo推广
  • 福田官网网站/百度seo关键词排名
  • 网站建设套/河南网站建设定制
  • 南宁微网站制作需要多少钱/今日国内新闻大事件
  • 男女生做爰视频网站/重要新闻今天8条新闻
  • 甘肃企业模板建站信息/营销型网站建设模板
  • b2c 网站导航栏设计/企业新闻稿发布平台
  • dw如何用表格做网站/东营百度推广电话
  • 厦门网站建设哪家便宜/承德seo
  • 地址二地址三2021变更/seo国外推广软件
  • 网站开展营销的思路和方法/百度竞价排名利弊
  • 西部数码空间可以做会所网站吗/河南整站关键词排名优化软件
  • 开发中英文切换网站如何做/qq群推广网站免费
  • 网络维护人员/优化大师网页版
  • 辽宁省网站制作公司排名/新闻最新消息今天
  • 传奇私服发布网网站建设/网站推广代理
  • 安庆网站开发/长沙seo排名外包
  • 纺织行业网站怎么做/除了91还有什么关键词
  • 视频背景网站/谷歌浏览器下载安装2022
  • 网站建设毕业设计评价/免费的网页模板网站
  • MD5:理解MD5 / MD5核心特性 / MD5 在前端开发中的常见用途 / 在线生成MD5 / js-md5
  • 金蝶云星空 × SRM 深度集成实战(附完整接口清单)
  • C/C++练习面试题
  • 云原生环境 Prometheus 企业级监控实战
  • 《设计模式》策略模式
  • Java Stream流详解:从基础语法到实战应用