项目的话是 springboot+springcloud 支付系统中,微信 /支付宝在支付成功后,会通知到 notifyurl,在回调方法里把支付的结果发条消息到 MQ 里,订单系统去监听,然后修改订单状态。 那么如果要增加用户积分、发货啊这些后续操作的话,是不是需要订单系统发送消息,让积分系统、物流系统去监听来处理各自的业务?或者是有什么其他好的办法么?
1
QZFCANBA OP 还是用 feign 在订单系统里,去调用其他的服务来完成,这个方案是不是不大好
|
2
RedBeanIce 2020 年 7 月 2 日
分布式调用吗。。。emmmmm
|
3
gz911122 2020 年 7 月 2 日
增加用户积分、发货这些服务自己去订阅消息..
支付系统支付成功后写消息就完事了. 别走远程调用. 后期需要订阅这个事件的部门 /团队可能会很多, 让他们自己订阅消费去吧.. |
4
kop1989 2020 年 7 月 2 日
如果三个微服务分别去监听,如果某个业务出现异常,如何保证数据是平的?
比如积分系统报错没积上,但是订单系统和物流系统正常响应了。怎么再去修正补录积分? |
7
gz911122 2020 年 7 月 2 日
@QZFCANBA
直接支付系统发啊. 细节一些就是, 支付和订单状态流转是一个服务, 这样方便直接本地事务. 规避了一堆分布式事务的破事,. 具体的订单查询啊 统计, 可以抽取个订单服务出来, 但是这个订单服务是不涉及订单状态流转的. |