当前位置:   article > 正文

一 APISIX介绍

apisix

官网地址:https://apisix.apache.org/zh/

Apache APISIX 是什么?

Apache APISIX 是 Apache 软件基金会下的云原生 API 网关,它兼具动态、实时、高性能等特点,提供了负载均衡、动态上游、灰度发布(金丝雀发布)、服务熔断、身份认证、可观测性等丰富的流量管理功能。我们可以使用 Apache APISIX 来处理传统的南北向流量,也可以处理服务间的东西向流量。同时,它也支持作为 K8s Ingress Controller 来使用。

南北向流量和东西向流量,简单来说就是客户端到服务端和服务端到服务端。依照上北下南左西右东的位置,如下

主要特性

  • 多平台支持:APISIX 提供了多平台解决方案,它不但支持裸机运行,也支持在 Kubernetes 中使用,还支持与 AWS Lambda、Azure Function、Lua 函数和 Apache OpenWhisk 等云服务集成。
  • 全动态能力:APISIX 支持热加载,这意味着你不需要重启服务就可以更新 APISIX 的配置。请访问为什么 Apache APISIX 选择 Nginx + Lua 这个技术栈?以了解实现原理。
  • 精细化路由:APISIX 支持使用 NGINX 内置变量做为路由的匹配条件,你可以自定义匹配函数来过滤请求,匹配路由。
  • 运维友好:APISIX 支持与以下工具和平台集成:HashiCorp VaultZipkinApache SkyWalkingConsulNacosEureka。通过 APISIX Dashboard,运维人员可以通过友好且直观的 UI 配置 APISIX。
  • 多语言插件支持:APISIX 支持多种开发语言进行插件开发,开发人员可以选择擅长语言的 SDK 开发自定义插件。

主要概念

下图为 Apache APISIX 的架构:
image.png
下表是本文涉及到的 APISIX 的主要概念和组件:

概念/组件描述
Route通过路由定义规则来匹配客户端请求,根据匹配结果加载并执行相应的插件,最后把请求转发给到指定的上游应用。
Upstream上游的作用是按照配置规则对服务节点进行负载均衡,它的地址信息可以直接配置到路由或服务上。
ServiceService(也称之为服务)是某类 API 的抽象(也可以理解为一组 Route 的抽象)。它通常与上游服务抽象是一一对应的,但与路由之间,通常是 1:N 即一对多的关系。参考描述:https://apisix.apache.org/zh/docs/apisix/terminology/service/
Admin API用户可以通过 Admin API 控制 APISIX 实例。

有了 NGINX 和 Kong,为什么还需要 Apache APISIX?

参考:https://apisix.apache.org/zh/blog/2022/07/30/why-we-need-apache-apisix/
总结:Nginx不支持配置的热加载,不支持集群。Kong 的路由使用的是遍历查找,当网关内有超过上千个路由时,它的性能就会出现比较急剧的下降。(Apache APISIX 的路由是基数树????)快速感知配置变化。

参考以下内容:

Why Is Apache APISIX the Best API Gateway?

https://api7.ai/blog/why-is-apache-apisix-the-best-api-gateway

云原生基金会,CNCF
https://landscape.cncf.io/card-mode?category=api-gateway&grouping=category&sort=contributors

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/214120
推荐阅读
相关标签
  

闽ICP备14008679号