随着API越来越宽泛和规范化,对标准化、平安协定和可扩展性的需要呈指数级增长。随着对微服务的趣味激增,这一点尤其如此,微服务依赖于API进行通信。API网关通过一个绝对容易实现的解决方案来满足这些需要。
兴许最重要的是,API网关充当用户和数据之间的中介。API网关是针对不正确裸露的端点的根本故障爱护,而这些端点是黑客最喜爱的指标。思考到一个被毁坏的API在某些状况下可能会产生惊人的灾难性结果,仅此一点就使得API网关值得摸索。网关还增加了一个有用的形象层,这有助于未来验证您的API,避免因为版本控制或后端更改而导致的中断和服务中断。
可怜的是,许多API网关都是专有的,而且价格不便宜!值得庆幸的是,曾经有几个开源API网关来满足这一需要。咱们曾经回顾了六个驰名的开源API网关,您能够自行测试,而无需向供应商作出大量承诺。
Kong Gateway (Open Source)
Kong Gateway(OSS)是一个受欢迎的开源API网关,因为它界面晦涩、社区沉闷、云原生架构和宽泛的性能。它速度极快,重量轻。Kong还为许多风行的基于容器和云的环境提供了现成的部署,从Docker到Kubernetes再到AWS。这使您能够轻松地将Kong集成到现有的工作流程中,从而使学习曲线不那么平缓。
Kong反对日志记录、身份验证、速率限度、故障检测等。更好的是,它有本人的CLI,因而您能够间接从命令行治理Kong并与之交互。您能够在各种发行版上装置开源社区Kong Gateway。基本上,Kong领有API网关所需的所有。
Tyk Open-Source API Gateway
Tyk被称为“行业最佳API网关”。与咱们列表中的其余API网关不同,Tyk的确是开源的,而不仅仅是凋谢外围或收费增值。它为开源解决方案提供了一系列令人印象粗浅的个性和性能。和Kong一样,Tyk也是云原生的,有很多插件可用。Tyk甚至能够用于以REST和GraphQL格局公布本人的API。
Tyk对许多性能都有本机反对,包含各种模式的身份验证、配额、速率限度和版本控制。它甚至能够生成API文档。最令人印象粗浅的是,Tyk提供了一个API开发者门户,容许您公布托管API,因而第三方能够注册您的API,甚至治理他们的API密钥。Tyk通过其开源API网关提供了如此多的性能,切实令人难以置信。
KrakenD Open-Source API Gateway
KrakenD的开源API网关是在Go中编写的,它有几个显著的特点,尤其是对微服务的优化。它的可移植性和无状态性是其余弱小的卖点,因为它能够在任何中央运行,不须要数据库。
因为KrakenDesigner,它比咱们列表中的其余一些API网关更灵便、更易于靠近,这是一个GUI,它能够让您直观地设计或治理API。您还能够通过简略地编辑JSON文件轻松地编辑API。
KrakenD包含速率限度、过滤、缓存和受权等基本功能,并且提供了比咱们提到的其余API网关更多的性能。在不批改源代码的状况下,能够应用许多插件和中间件。它的效率也很高-据保护人员称,KrakenD的吞吐量优于Tyk和Kong的其余API网关。它甚至具备本地GraphQL反对。所有这些,KrakenD的网关十分值得一看。
Gravitee OpenSource API Management
Gravite.io是另一个API网关,它具备一系列令人印象粗浅的性能,这次是用Java编写的。Gravitee有三个模块用于公布、监控和记录API:
- API治理(APIM):APIM是一个开源模块,能够让您齐全管制谁拜访您的API以及何时何地。
- 拜访治理(AM):Gravite为身份和拜访治理提供了一个本地开源受权解决方案。它基于OAuth 2.0/OpenID协定,具备集中的身份验证和受权服务。
- 警报引擎(AE):警报引擎是一个用于监督API的模块,容许您自定义多渠道告诉,以提醒您可疑流动。
- Gravitee还具备API设计器Cockpit和命令行界面graviteio-cli。所有这些都使Gravitee成为最宽泛的开源API网关之一。您能够在GitHub上查看Gravite.io OpenSource API治理,或间接下载AWS、Docker、Kubernetes、Red Hat,或在此处作为Zip文件。
Apinto Microservice Gateway
显然,Go是编写API网关的风行语言。Apinto API网关用Go编写,旨在治理微服务,并提供API管理所需的所有工具。它反对身份验证、API平安以及流控制。
Apinto反对HTTP转发、多租户治理、访问控制和API拜访治理,非常适合微服务或具备多种类型用户的任何开发我的项目。Apinto还能够通过多功能的用户定义插件零碎轻松地为特定用户定制。它还具备API健康检查和仪表板等独特性能。
Apinto Microservice针对性能进行了优化,具备动静路由和负载平衡性能。依据保护人员的说法,Apinto比Nginx或Kong快50%。
Apache APISIX API Gateway
咱们将应用世界上最大的开源组织之一Apache软件基金会的一个开源API网关来欠缺咱们的开源API网关列表。Apache APISIX API网关是另一个云原生API网关,具备您目前曾经意识到的所有性能——负载平衡、身份验证、速率限度和API平安。然而,有一些非凡的性能,包含多协定反对和Kubernetes入口管制。
对于开源API网关的最初思考
不受限制、不受限制的API拜访时代曾经完结。随着API应用的宽泛遍及,有有数理由实现API网关以实现安全性,因为不正确裸露的API端点可能会造成重大侵害。API网关能够帮忙围绕API设置速率限度,以确保安全应用。而且,如果您向第三方供应商领取昂扬的价格,开源选项可能会缩小您的每月IT估算。
总之,API网关为您的API环境增加了一个重要的形象层,这可能是它们最有用的性能。这样的形象层是避免API端点和用户数据不当裸露的一些最佳办法。然而,简直同样重要的是它为您的API减少了灵活性。
如果没有形象层,即便对后端的渺小更改也可能导致上游的严重破坏。增加API网关能够使麻利框架受害,并有助于简化CI/CD管道。