关于云API3.0就近原则的一个“小故事”

2018-07-14 15:52:03 浏览数 (1)

讲故事了,讲故事了:

不知道使用云API的小伙伴,是否注意到了这样一句话:

这句话什么意思呢?

其实这句话包括了两部分:

1:云API 3.0版本,是支持就近接入,也就是说,系统会根据你的IP,就近接入你的请求,给你反馈结果

2:云API 3.0版本,也支持自由选择区域,也就是说,你想要制定广东,就选择广东

那么传递给我们的这两个信息有什么区别?对用户来说有什么好处呢?

我们可以看一下:

以腾讯云 云服务器 CVM为例,他的域名为:

cvm.tencentcloudapi.com

这个域名可以理解成是传说中3.0版本的而创新点:就近原则,就近接入

另外我们那几个其他的域名作为对比:

cvm.ap-beijing.tencentcloudapi.com

cvm.ap-singapore.tencentcloudapi.com

cvm.ap-shanghai.tencentcloudapi.com

cvm.ap-guangzhou.tencentcloudapi.com

cvm.na-siliconvalley.tencentcloudapi.com

为了更加清晰直观体现:

因为我所在的区域是深圳,所以这里推荐区域,给我就近接入了广州,可以看到,就近接入,也就是广州,目前是测试表格中,ping后得到的往返行程估计时间最少的:

突然,有没有觉得API3.0的就近接入很厉害?水平很高?

其实,在我们使用云API的时候,虽然说某些情况下差几十毫秒甚至几百毫秒可能对我们没影响,但是,很多很多情况下,我们差几毫秒都可能会给我们造成极大损失,所以,腾讯云 API 3.0的就近做法,可以说是一个巨大的进步。一方面,提高了效率,另一方面,提高了极端环境下的稳定性和实时性!


更:

感谢zqfan为本文提出建设性意见:

就近接入这个特性AWS和Ali都不支持。文章相比指定带地域的域名,就近接入还有其他的优势没有提到:1)提高用户业务的敏捷性,你的代码不需要修改可以部署在任意地域,都会自动选择最近的接入点;2)提高腾讯云的可用性,如果出现不可抗的自然灾害,例如成都地震骨干网中断,成都接入点无法访问了,此时运维可以踢掉成都节点,用户的下一次请求是自动路由到最近的,例如重庆的接入点,此时访问除成都外其他地域的资源是不受影响的。

1)提高用户业务的敏捷性,你的代码不需要修改可以部署在任意地域,都会自动选择最近的接入点

针对这一条,其实是非常重要的,传统的用户如果想要降低API的延时,或者说提高效率,通常会根据自己的接入区域而修改不同的代码,假如说用户的某段代码跑在了北京的某台服务器上面,另一段代码跑在了成都服务器上面,那么用户就可能要对两段代码进行单独维护,来降低调用API的延时,至少目前在用华为云,Aliyun等是需要做类似的操作,如果想要维护一段代码,要么是增加代码复杂度,要不就是以牺牲延时为代价。而腾讯云的就近接入,确实是可以大大减低用户的维护成本,提高API代码或者用户写的程序的敏捷程度。

使用API通常会是提高效率或者是实现某些目前控制台难以实现的功能,既然是提高效率,那么延时降低也是要我们尽可能要做的。而腾讯云目前确实是做到了,而且效果立竿见影!

2)提高腾讯云的可用性,如果出现不可抗的自然灾害

这个内容算是一个特性,或者说是一个应用层面的特性,因为腾讯云的提供的就近接入原则,确实是一种“高可用性”或者是“长久可用性”的表现,可以想象,传统的按照地域进行接入,如果地域出现故障,那么很可能救火出现API挂掉,如果要是就近接入了,那么就算地域API挂掉,他也会选择存活的节点,选择就近原则,这样不仅仅确保了API的可用性,也在另一个层面持续的为降低延时努力。

再次感谢zqfan的意见。


另外附上,腾讯云API的区域链接地址:

https://cloud.tencent.com/document/api/213/15691

0 人点赞