打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一对一聊天平台源码,利用重试机制构建弹性系统
userphoto

2023.12.21 山东

关注

在网络不稳定的情况下,消息在传输过程中可能会出现各种问题,比如丢失、阻塞等等,此时消费者无法成功接收消息,系统则无法执行对应事务,为解决该问题,也为了构建更具弹性的系统,在一对一聊天平台源码开发时,可以实现重试机制。


一、生产者发送重试

生产者发送重试是重试机制中比较重要的一个环节,在该环节中有很多需要注意的事项:

1、生产者重试次数

在一对一聊天平台源码开发时,需要在客户端配置好消息的最大重试次数,这样消息发送失败后就会根据设置的重试次数进行重新发送,直至发送成功或达到最大重试次数。在配置最大重试次数时要考虑业务请求的整体耗时,避免增加全链路耗时,影响系统整体性能。

2、生产者重试间隔

过于频繁的重试可能会占用大量的系统资源,所以在一对一聊天平台源码中实现重试机制时,要注意重试间隔,设置重试间隔时要考虑到流控问题,在非流控错误场景可立即重试,但在流控错误场景则需要按照预设的指数退避策略进行延迟重试。


二、消费者消费重试

消费者消费重试也是重试机制中的关键环节,所谓消费重试是指消费者在消费某条消息失败后,服务端根据重试策略向客户端重新投递该消息,在消费者消费重试环节中,我们需要注意以下问题:

1、在一对一聊天平台源码开发中,消费者消费重试也得设置消费最大超时时间和次数,如果消费者消费重试超过一定次数仍未成功,则不再继续重试,直接将消息发送到死信队列中。

2、消费者消费重试是给予系统一个应对异常的机会,不应该被用于常态化的链路。

3、消费者消费重试适用于业务处理失败,但预期一段时间后可执行的小概率事件场景中。

4、在一对一聊天平台源码开发时,不能用重试代替限流。

5、由于发送重试和消费重试可能会导致某一消息重复消费,所以在一对一聊天平台源码开发时要在消费方实现幂等设计。


在一对一聊天平台源码开发时实现重试机制,可以让系统在短暂的瞬态故障中恢复,可以更好的保证用户的使用体验,不过在实现重试机制的同时,也可能会引发一些问题,只有合理的使用重试机制,才能构建出更弹性的系统。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
探索RocketMQ的重复消费和乱序问题
从实用性和特色出发,带货直播源码掌握了发展精髓
【经济学通识365 】 第五十四讲:消费者主权与企业家精神
librdkafka配置参数
如何保证消息队列的可靠性传输?
如何避免消息丢失
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服