- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache ShenYu 的前世今生 肖宇
展开查看详情
1 .Apache ShenYu的前生今世 肖宇 Apache ShenYu创始人 & PPMC Dromara开源组织创始人(https://dromara.org) 著 《深入理解分布式事务 原理与实战》
2 .目录 01 Apache ShenYu网关发展历程 02 Apache ShenYu网关功能详解 03 Apache ShenYu网关未来规划
3 .01 Apache ShenYu网关发展历程
4 .Apache ShenYu 发展历程 社区发展 持续 发布版本与 开放 的 社区 治理 方 式, 吸引了上百 位开 发 者的 贡献 2018 2021 2020 创建项目并开源 捐献给Apache基金会 优 秀的架 构思想与代 码风格 ,领 A pac he基 金会 全票 通 过, 顺 利进 入 孵化 器 先 的r eac tor 编程 ,一经开源 就 受 到大家 的关注
5 .Apache ShenYu 是什么? 高性能,多协议,易扩展,响应式的API网关 功能特性 1.丰富的协议,支持HTTP,DUBBO, GRPC,WEBSOCKET, Tars等 协议 2. 动态化的插件可插拔的设计思想,极易扩展 3.灵活,多样,动态化的流量筛选机制,满足任何业务场景 4.内置鉴权,熔断限流,防火墙,加解密,参数修改等丰富化的插件 5.高性能,云原生的集群部署方式
6 .02 Apache ShenYu网关核心功能
7 .Apache ShenYu响应式模型 • 响应式编程是一个专注于数据流和变化传递的异步编程范式 。 -- 维基百科 响应式特性
8 .Apache ShenYu 流量规则管控 • 流量规则管控:是指我们采用多种多样的匹配策略,对流量进行匹配筛选,达到流量控制的目的规则 -- 维基 百科
9 .Apache ShenYu 数据缓存与同步 • 数据缓存与同步:是指我们将管控控制台里面的操作数据同步到网关集群中的所有节点,并且进行缓存。规则 - - 维基百科
10 .Apache ShenYu 多协议转换 • 多协议转换:是指将统一的Http请求转成不同的协议,以达到多语言的协议跨域,接口的标准统一则 -- 维基百 科
11 .Apache ShenYu 流量熔断 • 流量熔断:是指请求在一段时间内连续出错,并且达到了阈值,网关采取自身保护的一种措施。规则 -- 维基百 科 1.设置合适的熔断参数与阈值 2.设置熔断后的降级策略 3.设置熔断隔离策略
12 .Apache ShenYu 流量限流 • 限流:能够有效的保护网关或者微服务,避免遭受大流量的冲击或恶意攻击-- 维基百科 集群限流与单机限流 Redis Sentinel Resilience4j 多种限流算法与策略 并发限流 滑动窗口 漏桶 令牌桶
13 .Apache ShenYu 参数修改 • 参数修改:能够让我们对控制的流量,自由的添加或修改请求参数,以满足任何业务场景-- 维基百科 支持插件 Modify Param Request Response Context-Path Response Mapping 修改参数 URI Header Body RpcContext
14 .Apache ShenYu 鉴权与安全 • 鉴权与安全:能够验证请求的合法性,防止恶意流量的攻击,保证网关的安全性-- 维基百科 鉴权插件 Sign Jwt Oauth2 安全插件 Cryptor Cryptor Waf Reuqest Response
15 .Apache ShenYu 可观测性 • 利用 java agent 和 字节码增强 技术实现了无痕埋点,使得用户无需引入依赖即可接入第三方可观测性系统, 获取 Traces、Metrics 和 Logging 规则 -- 维基百科 Logging ES RocketMQ ELK Tracing OT Zipkin Jaeger Metrics Pull Grafana Prometheus
16 .Apache ShenYu 灰度/蓝绿/A B Test的支持 典型的根据业务场景,业务参数等方式的灰度发布
17 .03 Apache ShenYu未来规划
18 .Apache ShenYu未来功能 1.多种协议的支持 MQTT BRPC Thrift 2.云原生的增强 对接K8S服务发现功能,打通云原生的底座 3.集群模式 1.自定义开发ShenYu-Proxy 2.自定义开发ShenYu-Nginx 3.对接云厂商的负载均衡器 4.构建多样化的插件生态 1.新增API服务编排插件 2.新增API管理,调试插件 3.新增多样化的插件,比如新增rpc请求与返回参数修改等插件
19 .如何加入Apache ShenYu社区 • 构建多样化,和谐平等的快乐开源社区-- 维基百科 邮件订阅 1.用自己的邮箱向dev-subscribe@shenyu.apache.org发送一封邮件,主题和内容任意 2.您将收到一封来自dev-help@shenyu.apache.org的确认邮件,直接回复该邮件,或点击邮件里的链接快捷回复即可 3.您会收到一封主题为WELCOME to dev@shenyu.apache.org的欢迎邮件,至此您已成功订阅Apache ShenYu的邮件列表 Issue & Pull request Issue:https://github.com/apache/incubator-shenyu/issues Pull request :https://github.com/apache/incubator-shenyu/pulls 官网 公众号 Website:https://shenyu.apache.org/
20 .Thanks