1. 如果优惠券系统的数据库宕机,会怎么样?
假设我们的MQ使用都没有问题,但是如果我们的优惠券系统的数据库宕机了呢?因为我们一直都是假设了一个场景,就是订单支付成功之后会推消息到MQ,然后优惠券系统、红包系统会从MQ里获取消息去执行后续的处理,比如发红包或者发优惠券。
那么如果这个时候,优惠券系统的数据库宕机了,就必然会导致我们从MQ里获取到消息之后是没办法进行处理的。
所以针对这样的一个坑爹的异常场景,我们应该怎么处理?优惠券系统应该怎么对消息进行重试?重试多少次才行?万一重复重试都没法成功,这时候消息应该放哪儿?
2. 数据库宕机的时候,你还可以返回CONSUME_SUCCESS吗?
在下面代码片段中,可以清晰的看到,我们注册了一个监听器回调函数,当consumer获取到消息之后,就交个我们的函数来处理
consumer.registerMessageListener(