A服务调用B,C两个服务,当A服务调用B,C两个服务成功后。B,C如果执行没有异常,就会等待A服务通知提交事务,期间也会有线程通过事务组id获取事务状态。如果事务组超时前B,C没有收到可以提交的状态,就会回滚。A服务如果仅仅是因为线程阻塞等非异常问题导致的处理时间超时A会正常提交。这个问题可以找到lcn源码,做抛出异常,自己捕获处理。
文章讲述了在分布式系统中,A服务如何调用B和C两个服务并进行事务管理。当A服务的调用成功后,B和C服务需等待A的通知来决定是否提交事务。如果在事务组超时前未收到提交信号,B和C将执行回滚。对于A服务,若因线程阻塞而非异常导致的超时,它仍会正常提交。读者可以通过分析LCN的源码来理解和处理这类异常情况。
A服务调用B,C两个服务,当A服务调用B,C两个服务成功后。B,C如果执行没有异常,就会等待A服务通知提交事务,期间也会有线程通过事务组id获取事务状态。如果事务组超时前B,C没有收到可以提交的状态,就会回滚。A服务如果仅仅是因为线程阻塞等非异常问题导致的处理时间超时A会正常提交。这个问题可以找到lcn源码,做抛出异常,自己捕获处理。
1859
465
1788

被折叠的 条评论
为什么被折叠?