coolbeevip commented on issue #563: pack问题汇总反馈 URL: https://github.com/apache/servicecomb-pack/issues/563#issuecomment-534452072 > 7\. RPC次数较多:每个分支有两次请求,加上开启与提交,如果有n个分支,SAGA RPC次数是2n+2,TCC是3n+2。我们觉得实在太多了,可以砍掉一部分。我们假定大部分情况下分布式事务是成功的,如果成功率太低,这个接口没有意义。所以,对于分支事务开始会发RPC请求,但结束时不会,除非发生异常会进行RPC请求。这样一个事务正常情况下,SAGA变为n+2,TCC变为2n+2; 无论如何,这个想法很独特(如果是让我选择只能发送一个消息,那我可能会选择只发送子事务的结束消息),但是子事务只发送一个消息会存在一些缺陷 1. 无法确定子事务是否已经执行完毕,如果靠判断当收到一个子事务开始事件就意味之前的子事务结束,那么我无法扩展子事务并行的场景 2. 当无法判断一个子事务是否结束就进行补偿,这可能会导致不可预知的问题发生 关于 RPC 效率问题,0.5.0版本使用状态机,Alpha 收到 RPC 消息后不会操作数据库,所以吞吐率会提高很多。
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
