vlambda博客
学习文章列表

大家用过API网关吗

今天和大家说说API网关,根据字面含义,和API接口相关,同时又是服务入口。不知道大家所在公司有没有用过,如果用过,是开源的呢?还是自研?或者是云服务厂商的产品?

早在2012年我第二次在sina的时候,就维护过一个API网关产品,当时领导还让我看了一本API书籍,不过讲的是API基础设施和API经济,不得不说,领导还是很有战略眼光的。

使用PHP做了一个网关层,怕别人说性能问题,我一直底气不足,后来发现大家还挺爱用的,原因就是它提供了接口的数据统计功能,就这么一个功能,使用的人却挺多。

所以说,和一个产品一样,功能再多,技术实现方式再牛,也不一定有用,重要的是提供了价值。

意思就是API网关大家不要理解为一个纯技术的产品,而是要以更开阔的视角去看它。

在我看来,API网关提供了两大核心功能:

1:分层,相比SLB的反向代理和负载均衡,API网关提供了更多的功能,从而简化后端服务,并清晰定义哪些应该是API网关做的,哪些是后端服务做的。

也就是说API网关应该是可编程的。

2:API治理

标准化了整个API生命周期,大家不要小看它,如果一开始就规范化,API开发、维护、生产的效率将会极大提升。

对于大公司来说,可能热衷于自己实现或者二次开发API网关,其实它对于性能和稳定性要求极高,所以使用云厂商的服务相对靠谱一些。

阿里云API网关的核心功能:

那么如何接入API网关呢?它不像其他的云服务,不会很快看到效果,需要很长的时间才能体现它的价值;同时涉及面也比较广,大家只有统一思想,才能用好它。

如果你一开始就用它,包袱会小很多,如果中途接入它,需要面临兼容性的问题。

那它的重要性在哪儿呢?因为不管你用分布式架构还是微服务,内部不管怎么玩,对外基本上还是API接口,所以说API网关永远不过时,这也是我们在选型或者自研产品时候要注意的,一定要选择哪些基础,有长期存在价值的技术服务。

你们公司用了吗?