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

网站的组成商标 做网站 是几类

网站的组成,商标 做网站 是几类,wap网站制作开发公司,建商城目录 1. 为什么消息队列会丢消息? 2. 怎么保障消息可靠传递? 2.1 生产者不丢消息 2.2 服务端不丢消息 2.3 消费者不丢消息 3. 消息丢失如何快速止损? 3.1 完善监控 3.2 完善止损工具 1. 为什么消息队列会丢消息? 现在主流…

目录

1. 为什么消息队列会丢消息?

2. 怎么保障消息可靠传递?

2.1 生产者不丢消息

2.2 服务端不丢消息

2.3 消费者不丢消息

3. 消息丢失如何快速止损?

3.1 完善监控

3.2 完善止损工具


1. 为什么消息队列会丢消息?

现在主流的消息队列都会提供完善的高可用解决方案,但是我们依然会有多种原因导致消息丢失,可能得原因包括:生产者生产消息失败、服务端存储消息失败、消费者消息处理失败。

其中常见的生产者生产消息失败的原因包括:

  • 消息体过大
  • 网络传输异常
  • 配置错误(例如:topic配置错误)
  • 生产者应用程序异常

服务端存储消息失败的常见原因包括:

  • 配置问题(例如:高性能方面考虑,未配置主从同步、未配置持久化)
  • 存储空间不足/存储介质故障

消费者消息处理失败的常见原因包括:

  • 消费者应用程序异常;
  • 消费者处理超时;
  • 消费过程中出现服务重启等问题;

2. 怎么保障消息可靠传递?

2.1 生产者不丢消息

  • 快速重试:在程序设计时,需要关注异常处理机制,我们需要遵循的原则是:异常处理 + 自动重试 + 告警(缺一不可),详细展开讲就是:1、任何系统异常,避免在不确定情况下随意捕获异常,从而导致被错误”兜底“处理。2、在生产消息异常情况下,需要支持异常情况下的自动重试,且多次重试需要有一定间隔时间。(此方案要求消费者幂等)3、遇到预期之外的异常及时埋点、告警等。
  • 消息补偿:引入"异常补偿服务",通过异常补偿服务收集生产者、消费者的异常消息进行持久化 + 重试。

2.2 服务端不丢消息

MQ Cluster不丢消息关键参考消息队列高可用方案,总结下来就是:

  • 持久化:持久化的目的是在服务故障或宕机时,消息不会丢失。对于RabbitMQ、Kafka、RocketMQ等不同的消息队列,除了消息日志被持久化之外,还需要关注元数据的持久化(例如:RabbitMQ中的Exchange元数据、Queue元数据等)、偏移量的持久化等。
  • 消息备份:RabbitMQ、Kafka、RocketMQ都支持消息备份,但是消息备份机制上存在一些差异,Kafka是针对每个分区都有主副本和多个从副本,RabbitMQ是采用镜像队列的方式,RocketMQ是每个消息主题都有主节点和多个从节点。
  • ACK确认机制:RabbitMQ、Kafka、RocketMQ在消息的ACK确认机制上差异不大,区别在于Kafka是基于分区的消息提交机制,也即某个分区所有消息消费完成后进行ACK;RabbitMQ是基于消费者的消息确认机制,即只有当消费者成功消费并处理了某条消息后,才会进行ACK确认;RocketMQ采用基于消费者组的消息确认机制,即只有当某个消费者组中所有消费者都成功消费并处理了某条消息后,才会进行确认。

2.3 消费者不丢消息

  • 快速重试:类似于生产者的解决方案,对于消息消费的异常需要感知并进行重试。在消费者的重试上需要注意:1、消息的重试次数需要有限,避免无限重试影响后续的消费;2、消息的消费需要幂等,避免前一次消费正常,再次消费时出现错误。
  • 监控消息:除了正常的消费队列,引入延迟的监控队列,在监控队列中通过状态等属性,监听消费者处理的正确性,对于消费异常的情况可以发送补偿消息。

3. 消息丢失如何快速止损?

3.1 完善监控

  • 实时监控:就是无论是生产者,还是消费者都需要及时捕获处理异常,并进行告警处理。
  • 旁路监控:就是引入监控队列/定时任务的方案,检查生产者与消费者的数据一致性,对于生产者与消费者数据不一致的场景进行及时告警处理。
  • 趋势监控:趋势监控是一种发现大规模问题的方法,也即埋点记录每一秒钟/每一分钟发出去的消息数,若代码变更后导致生产消息数/消费消息数明显降低,则需要及时关注进行处理。

3.2 完善止损工具

  • 消息生产工具:在日常开发中,建议养成在生产者发送消息前打印消息体日志的习惯。在发现数据异常后,可以重新手动发送消息。
  • 数据检查/回退工具:止损工具大家容易想到把消息重新生产一遍,也知道消息的消费需要具有幂等性。但是生产环境通常比较复杂,偶尔会产生一些异常数据导致消息生产/消费失败,或者消息处理一半产生预料之外的脏数据。这里建议建设相关一些数据快速回退工具、数据正确性工具,加快故障处理速度。

http://www.yayakq.cn/news/850181/

相关文章:

  • 网站开发微信小程序需求量大吗品牌建设总要求
  • 企业营销型网站做的好wordpress function.php 在哪里
  • 自学网站有哪些自学网紫金网站建设
  • 企业网站制作建设的框架有哪几种青岛自动seo
  • 微网站收费标准博客登陆wordpress
  • 建网站和开发网站app制作开发费用
  • 营销型网站建设_做网站怎样创建自己的网址
  • 延吉网站网站建设网站解封
  • 北京网站建设 招聘信息网站开发免费视频教程
  • 成都网站建设哪便宜哪个网站做外贸生意
  • 长春网站制作优势吉网传媒学历提升怎么找正规渠道
  • 上海网安备案网站做网站技术员
  • 重庆网站建设解决方案企业做网站建设遇到的问题
  • 网站制作者湖南网站建设企业
  • 想接外包做网站拍卖公司宣传册设计样本
  • flash做ppt的模板下载网站有哪些wordpress category模板
  • 网站的开发包括什么东西星子网新闻事件
  • 建网站的八个步骤苏州沧浪区做网站的
  • 做网站哪个公司最好企业网站前期建设方案案例
  • 网站值不值得做seo网站设计做什么
  • 海纳企业网站建设模板汕头市企业网站建设哪家好
  • 花80亿美元建空间站网页版查询系统制作
  • 网站建栏目建那些如何将aaa云主机做网站
  • 徐州网站二次开发seo工具助力集群式网站升级
  • 做网站多少钱西宁君博领先淘宝seo优化推广
  • 南安淘宝网站建设封装系统如何做自己的网站
  • 专做校园购物网站音乐网站开发需要什么语言工具
  • 宠物出售的网站怎么做it建设人才网
  • 驾校官方网站 模板汽车商城网站模板免费下载
  • 三明商城网站开发设计深圳品牌网站设计专家