我们目前在澳大利亚拥有 API 和数据库,并正在尝试减少其他国家的延迟。
目前,掌握同步数据库的 CAP 定理可能有点超出范围,但我们正在研究跨多个地区进行水平扩展(例如,在美国/欧盟/亚洲设有服务器)。
现在,我感到困惑的是,这种方法是否会带来延迟方面的好处?让服务器更靠近用户显然有好处,但作为交换,数据库(仍在澳大利亚)现在离用户更远了。
我希望这一切都有意义,我对 devOps 之类的东西还很陌生。
答案1
这主要取决于您的用例。例如,数据库写入与数据库读取的分布通常大于 1:10。此外,用于读取的 API 端点通常比用于创建/更新/删除操作的 API 端点使用得更多。在这种情况下,您可以为某些查询实现本地缓存以减少响应时间。
此外,为数据库设置多区域只读副本也相当容易。许多托管数据库 (MongoDB Atlas、Amazon RDS 等) 都支持此功能。
答案2
我认为这个问题缺少一些背景。
我假设您的意思是您想在(美国/欧盟/亚洲)建立 API 服务器。
这很大程度上取决于 API 实际在做什么。
如果您可以在 API 服务器上缓存,那么您可以获得更好的延迟。