31

大家用过 API 网关吗?

 3 years ago
source link: https://mp.weixin.qq.com/s/e3_IAg05jS5NAI1b5PV4tg
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

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

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

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

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

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

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

2:API治理

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

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

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

Z7z6V3A.png!mobile

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

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

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

你们公司用了吗?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK