MQ:Message Queue,即消息队列,是一种应用程序之间的消息通信,简单理解就是A服务不断的往队列里发布信息,另一服务B从队列中读取消息并执行处理,消息发布者不需要关心是谁消费了消息,消息消费者不需要关心发布消息的是谁,互不干扰。
//如果没有拉到数据 case ResponseCode.PULL_NOT_FOUND: // broker 和 consumer 都允许 suspend,默认开启 if { long pollingTimeMills = suspendTimeoutMillisLong;
上面的场景:在电商系统中,会出现,付款成功后,准备发优惠券的时候,服务器宕机了。这种情况下,我们很容易想到用事务来保证付款和发优惠券的原子性即可:要么付款和发优惠券同时成功,要么同时失败,是不允许其他一个成功,另一个失败的。