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

马鞍山市网站建设_网站建设公司_Figma_seo优化

网站建设公司创业计划书,旅游产品设计方案,德阳市建设管理一体化平台网站,如何做网页或网站目录 1. 上文传送门: 2. 前言简介: 2.1 问: 消费端重复循环异常如何解决? 2.2 为什么要使用死信队列 2.3 案例思路 - ps: 以下案例经过测试(思路一/二实现原理一样) - 2.3.1 思路一 - 2.3.2 思路二 3. 案例代码 3.1 简单介绍案例 3.2 声明交换机 队…目录 1. 上文传送门:  2. 前言简介:  2.1 问: 消费端重复循环异常如何解决? 2.2 为什么要使用死信队列 2.3 案例思路 - ps: 以下案例经过测试(思路一/二实现原理一样) - 2.3.1 思路一  - 2.3.2 思路二 3. 案例代码 3.1 简单介绍案例 3.2 声明交换机 队列 以及绑定路由键 3.3 修改配置文件 3.4 发送消息 3.5 接收消息(自动确认) 3.6 开启测试代码 3.7 测试结果 --- 3.7.1 查看交换机 --- 3.7.2 查看队列​编辑 --- 3.7.3 主要查看方向 --- 3.7.4 另外遇到问题 别慌 1. 上文传送门:  微服务: 00-rabbitmq出现的异常以及解决方案 微服务: 01-rabbitmq的应用场景及安装(docker) 微服务: 02-rabbitmq在springboot中如何使用(上篇) 微服务: 03-rabbitmq在springboot中如何使用(下篇) 微服务: 04-springboot中rabbitmq配置,消息回收,序列化方式 2. 前言简介:  上面文章是安装, 基础测试案例, 下面是进阶的第一篇文章 本篇主要介绍自动确认进入死信队列 手动确认在下一篇介绍 2.1 问: 消费端重复循环异常如何解决? 使用 RabbitMQ 的重试机制当消费者处理消息失败时可以将消息重新放回队列中并设置一定的重试次数和重试时间间隔。如果超过了重试次数仍然处理失败则可以将消息放入死信队列中方便后续处理 2.2 为什么要使用死信队列 无法被消费的消息, 这样的消息如果没有后续的处理就会一直在正常队列里重复重试, 所以加入私信队列后 进行人工补偿, 也可以分等级 哪些重要消息需要优先处理 2.3 案例思路 - ps: 以下案例经过测试(思路一/二实现原理一样) - 2.3.1 思路一  两个交换机(一个正常exchange 一个死信exchange)  两个队列(正常queue,死信queue) 一个队列一个路由键  正常交换机绑定正常queue 绑定路由键 同理 - 2.3.2 思路二 一个交换机  两个不同路由键 然后绑定(本文使用) 3. 案例代码 3.1 简单介绍案例 服务A发起请求到 rabbitmq,  服务B监听并处理消息, 报错了, 重试了五次还不行后 , 进入死信队列 3.2 声明交换机 队列 以及绑定路由键 Beanpublic DirectExchange pzyExchange() { // return new DirectExchange(pzy_exchange, true, false);return ExchangeBuilder.directExchange(pzy_exchange).build();}Beanpublic Queue deadLetterQueue() {return QueueBuilder.durable(order_dead_queue).build();}Beanpublic Binding deadBinding(Queue deadLetterQueue, DirectExchange pzyExchange) {return BindingBuilder.bind(deadLetterQueue).to(pzyExchange).with(orderDeadRoutingKey);}Beanpublic Binding normalBinding(Queue normalLetterQueue, DirectExchange pzyExchange) {return BindingBuilder.bind(normalLetterQueue).to(pzyExchange).with(orderNormalRoutingKey);}Beanpublic Queue normalLetterQueue() {MapString, Object arguments new HashMap(3);arguments.put(x-dead-letter-exchange, pzy_exchange);arguments.put(x-dead-letter-routing-key, orderDeadRoutingKey);arguments.put(x-max-length, 200);return QueueBuilder.durable(order_normal_queue).withArguments(arguments).build();} 3.3 修改配置文件 微服务: 04-springboot中rabbitmq配置,消息回收,序列化方式 3.4 发送消息 rabbitTemplate.convertAndSend(pzy_exchange, orderNormalRoutingKey, 我是消息); 3.5 接收消息(自动确认) 自动确认, 在重试结束后, 自动进入死信队列 (手动确认的下文在介绍) RabbitListener(queues #{normalLetterQueue.name})public void oldHoldInNewPurchaseData(Message message, String message1, Channel channel) throws IOException {log.info(获取到mq消息消息内容为{}, message);log.info(mq接收到的对象{}, aixiPurchaseRequestDTO); // System.out.println(map);try {// int i new Random().nextInt(5);// if (i 1) throw new OrderServiceException(ResponseEnum.E40008, 后端测试报错回收机制!);//60% 概率报错 // if (true) throw new OrderServiceException(ResponseEnum.E40008, 后端测试报错回收机制!);//100% 报错// channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);} catch (Exception e) {e.printStackTrace();log.error(异常 {}, e.getMessage());throw new OrderServiceException(ResponseEnum.E40008, e.getMessage());} finally { // channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);}} 3.6 开启测试代码 第一个判断(60%): 是查看是否在第一次报错后续消费成功后 是否进入死信队列 第二个判断(100%): 是测试重试机制(次数)过后 是否进入死信队列 抛出 throw new RuntimeException(测试报错!) 就可以 int i new Random().nextInt(5); if (i 1) throw new OrderServiceException(ResponseEnum.E40008, 后端测试报错回收机制!);//五分之三概率报错 //if (true) throw new OrderServiceException(ResponseEnum.E40008, 后端测试报错回收机制!);//五分之三概率报错 3.7 测试结果 --- 3.7.1 查看交换机 有没有绑定两个路由键(没有查看绑定配置) --- 3.7.2 查看队列 --- 3.7.3 主要查看方向 查看是不是最后一次报错后 才进入死信队列 报错异常是不是无限制循环报错 --- 3.7.4 另外遇到问题 别慌 先把交换机和队列都删了 然后再重试 [如果生产者和消费者配置是独立的 看看队列声明时是否相同, 不同删了队列重启项目]
http://www.ihoyoo.com/news/113251.html

相关文章:

  • 模板出售网站源码漯河网站建设e
  • 国内做任务得数字货币的网站自助建站免费建站平台
  • 本地网站服务器搭建升级网站服务器
  • 官方网站app工信部网站备案验证码
  • dedecms仿站教程网站建设作业多少钱
  • 北安网站建设企业网站建立教程
  • 自建网站公司深圳网站建设制作网络公司
  • 建设网站需要的资源网站制作学费多少钱
  • 为什么打不开建设银行网站企业申请域名
  • 网站制作公司茂名手机网站内容模块
  • asp.net 如何设置网站首页wordpress中科大字体
  • 广州做网站优化哪家专业成都商务网站建设
  • 200做网站360免费建站永久免费
  • 网站建设知名公司wordpress 替换谷歌
  • 做建筑的网站考试系统 微网站是什么样的
  • html5响应式网站开发教程百度关键词搜索查询
  • 成都兼职做网站阿里云wordpress帮助
  • 门户网站建设投入seo入门培训班
  • 做网站开发学什么语言好百度ai人工智能
  • 如何下载js做的网站企业网站构建方案
  • 苏州企业网站关键词优化陕西省建设厅网站
  • 番禺网站开发企业南通高端网站
  • 做网站如何突出网站特色创意旅行社wordpress
  • 怎么把别人做的网站变成自己的市场营销论文4000字
  • 简述电子商务网站开发的基本流程做网站去哪里做
  • 做网站东莞东莞建网站上海松江建设工程开发有限公司网站
  • 南宁哪里做网站网站可以不进行icp备案吗
  • ps做 网站标准尺寸是多少萍乡企业做网站
  • 东圃手机网站制作费用观山湖网站建设推广
  • 环球资源网站semester是什么意思