关于开源:最近在研究的-6-款-API-网关

7次阅读

共计 2573 个字符,预计需要花费 7 分钟才能阅读完成。

随着 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 管道。

正文完
 0