我们公司为电子闸机开发了一个软件。客户高度强调的要求之一是旋转栅门应该离线工作。出于审计目的,闸机还应将每次通过尝试发送到我们的主服务器。实际上,我的任务是确保两个分布式表,一个在旋转门机器上,运行 Windows 和 SQLite,另一个在服务器上,运行 Linux 和 Oracle,彼此始终保持一致。
旋转门(客户端)通过高度不可靠的无线网络与服务器通信,使用 SOAP over HTTP。
在我们与客户的下一次谈判中,我们将讨论出现网络分区时闸机应该做什么。由于我们显然不能在这里牺牲可用性,我们正在失去一致性。
所以,我的问题是:使用 CAP 定理让我们的客户相信当网络分区发生时我们不会保证一致性是一个好策略吗?对他们说:您不能离线使用旋转门并尝试通过审核,因为... CAP 定理?