软件测试培训之MQ测试的缺点

网友投稿 694 2022-11-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

软件测试培训之MQ测试的缺点

MQ 这么好用,难道就没有缺点吗? 有。

如果 MQ 宕机了,不能用了,那么后面的流程也没法处理了。

存在一致性问题。比如订单系统创建好了订单,发给下游的消息没发出去,那么就产生了脏数据。再比如,先发送了订单的消息,再去创建订单,如果创建失败了,消息却发送成功了,此时下游以为已经创建好了订单。

其他问题,比如消息丢失,重复发送相同消息,消息被其他系统消费,消息大量积压等等,都需要我们有对应方案解决。

对于一致性问题,在 testerhome 有看到过一位大佬分享的经验:

首先,消费者在消费成功后通过同步请求或者另一条 mq 队列,反馈给生产者,生产者更新自己内部这条消息的状态为已处理。

同时生产者内置一个定时任务,查看内部所有待处理消息是否超时,如果超时,进行自动补偿。补偿大概步骤是:

若消费者反馈已消费,直接更新生产者自身内部消息状态

若消费者反馈未收到,则进行预警,人工介入处理(一般不会直接重发,因为重发有可能引发更严重的问题,如加剧 mq 消息堆积的情况)

上一篇:滴滴夜莺配置grafana
下一篇:滴滴夜莺之自定义插件
相关文章

 发表评论

暂时没有评论,来抢沙发吧~