5分钟上手Shenyu API网关:从安装到动态路由配置

5分钟上手Shenyu API网关:从安装到动态路由配置

【免费下载链接】shenyu 【免费下载链接】shenyu 项目地址: https://gitcode.com/gh_mirrors/so/soul

你还在为微服务架构中的API管理头痛吗?跨服务调用混乱、权限控制复杂、流量监控困难?本文将带你5分钟快速部署Shenyu网关,掌握动态路由配置,解决90%的API治理难题。读完本文你将获得:

  • 3步完成Shenyu环境搭建
  • 可视化界面配置路由规则
  • 实时流量监控与插件扩展指南

什么是Shenyu网关

Shenyu(神禹)是一个高性能、可扩展的API网关解决方案,灵感源自中国古代治水英雄大禹的疏导思想。作为微服务架构的关键组件,它负责:

  • 请求路由(Router):将请求转发到正确的后端服务
  • 流量控制(Traffic Control):限流、熔断、负载均衡
  • 安全防护(Security):认证、授权、WAF防护
  • 可观测性(Observability):日志、 metrics、链路追踪

Shenyu架构图

快速部署(Docker方式)

1. 创建专用网络

docker network create shenyu

2. 启动管理后台

docker pull apache/shenyu-admin
docker run -d --name shenyu-admin -p 9095:9095 --net shenyu apache/shenyu-admin

管理后台源码:shenyu-admin/

3. 启动网关服务

docker pull apache/shenyu-bootstrap
docker run -d --name shenyu-gateway -p 9195:9195 \
  -e "shenyu.local.enabled=true" \
  -e SHENYU_SYNC_WEBSOCKET_URLS=ws://shenyu-admin:9095/websocket \
  --net shenyu apache/shenyu-bootstrap

启动配置文件位置:shenyu-bootstrap/src/main/resources/application.yml

动态路由配置实战

配置步骤

  1. 访问管理后台:http://localhost:9095 (默认账号密码:admin/123456)
  2. 进入插件管理启用divide插件
  3. 添加路由规则:
{
  "pluginName": "divide",
  "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]",
  "conditionDataList": [{
    "paramType": "uri",
    "operator": "match",
    "paramValue": "/**"
  }]
}

路由配置API文档:shenyu-plugin/divide/

验证路由

curl http://localhost:9195/helloworld -H "localKey: 123456"

预期响应:

{
  "name": "Shenyu",
  "data": "hello world"
}

核心功能插件

插件类型功能说明源码路径
安全防护JWT认证、签名验证、WAF防护shenyu-plugin-security/
流量控制限流、熔断、负载均衡shenyu-plugin-fault-tolerance/
可观测性日志收集、指标监控shenyu-plugin-logging/
AI增强智能路由、请求转换shenyu-plugin-ai/

进阶使用指南

数据同步策略

Shenyu支持多种配置同步方式:

  • WebSocket (默认):实时推送配置变更
  • ZooKeeper:适合分布式部署
  • Nacos:云原生环境首选

同步配置源码:shenyu-sync-data-center/

自定义插件开发

  1. 创建插件类继承AbstractShenyuPlugin
  2. 实现doExecute方法处理请求
  3. 注册插件:自定义插件文档

总结与资源

通过本文你已掌握Shenyu网关的核心能力。更多高级功能:

🔔 点赞收藏本文,关注获取《Shenyu性能优化实战》下期内容!遇到问题可查阅RELEASE-NOTES.md或提交issue。

【免费下载链接】shenyu 【免费下载链接】shenyu 项目地址: https://gitcode.com/gh_mirrors/so/soul

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值