这是Spanner 论文用单行掩盖的一个细节,我希望 Google 的某个人能够解释一下。
客户端使用每个区域的位置代理来定位分配给其数据服务的跨度服务器。
- 客户端如何确定位置代理的 IP 地址?
- 在他们检索数据之后,客户端是否将这些数据缓存在某个地方,或者他们是否在每次读取和写入时都与位置代理通信?
- 如果客户端上有缓存,客户端如何发现需要更新?
这是Spanner 论文用单行掩盖的一个细节,我希望 Google 的某个人能够解释一下。
客户端使用每个区域的位置代理来定位分配给其数据服务的跨度服务器。
Spanner 现在是 Google Cloud Platform 服务,因此您可以查看文档并使用该服务。
https://cloud.google.com/spanner/docs/
基本上,我们将所有内容自动路由到可以响应您请求的最近版本的数据。您只需寻址实例,我们进行路由,因此您不能直接寻址副本。
将回答第一个问题,因为此时位置代理的详细信息尚未公开。
Google 的命名解析是使用 Borg 解决的,请参阅Borg 论文的第 2.6 节。
客户端如何确定位置代理的 IP 地址?- 据我了解,客户端只知道客户端连接的每个 DC 地址
在他们检索数据之后,客户端是否将这些数据缓存在某个地方,或者他们是否在每次读取和写入时都与位置代理通信?- 实际上找不到任何关于缓存的信息。我认为不支持缓存,因为 Spanner 将存储数百 PB
如果客户端上有缓存,客户端如何发现需要更新?- 客户端没有本地缓存