如果给定一个 consul KV key a/key,其中有多个代理服务器实例正在运行,如果:
向创建密钥端点发出两个请求 A(将值设置为val-a)和 B(将值设置为),而不使用参数或更新相同的密钥:val-b casacquirea/key
- 如果 A 和 B 并行生成,密钥的值是否会损坏?
- 或者如果 A 比 B 稍微早一点,最终值仍然可以变为
val-a吗?
如果 Consul 同时收到两个写请求,数据不会损坏。写入请求将由领导者串行处理,因此 的值a/key将变为val-a或val-b,以最后处理的为准。
您可以在 Consul 的共识协议文档中找到有关 Consul 如何写入数据的详细信息。