1、概述

1.1 介绍

APISIX 是基于 OpenResty + etcd 实现的云原生高性能可扩展的微服务 API 网关。它是国人开源,目前已经进入 Apache 进行孵化。

  • OpenResty:通过 Lua 扩展 Nginx 实现的可伸缩的 Web 平台。
  • etcd:Key/Value 存储系统。

APISIX 通过插件机制,提供了动态负载平衡、身份验证、限流限速等等功能,当然我们也可以自己开发插件进行拓展
1、基础入门 - 图1

  • 动态负载均衡:跨多个上游服务的动态负载均衡,目前已支持 round-robin 轮询和一致性哈希算法。
  • 身份验证:支持 key-authJWTbasic-authwolf-rbac 等多种认证方式。
  • 限流限速:可以基于速率请求数并发等维度限制。

并且 APISIX 还支持 A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、监控报警、服务可观测性、服务治理等等高级功能,这在作为微服务 API 网关非常重要的特性。

1.2 核心概念

上游(Upstream) 可以理解为虚拟主机,对给定的多个目标服务按照配置规则进行负载均衡。
路由(Route) 通过定义一些规则来匹配客户端的请求,然后对匹配的请求执行配置的插件,并把请求转发给指定的上游。
消费者(Consumer) 作为API网关,有时需要知道API的消费方具体是谁,通常可以用来做身份认证。
服务(Service) 可以理解为一组路由的抽象。它通常与上游是一一对应的,路由与服务之间,通常是多对一的关系。
插件(Plugin) API网关对请求的增强操作,可以对请求增加限流、认证、黑名单等一系列功能。可以配置在消费者、服务和路由之上。

2、部署安装

待修改:
image.png
image.png

apisix

链接

链接

链接