天天看点

配合智能DNS实现API海内外用户分流

随着api经济的流行,一些受欢迎的api业务的调用者会越来越多,目前api网关上的provider基本上只是在离其办公地点近的region部署一套api,比如驻扎在北京的provider,只是在阿里云的北京region部署了一套自己的api,而他的海外用户调用这套api在网络上的耗时就会相对比较多。

目前api网关已经在国内外都部署了多个节点,对于海外用户的就近接入的技术方案创造良好的条件。目前api网关在国内的杭州,北京,上海 ,深圳,青岛,五个region都部署了节点。

配合智能DNS实现API海内外用户分流

api网关在国外的新加坡region已经部署上线了节点,业务在国外的provider可以选在使用新加坡的api网关给用户提供服务。api网关的美国region的部署也已经在部署的计划中,明年大家就能用上了。

配合智能DNS实现API海内外用户分流

下面我们聊一下如何配合智能dns在api网关上合理地实现api的就近接入。首先我们来看一下就近接入的系统架构图。

配合智能DNS实现API海内外用户分流

我们来总结下这套架构的特点:

1.provider在国内外都部署一套应用服务,并在api网关将api暴露出来;

2.不同地区的consumer的客户端通过智能dns就近接入对应的api网关;

3.provider的应用服务通过高速通道交互数据。

这套架构让整个数据通道没有瓶颈点,用户和接入层api网关之间非常近,网关和provider的应用服务、rds等云存储在同一个region内,都属于内网通信 ,也会很快。两个region之间的通信通过阿里云的高速通道来完成,也将得到通信速度的保证。

我们把重点放在前端,具体在阿里云上如何配置才能让consumer的客户端能够找到离他最近的api网关来接入呢。

下面我总结下配置的步骤给大家参考:

1.provider在各个region内的api网关上发布api的时候,会建立api分组来管理这些api,每个分组都会有一个阿里云分配的子二级域名,我们可以在分组的详细信息页看到这个二级域名:

配合智能DNS实现API海内外用户分流

这样我们在每个region会得到一个二级域名。

2.provider对consumer的客户端提供统一的域名,域名为api.abc.com,可以在阿里云的域名解析内这样配置:通过解析线路的不同,将海外解析线路的记录值修改为海外region的group的二级域名的值,然后默认的设置为国内region的值。

配合智能DNS实现API海内外用户分流

provider设置完成后,一般十分钟后dns就生效了,国外用户的的请求就都发送到国外的api网关了,国内的请求仍然发送到默认的国内api网关。

继续阅读