当前位置: 首页 > news >正文

API 网关 Apache ShenYu 使用文档

架构图

什么是 Apache ShenYu

这是一个异步的,高性能的,跨语言的,响应式的API网关。

为什么叫ShenYu

ShenYu(神禹)是中国古代君主夏禹(后世亦称大禹)的尊称,他留下了三渡黄河造福人民并成功治理黄河洪水的感人故事。他和尧、舜一起被认为是中国古代三大帝王之一。

  • 首先,ShenYu这个名字是为了弘扬我们中华文明的传统美德。
  • 其次,对于网关来说最重要的是流量管理。
  • 最后,社区将以公平、公正、公开、择优的方式做事,在向神禹致敬的同时,也符合 Apache Way。

特点

  • 代理:支持Apache Dubbo,Spring Cloud,gRPC,Motan,SOFA,TARS,WebSocket,MQTT
  • 安全性:签名,OAuth 2.0,JSON Web令牌,WAF插件
  • API治理:请求、响应、参数映射、Hystrix、RateLimiter插件
  • 可观测性:跟踪、指标、日志记录插件
  • 仪表板:动态流量控制,用户菜单权限的可视化后端
  • 扩展:插件热插拔,动态加载
  • 集群:NGINX、Docker、Kubernetes
  • 语言:提供.NET,Python,Go,Java客户端用于API注册

脑图

快速开始 (docker)

运行 Apache ShenYu Admin

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

默认账号:admin

默认密码:123456

运行 Apache ShenYu Bootstrap

docker pull apache/shenyu-bootstrap docker run -d -p 9195:9195 -e "shenyu.local.enabled=true" --net shenyu apache/shenyu-bootstrap

路由设置

  • Real requests :http://127.0.0.1:8080/helloworld,

    {"name":"Shenyu","data":"hello world"}
  • 设置路由规则 (Standalone)

    localKey: 123456添加到Headers中。如果需要自定义localKey,可以使用sha512工具基于明文生成密钥,并更新shenyu.local.sha512Key属性。

    curl --location --request POST 'http://localhost:9195/shenyu/plugin/selectorAndRules' \ --header 'Content-Type: application/json' \ --header 'localKey: 123456' \ --data-raw '{ "pluginName": "divide", "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]", "conditionDataList": [{ "paramType": "uri", "operator": "match", "paramValue": "/**" }], "ruleDataList": [{ "ruleHandler": "{\"loadBalance\":\"random\"}", "conditionDataList": [{ "paramType": "uri", "operator": "match", "paramValue": "/**" }] }] }'
  • 代理请求 :http://localhost:9195/helloworld

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

插件

每当有请求进来,Apache ShenYu将基于责任链模式由所有启用的插件来执行它。

作为Apache ShenYu的核心,插件是可扩展和可热插拔的。

不同的插件做不同的事情。

当然,用户也可以自定义插件来满足自己的需求。

如果要自定义,见自定义插件


Selector & Rule

根据您的HTTP请求头,Selector和Rule将用于路由您的请求。

Selector是您的第一层路由,它是粗粒度的,例如模块级。

Rule是你的第二层路由,你认为你的请求应该做什么。例如模块中的方法级别。

Selector和Rule只匹配一次,然后返回匹配结果。因此最粗的粒度应该最后排序。


Data Caching & Data Sync

因为所有数据都是使用JVM中的ConcurrentHashMap缓存的,所以速度非常快。

Apache ShenYu通过监听ZooKeeper节点(或WebSocket push,HTTP long polling),在后台管理中用户更改配置信息时动态更新缓存。


Prerequisite

  • JDK 1.8+

Apache ShenYu 介绍 | Apache ShenYu

http://www.jsqmd.com/news/354797/

相关文章:

  • 2026年骄阳橡塑客户评价怎样,河南地区橡塑制品选购攻略 - 工业品牌热点
  • 实测对比后 8个降AI率网站测评:专科生必看的降AI率工具推荐
  • 3个小案例带你入门Agent Skills
  • Spring Cloud 服务接入到 Apache ShenYu 网关完整案例
  • 解读2026年别墅门市场,全国高性价比厂商排名及特色分析 - 工业品网
  • 2026最新!8个AI论文工具测评:MBA毕业论文与科研写作必备指南
  • 大模型使用进阶指南:如何将个人经验转化为可复用Agent Skills
  • RAG技术深度剖析:让大模型从“瞎编“到“有据可依“的三大形态与应用指南
  • 从智障到智能:Agent Skills配置完全指南
  • 聊聊十二分装饰怎么样,2026装修效果和行业认可度全解析 - myqiye
  • 直接上结论:8个降AIGC工具测评,专科生降AI率必备攻略
  • 大模型驱动的智能体系统:架构设计与技术实现
  • 学霸同款 9个AI论文写作软件测评:本科生毕业论文+开题报告高效工具推荐
  • 《抗战文军》深度解读:烽火中的 “文军长征” 与求是精神的永恒传承
  • 公众号编辑器素材哪里有?新手常用的公众号排版工具网站推荐 - peipei33
  • 破解长周期Agent落地难题:双Agent架构+状态恢复+测试验证
  • 2026年辅助空压机制造商权威盘点:定制化解决方案引领轨道交通新风向 - 品牌策略师
  • Agent Skills 爆火!一文搞懂它与 MCP、Prompt 的区别
  • 哲思杂笔1
  • 2026年辅助空压机市场展望:专业定制与可靠生产厂家的选择指南 - 品牌策略师
  • AI Agent:2026年AI生态核心与开发实践指南
  • 2026年杭州软装公司公司最新推荐:杭州墙纸/杭州装修公司/杭州墙画品牌/杭州公装设计公司/杭州墙纸设计公司 - 品牌策略师
  • 公众号SVG动效揭秘:这些svg动效工具5大优势提升用户互动体验 - peipei33
  • 夕阳残影
  • Agent Skills标准:让AI Agent按需挂载能力,国内skill0平台已上线
  • 文思杂笔2——意写
  • AI 学习笔记:LLM 的部署与测试
  • AI Agent记忆系统全面解析:形态-功能-动力学三维框架详解
  • 专科生必看!千笔,倍受青睐的降AI率工具
  • 基于微信小程序的垃圾分类信息系统【源码文末联系】 - 实践