我们有两个系统,A
和B
。系统 B 发送写入和读取请求,并且 A 使用 A 中的现有引擎 E_current 为每个读取请求返回响应。每个写入请求都会导致现有引擎 E_current 的修改。
E_current 将定期被 E_new 替换。在更新过程中,E_new 还不能使用。此续订过程中出现的一些读取请求取决于续订过程开始后出现的写入请求。新引擎 E_new 还应该对更新过程中出现并已由 .
更新过程完成后,E_current 将被驱逐,E_new 变为 E_current。
要求:
- 请求是完全并发的。例如,在处理读取请求时可能会出现写入请求。
- 对任何引擎 E 的多次修改都可能导致状态不一致,应保持状态一致性。
图表: