消息的前后不一致问题。 1.A系统更新请求参数,记录请求来源。然后再远程调用B系统的接口来处理。在B系统处理成功之后,会发送MQ消息来反馈业务逻辑。 A系统在接收到B系统的MQ消息,相应的处理后续的业务逻辑。比如:推送第三方业务接口等。
以上是正常的逻辑。
2.但是如果顺序是这样的: A系统先远程调用B系统的接口来处理。再更新请求参数,记录请求来源。这样会出现A系统在接收到B系统发送的MQ消息,而无法查询到A系统的请求参数和请求来源。 等于说MQ消息速度大于A系统的顺序执行。导致出现问题。
所以在执行业务逻辑的时候,先将准备数据,然后再处理数据,最后再更新数据。