前言:
今天姐妹们对“路由转发首页apache”大约比较注重,小伙伴们都想要学习一些“路由转发首页apache”的相关文章。那么小编也在网摘上收集了一些有关“路由转发首页apache””的相关知识,希望咱们能喜欢,兄弟们一起来学习一下吧!《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是Java Reactor 开发的响应式 API 网关——ShenYu。
Apache ShenYu 一款使用 Java Reactor 开发的响应式 API 网关。以其高性能,动态灵活的流量管控,热插拔,易部署等特性,开箱即用为用户提供整套全生命周期的 API 网关,包含 API 注册、服务代理、协议转换与 API 治理等功能。
功能特性支持各种语言(http 协议),支持 Dubbo、 Spring Cloud、 gRPC、 Motan、 Sofa、 Tars 等协议插件化设计思想,插件热插拔,易扩展灵活的流量筛选,能满足各种流量控制内置丰富的插件支持,鉴权,限流,熔断,防火墙等等流量配置动态化,性能极高支持集群部署,支持 A/B Test,蓝绿发布架构脑图模块shenyu-admin : 插件和其他信息配置的管理后台shenyu-bootstrap : 用于启动项目,用户可以参考shenyu-client : 用户可以使用 Spring MVC,Dubbo,Spring Cloud 快速访问shenyu-disruptor : 基于disruptor的封装shenyu-register-center : shenyu-client提供各种rpc接入注册中心的支持shenyu-common : 框架的通用类shenyu-dist : 构建项目shenyu-metrics : prometheus(普罗米修斯)实现的 metricsshenyu-plugin : ShenYu 支持的插件集合shenyu-spi : 定义 ShenYu spishenyu-spring-boot-starter : 支持 spring boot startershenyu-sync-data-center : 提供 ZooKeeper,HTTP,WebSocket,Nacos 的方式同步数据shenyu-examples : RPC 示例项目shenyu-web : 包括插件、请求路由和转发等的核心处理包
快速启动
运行ShenYu管理员:
> docker pull apache/shenyu-admin> docker network create shenyu> docker run -d -p 9095:9095 --net shenyu apache/shenyu-admin
运行引导程序:
> docker network create shenyu> docker pull apache/shenyu-bootstrap> docker run -d -p 9195:9195 --net shenyu apache/shenyu-bootstrap
设置路由器:
真实请求: http: //127.0.0.1 :8080/helloworld
{ "name" : "Shenyu", "data" : "hello world"}设置路由规则
添加localKey: 123456到header。如果需要自定义localKey,可以使用sha512工具根据明文生成key并更新shenyu.local.sha512Key属性。
curl --location --request POST '; \--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": "/**" }] }]}'代理请求:
{ "name" : "Shenyu", "data" : "hello world"}
数据缓存和数据同步
由于所有数据都已在 JVM 中使用 ConcurrentHashMap 进行缓存,因此速度非常快。
当用户在后台管理中更改配置信息时,Apache ShenYu 通过监听 ZooKeeper 节点(或 WebSocket 推送、HTTP 长轮询)来动态更新缓存。
—END—
开源协议:Apache2.0
开源地址:
标签: #路由转发首页apache