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

九江浔阳网站建设深圳本地网站建设

九江浔阳网站建设,深圳本地网站建设,jquery wordpress,上海计算机网页制作RabbitMQ消息的可靠性 一 生产者的可靠性 生产者重试 有时候由于网络问题#xff0c;会出现连接MQ失败的情况#xff0c;可以配置重连机制 注意#xff1a;SpringAMQP的重试机制是阻塞式的#xff0c;重试等待的时候#xff0c;当前线程会等待。 spring:rabbitmq:conne…RabbitMQ消息的可靠性 一 生产者的可靠性 生产者重试 有时候由于网络问题会出现连接MQ失败的情况可以配置重连机制 注意SpringAMQP的重试机制是阻塞式的重试等待的时候当前线程会等待。 spring:rabbitmq:connection-timout: 1s #设置MQ的连接超时时间templete:retry:enabled: true #开启超时重试机制initial-interval: 100ms #失败后的初始等待时间multipier: 1 #失败后下次的等待时长倍数 下次等待时长initial-interval*multipiermax-attempts: 3 #最大重试次数生产者确认 1在生产者服务的yaml文件中配置一下内容 spring:rabbitmq:publisher-confirm-type: correlated #开启publisher confirm机制并设置为MQ异步回调方式返回回执信息publisher-returns: true #开启publisher return机制2配置return-callback Slf4j Configuration public class CommonConfig implements ApplicationContexAware{Overridepublic void setApplicationContext(ApplicationContent applicationContext){// 获取MQRabbitTemplate rabbitTemplate applicationContext.getBean(RabbitTemplate.class);// 设置returnCallbackrabbitTemplate.setReturnCallback((message,replyCode,replyText,exchange,routingKey)-{log.info(消息发送失败应答码{}原因{}交换机{}路由键{}消息{},replyCode,replyText,exchange,routingKey,message.toString()); });} }3发送消息指定消息ID消息的ConfirmCallback 相比于发布消息多了消息的confirm Test public void testPubliserConfir()throw InterupteDException{// 创建correlationDataCorrelationData cd new CorrelationData(UUID.randowUUID().toString());// 给Future添加ConfirmCallbackcd.getFuture().addCallback(new ListenableFutureCllbackCorelationData.Confirm(){Overridepublic void onFailure(Throwable ex){// Future发生异常时的处理逻辑一般不触发log.error(handle message ack failex);}Overridepublic void onSuccess(CorrelationData.Confirm result){// Future接收到回执的处理逻辑if(result.isAck()){log.debug(发送消息成功收到ACK);}else{log.error(发送消息失败收到NACK,reason:{},result.getReson());}} }); // 发送消息 rabbitTemplate.coverAndSend(hmall.direct,red,hello,cd); }二 MQ的可靠性 MQ的持久化可以使用Lazy Queue 1通过配置类 Bean public Queue lazyQueue(){return QueueBuilder.durable(lazy.queue)// 队列名称.lazy()//开启lazybulid(); }1基于注解 RabbitListener(queuesToDeclare Queue(namelazy.queue,durableture,argumentsArgument(namex-queue-mode,valuelazy) )) public void listenLazyQueue(String msg){log.info(接收到 lazy.queue的消息{},msg); }三 消费者确认 消费者确认机制 可以通过配置来进行确认 spring:rabbitmq:listenner:simple:prefetch: 1acknowledgs-mode: auto #确认机制 none-关闭ackmanual-手动ackauto-自动消费失败处理 重试机制 spring:rabbitmq:listenner:simple:prefetch: 1retry:enabled: true #开启超时重试机制initial-interval: 100ms #失败后的初始等待时间multipier: 1 #失败后下次的等待时长倍数 下次等待时长initial-interval*multipiermax-attempts: 3 #最大重试次数stateless: true #true为无状态若业务包含事务则使用false 失败处理策略 代码实现 Slf4j Configureation ConditionalOnProperty(prefixspring.rabbitmq.listenner.simple.retry,nameenable,havingValuetrue)// 只有重试机制是true才生效 public class ErrorConfiguration{Bbeanpublic DirectExchange errorExchange(){return new DirectExchange(error.direct);}Beanpublic Queue errorQueue(){return new Queue(error.queue);}Beanpublic Binding errorBinding(DirectExchange errorExchange,Queue errorQueue){return BindingBuilder.bind(errorQueue).to(errorExchange).with(eooro);}/*** 重试失败处理策略* RepublishMessageRecoverer:重试失败后将消息发送到指定的队列中*/Beanpublic MessageRecoverer messageRecoverer(RabbitTemplate rabbitTemplate){log.info(MessageRecoverer 重试失败处理策略配置);return new RepublishMessageRecoverer(rabbitTemplate,error.direct,error);} }四 业务幂等性 消息唯一id 业务判断
http://www.w-s-a.com/news/269690/

相关文章:

  • 网站怎么制作小程序wordpress实时获取qq资料
  • 网站的流量怎么赚钱经销做网站都有什么好处
  • 如何做好网站首页企术建站
  • 杭州网站建设咨询蓝韵网络聊城有制作网站的吗
  • 网站开发注意的事项深圳企业网站
  • 哈尔滨网站制作哪里专业网站建设维护有哪些内容
  • 花的网站建设规划书网络营销培训
  • 又拍云wordpress全站cdn无锡做网站品牌公司
  • 计算机网络工程网站建设黄石建设信息网站
  • 旅游网站开发毕业设计开题报告青岛网站建设服务公司
  • 人员调动在网站上怎么做网站开发课程意见和建议
  • 卓训网是个什么网站wordpress命令执行时间
  • 网站建设需要做哪些工作网片焊接
  • 网站优化方案dedecms win8风格网站模板
  • 企业如何制作网站管理系统慈溪住房和城乡建设部网站
  • 青岛网站建设有哪些公司区块链网站开发价格
  • 怎么设置网站的logo微信公众号的h5网站开发6
  • 粉色的网站绍兴市建设局网站
  • 个人网站的基本风格是wordpress 模板选择
  • 南昌专业做网站公司有哪些广州市住房城乡建设部门户网站
  • 福州网站建设团队淘宝联盟网站怎么建设
  • 福州企业网站建站模板国内黑色风格的网站
  • 好看的网站首页设计android移动开发
  • 域名注册完成后如何做网站域名 删除 wordpress
  • wordpress xml导入大小东莞seo优化方案
  • 网站建设效益网站销售怎么做的
  • 利用网站空间做代理设计方案的格式范文
  • 无锡建设工程质量监督网站遵义做手机网站建设
  • 衡阳商城网站制作ps做网站首页规范尺寸
  • 微信网站应用开发营销推广的方案