据我了解,在两阶段提交之前甚至需要运行往返通信以将事务发送到每个站点。每个站点都会执行他们的事务部分,当协调器从所有站点获得响应时,它会运行两阶段提交。这将启动准备阶段等。
为什么有必要将准备阶段与两阶段提交之前的执行分开?是否有理由不合并执行和准备阶段,从而减少往返通信成本?
这是我之前的问题的后续。
据我了解,在两阶段提交之前甚至需要运行往返通信以将事务发送到每个站点。每个站点都会执行他们的事务部分,当协调器从所有站点获得响应时,它会运行两阶段提交。这将启动准备阶段等。
为什么有必要将准备阶段与两阶段提交之前的执行分开?是否有理由不合并执行和准备阶段,从而减少往返通信成本?
这是我之前的问题的后续。
这样做有几个很好的理由:
此外,在考虑涉及持久性的性能时,您应该关注意味着刷新日志的往返。执行阶段的调用不需要刷新日志,因此应该比准备和提交阶段便宜得多。