Apache ShenYu网关添加福利群:解决AI开发者的「MCP实战痛点」面向所有微服务的可扩展、高性能、响应式API网关解决方案

ShenYu(神禹)是中国古代君主夏禹的尊称(后世也称大禹),他留下了三过家门而不入的感人故事,成功治理了黄河水患。他是中国古代最伟大的三位君主之一,与尧、舜齐名。
首先,ShenYu这个名字是为了弘扬中华文明的传统美德。
其次,网关最重要的是流量的治理。
最后,社区将以公平、公正、开放和任人唯贤的方式行事,向神禹致敬,同时也遵循Apache之道。
> docker network create shenyu
> docker pull apache/shenyu-admin > docker run -d --name shenyu-admin-quickstart -p 9095:9095 --net shenyu apache/shenyu-admin
> docker pull apache/shenyu-bootstrap > docker run -d --name shenyu-quickstart -p 9195:9195 -e "shenyu.local.enabled=true" -e SHENYU_SYNC_WEBSOCKET_URLS=ws://shenyu-admin-quickstart:9095/websocket --net shenyu apache/shenyu-bootstrap
{
"name" : "Shenyu",
"data" : "hello world"
}

在Headers中添加localKey: 123456。如果需要自定义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": "/**" }] }] }'
如果处理请求的后端服务运行在主机上,请将
upstreamUrl设置为host.docker.internal:8080,或者如果容器可以访问,则指定IP地址。在docker run命令中添加
--network host而不是--net shenyu也可以正常工作。
{
"name" : "Shenyu",
"data" : "hello world"
}

每当有请求进入时,Apache ShenYu会通过责任链执行所有启用的插件。
作为Apache ShenYu的核心,插件是可扩展和热插拔的。
不同的插件做不同的事情。
当然,用户也可以自定义插件以满足自己的需求。
如果你想自定义,请参阅自定义插件。
根据你的HTTP请求头,选择器和规则用于路由你的请求。
选择器是你的第一层路由,它是较粗粒度的,例如在模块级别。
规则是你的第二层路由,决定你的请求应该做什么。例如模块中的方法级别。
选择器和规则只匹配一次,匹配成功后即返回。因此最粗粒度的应该最后排序。
由于所有数据都使用ConcurrentHashMap缓存在JVM中,因此速度非常快。
Apache ShenYu通过监听ZooKeeper节点(或WebSocket推送、HTTP长轮询)在用户更改后台管理中的配置信息时动态更新缓存。


按注册顺序排列,欢迎更多公司访问注册 https://github.com/apache/shenyu/issues/68(仅限开源用户)。
所有用户 : 已知用户