我如何在全球范围内构建微服务和API?

时间:2018-06-04 15:11:21

标签: api architecture api-design

我有一个关于API和性能的全局可用性的问题。基本上,我们希望构建一个对我们业务至关重要的API,但它必须在全球范围内具有高可用性和高性能,这意味着无论呼叫是在美国,中国还是在中国进行,API的响应时间都应该是最小的。世界上任何其他国家。 API实际上是域驱动的微服务架构的接口。我们目前正在使用Microsoft Azure作为我们的云提供商来托管这些微服务,但我想获得一些关于构建一个能够在全球范围内提高性能的解决方案的建议。我们是否需要在多个地区部署服务才能使这项工作成功?如果是这样,我如何将传入的请求路由到适当的区域?

1 个答案:

答案 0 :(得分:0)

我会使用username作为分区键按区域划分数据。在适当的地方分发您的微服务和数据库,但保留一个中央登录服务。当用户向您的中央注册服务注册时,您可以根据其家庭地址,IP或某些其他地理指示符将其分配到某个区域。当他们第二次返回登录时(使用中央服务),您对它们进行身份验证并从中央数据库中提取其区域。您现在可以将所有其他流量路由到适当的区域以获得最佳性能。

您必须在每个地区实施一整套域名。