从品牌网站建设到网络营销策划,从策略到执行的一站式服务
小编给大家分享一下Spring RabbitMQ死信机制的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
我们提供的服务有:成都网站制作、网站设计、微信公众号开发、网站优化、网站认证、新昌ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的新昌网站制作公司
死信队列:没有被及时消费的消息存放的队列,消息没有被及时消费有以下几点原因:
1.有消息被拒绝(basic.reject/ basic.nack)并且requeue=false
2.队列达到最大长度
3.消息TTL过期
采用死信机制的好处是可以提高系统的稳定性,当消息消费失败后,消息进入死信队列,可以对消息进行补偿,可以达到最终一致性的目标.
具体例子如下:
@Bean public Queue deadQueue() { return new Queue(DEAD_QUEUE_NAME, true); } @Bean public DirectExchange deadExchange() { return new DirectExchange(DEAD_EXCHANGE_NAME); } @Bean public Binding bindingDeadExchange(Queue deadQueue, DirectExchange deadExchange) { return BindingBuilder.bind(deadQueue).to(deadExchange).with(DEAD_ROUTING_KEY); } @Bean Queue directQueue() { Mapargs = new HashMap<>(2); args.put("x-dead-letter-exchange", DEAD_EXCHANGE_NAME); args.put("x-dead-letter-routing-key", DEAD_ROUTING_KEY); return new Queue(DIRECT_QUEUE_NAME, true, false, false, args); }
只要简易的配置,这样消费失败的消息就能被收集起来,后续我们可以实现一个死信消费者,将死信消息进行补偿。
如果是想手动补偿,可以将死信消息存入数据库,做一个管理页面去做补偿.
看完了这篇文章,相信你对“Spring RabbitMQ死信机制的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图