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

做企业展示版网站贵吗佛山新网站制作代理商

做企业展示版网站贵吗,佛山新网站制作代理商,顺德品牌网站建设公司,网站改版301是什么意思1、消息重试机制 由于MQ经常处于复杂的分布式系统中#xff0c;考虑网络波动、服务宕机、程序异常因素#xff0c;很有可能出现消息发送或者消费失败的问题。因此#xff0c;消息的重试就是所有MQ中间件必须考虑到的一个关键点。如果没有消息重试#xff0c;就可能产生消息…1、消息重试机制 由于MQ经常处于复杂的分布式系统中考虑网络波动、服务宕机、程序异常因素很有可能出现消息发送或者消费失败的问题。因此消息的重试就是所有MQ中间件必须考虑到的一个关键点。如果没有消息重试就可能产生消息丢失的问题可能对系统产生很大的影响。所以秉承宁可多发消息也不可丢失消息的原则大部分MQ都对消息重试提供了很好的支持。 RocketMQ为使用者封装了消息重试的处理流程无需开发人员手动处理。RocketMQ支持了生产端和消费端两类重试机制。 1.1 生产端重试 生产端配置的有发送失败重试次数默认为2。使用了set方法对外进行暴露producer客户端可以改写这个默认值。 public DefaultMQProducer(String producerGroup, RPCHook rpcHook) {this.createTopicKey TBW102;this.defaultTopicQueueNums 4;this.sendMsgTimeout 3000;this.compressMsgBodyOverHowmuch 4096;//发送失败重试次数this.retryTimesWhenSendFailed 2;this.retryAnotherBrokerWhenNotStoreOK false;this.maxMessageSize 131072;this.unitMode false;this.producerGroup producerGroup;this.defaultMQProducerImpl new DefaultMQProducerImpl(this, rpcHook);}1.2 消费端重试 消费者消费消息后需要给Broker返回消费状态。以MessageListenerConcurrently监听器为例Consumer消费完成后需要返回ConsumeConcurrentlyStatus并发消费状态。查看源码ConsumeConcurrentlyStatus是一个枚举共有两种状态 public enum ConsumeConcurrentlyStatus {//消费成功ConsumeConcurrentlyStatus,//消费失败一段时间后重试RECONSUME_LATER; }RECONSUME_LATER代表因为某种原因消费失败稍后再试。后续会再次消费 官方文档介绍如下 RocketMQ中的消息无法无限次重新消费当然了手动修改重试次数是可以的不介入的话不行。当重试次数超过所有延迟级别之后。消息会进入死信死信Topic的命名为%DLQ% Consumer组名。 进入死信之后的消息肯定不会再投递了不过可以通过接口去查询当前RocketMQ中死信队列的消息。如果在上层实现自有命令那么可以将消息从死信中移出并重新投递。 死信消息具有以下特性 不会再被消费者正常消费。有效期与正常消息相同均为 3 天3 天后会被自动删除。因此请在死信消息产生后的 3 天内及时处理。 2、保证消息不丢失 分别从Producer发送机制、Broker的持久化机制以及消费者的offSet机制来最大程度保证消息不易丢失 从Producer的视角来看如果消息未能正确的存储在MQ中或者消费者未能正确的消费到这条消息都是消息丢失。从Broker的视角来看如果消息已经存在Broker里面了如何保证不会丢失呢宕机、磁盘崩溃从Consumer的视角来看如果消息已经完成持久化了但是Consumer取了但是未消费成功且没有反馈就是消息丢失 从Producer分析如何确保消息正确的发送到了Broker? 默认情况下可以通过同步的方式阻塞式的发送check SendStatus状态是OK表示消息一定成功的投递到了Broker状态超时或者失败则会触发默认的2次重试。此方法的发送结果可能Broker存储成功了也可能没成功采取事务消息的投递方式并不能保证消息100%投递成功到了Broker但是如果消息发送Ack失败的话此消息会存储在CommitLog当中但是对ConsumerQueue是不可见的。可以在日志中查看到这条异常的消息严格意义上来讲也并没有完全丢失RocketMQ支持 日志的索引如果一条消息发送之后超时也可以通过查询日志的API来check是否在Broker存储成功 从Broker分析如果确保接收到的消息不会丢失? 消息支持持久化到Commitlog里面即使宕机后重启未消费的消息也是可以加载出来的Broker自身支持同步刷盘、异步刷盘的策略可以保证接收到的消息一定存储在本地的内存中Broker集群支持 1主N从的策略支持同步复制和异步复制的方式同步复制可以保证即使Master 磁盘崩溃消息仍然不会丢失 从Cunmser分析如何确保拉取到的消息被成功消费 消费者可以根据自身的策略批量Pull消息Consumer自身维护一个持久化的offset对应MessageQueue里面的min offset标记已经成功消费或者已经成功发回到broker的消息下标如果Consumer消费失败那么它会把这个消息发回给Broker发回成功后再更新自己的offset如果Consumer消费失败发回给broker时broker挂掉了那么Consumer会定时重试这个操作如果Consumer和broker一起挂了消息也不会丢失因为consumer 里面的offset是定时持久化的重启之后继续拉取offset之前的消息到本地
http://www.zqtcl.cn/news/791749/

相关文章:

  • 婚纱网站设计目标无代码制作网页
  • 温州网站提升排名打开搜索引擎
  • 企业市场网络推广方案优化方案答案
  • 茂名网站建设咨询wordpress官网上的主题收费吗
  • 如何自己开发网站WordPress修改前端
  • 哪些网站用黑体做的谁给个网站啊急急急2021
  • aspnet网站开发选择题怎样建设网站是什么样的
  • 专业建站公司电话咨询做暧小视频免费视频在线观看网站
  • 移动软件开发专业seo快排技术教程
  • 怎么推广自己的网站wordpress 管理员
  • 百度权重查询爱站网北京市官方网站
  • 网站代码图片如何查看一个网站流量
  • 上海网站建设公司联系方式自己做的网站主页打开速度
  • 地方网站 源码中国建设银行网站快速查询
  • 有做网站需求的客户网站建设方案就玄苏州久远网络
  • 安徽网站建设方案开发i深圳谁开发的
  • 仿站 做网站seo内容优化是什么
  • 怎么进行网站优化wordpress wampserver
  • 德州市经济开发区建设局网站360免费建站怎么进不去
  • 免费黄页营销网站用wordpress写公司官网
  • 网站建立的研究方案注册公司需要怎么注册
  • 云服务器怎么做网站右26cm
  • php网站的部署老虎淘客系统可以做网站吗
  • 建设一个网站的技术可行性研究怎么找网红合作卖东西
  • 深圳网站设计师培训学校大气全屏通用企业网站整站源码
  • 献县网站建设价格动漫网站设计方案
  • 怎样制作网站电话怎么做网络推广优化
  • 自己有服务器如何建设微网站网站建设的开发方式和费用
  • 网站如何接入支付宝可以看网站的浏览器
  • 档案网站建设的原则网页设计html代码可以查重吗