整体架构
动态负载均衡:跨多个上游服务的动态负载均衡,⽬前已⽀持 round-robin 轮询和⼀致性哈希算法。
⾝份验证:⽀持 key-auth、JWT、basic-auth、wolf-rbac 等多种认证⽅式。
限流限速:可以基于速率、请求数、并发等维度限制。
并且 APISIX 还⽀持 A/B 测试、⾦丝雀发布(灰度发布)、蓝绿部署、监控报警、服务可观测性、服务治理等等⾼级功能,这在作为微服务 API ⽹关⾮常重要的特性。
下⾯,我们正式进⼊ APISIX 的极简⼊门之旅。
⼆、安装
《APISIX 官⽅⽂档 —— 安装》中,介绍了源码包、RPM 包、Luarocks、Docker 四种安装⽅式。这⾥我们使⽤ CentOS 7.X 系统,所以采⽤ RPM 包。
因为 APISIX 是基于 OpenResty + etcd 来实现,所以需要安装它们两个。
2.1 安装依赖
dashboard控制台页⾯
使⽤默认的“admin/123456”账号,登录 APISIX 控制台。
四、动态负载均衡
对后端服务提供的 API 接⼝进⾏负载均衡。我们启动同⼀个springboot服务在2个不同端⼝18080 和 28080。curl是什么命令
⽹络架构
4.1启动2个微服务命令
java -jar vue-springboot-0.0.1-SNAPSHOT-exec.jar --server.port=18080
java -jar vue-springboot-0.0.1-SNAPSHOT-exec.jar --server.port=28080
4.2 验证服务是否正常
4.3 重要概念
⼀个微服务可以通过 APISIX 的路由、服务、上游和插件等多个实体之间的关系进⾏配置。 Route(路由)与客户端请求匹配,并指定它们到达APISIX 后如何发送到 Upstream(上游,后端 API 服务)。 Service(服务)为上游服务提供了抽象。因此,您可以创建单个 Service 并在多个 Route 中引⽤它。
4.4 创建 APISIX Upstream(上游,后端 API 服务)
APISIX Upstream,是虚拟主机抽象,对给定的多个服务节点按照配置规则进⾏负载均衡。它根据配
置规则在给定的⼀组服务节点上执⾏负载平衡。 因此,单个上游配置可以由提供相同服务的多个服务器组成。每个节点将包括⼀个
key(地址/ip:port)和⼀个 value (节点的权重)。 服务可以通过轮询或⼀致哈希(cHash)机制进⾏负载平衡。
配置路由时,可以直接设置 Upstream 信息,也可以使⽤服务抽象来引⽤ Upstream 信息。
在 APISIX 控制台的「Upstream」菜单中,创建⼀个 APISIX Upstream。如下图所⽰:
新建upstream
4.5 创建 APISIX Route
APISIX Route,字⾯意思就是路由,通过定义⼀些规则来匹配客户端的请求,然后根据匹配结果加载并执⾏相应的 插件,并把请求转发给到指定 Upstream。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论