如何在智能告警平台CA触发测试告警
694
2022-11-04
软件测试培训之MQ测试的缺点
MQ 这么好用,难道就没有缺点吗? 有。
如果 MQ 宕机了,不能用了,那么后面的流程也没法处理了。
存在一致性问题。比如订单系统创建好了订单,发给下游的消息没发出去,那么就产生了脏数据。再比如,先发送了订单的消息,再去创建订单,如果创建失败了,消息却发送成功了,此时下游以为已经创建好了订单。
其他问题,比如消息丢失,重复发送相同消息,消息被其他系统消费,消息大量积压等等,都需要我们有对应方案解决。
对于一致性问题,在 testerhome 有看到过一位大佬分享的经验:
首先,消费者在消费成功后通过同步请求或者另一条 mq 队列,反馈给生产者,生产者更新自己内部这条消息的状态为已处理。
同时生产者内置一个定时任务,查看内部所有待处理消息是否超时,如果超时,进行自动补偿。补偿大概步骤是:
若消费者反馈已消费,直接更新生产者自身内部消息状态
若消费者反馈未收到,则进行预警,人工介入处理(一般不会直接重发,因为重发有可能引发更严重的问题,如加剧 mq 消息堆积的情况)
发表评论
暂时没有评论,来抢沙发吧~