发布网友 发布时间:2024-08-31 10:17
共1个回答
热心网友 时间:2024-08-31 10:31
一、Apisix简介
APISIX是一个微服务API网关,具备高性能与高可扩展性。它基于nginx(openresty)与Lua,利用etcd实现功能,灵感来源于Kong。相较于传统API网关,APISIX在性能与资源消耗上表现更优,同时拥有丰富的插件,并支持自定义插件扩展。
二、网关搭建
提供两种搭建方式:Docker安装与RPM安装。
1. Docker安装方式
2. RPM安装方式
三、路由配置
路由(Route)配置涉及匹配规则、插件配置与上游信息。路由通过规则匹配客户端请求,加载并执行相应插件,将请求转发至指定Upstream。消费方(Consumer)识别特定请求类型,通过插件过滤并转发至指定上游。Upstream抽象虚拟主机,负载均衡多个服务节点。服务(Service)是API的抽象,与上游服务一一对应,减少冗余配置。Script(脚本)执行特定阶段的HTTP请求/响应生命周期操作。
基于Apisix Dashboard的路由配置包括:
四、插件使用
插件加载流程:请求路由查询ETCD进行插件匹配,过滤并运行插件进行动态上游反向代理。插件使用方法:配置路由时启用插件,进行插件文件配置。以限流插件为例,描述漏桶算法(Leaky Bucket)实现请求限速,配置说明包括参数`rate`、`burst`与`rejected_code`。示例配置每秒请求速率,大于速率的请求会被加上延时,超过阈值则被拒绝。
五、通过Nacos实现网关下的注册发现
启用Nacos动态注册服务,修改`conf/config.yaml`文件。配置上游服务时选择服务发现,填写服务名、命名空间等信息。创建路由服务关联上游服务,实现Nacos动态注册发现服务。
关注“IT巅峰技术”公众号获取更多高级开发、架构师、中层管理人员服务的技术交流、架构思想与实战案例。作者为《消息中间件 RocketMQ 技术内幕》一书作者,同时是“RocketMQ 上海社区”联合创始人,曾任拼多多、德邦等公司架构负责人,现任上市快递公司架构负责人,专注于开发框架搭建、中间件二次开发与运维管理、混合云及基础服务平台建设。