您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[网易]:把Istio塞入Slime的智能黑盒 - 发现报告
当前位置:首页/其他报告/报告详情/

把Istio塞入Slime的智能黑盒

2023-03-09网易在***
把Istio塞入Slime的智能黑盒

Slime: 网易数帆数字化基础软件自主创新分享周 把Istio的复杂性塞入智能黑盒 主讲人:王晨宇|网易数帆 CONTENT 2 懒加载 3 智能限流 4 展望 1 简介 网易数帆数字化基础软件自主创新分享周 数字化基础软件自主创新分享周 1简介 网易数帆数字化基础软件自主创新分享周 Slime项目简介 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 1.1起源 网易数帆微服务团队Istio生产落地实践:使用门槛高、功能缺失解决问题两种方法:定制化改造vs无侵入扩展 技术沉淀内部项目成形 回馈社区共性问题解决方案:开源Slime 网易数帆数字化基础软件自主创新分享周 SlimeCRD->metric->IstioCRD 1.2作用与特点 Istio上层的智能管理器 无侵入性,无缝对接Istio,Istio无需定制化改造关注点:性能增强、功能易用性 灵活使用,可插拔、可扩展 1.3项目架构 Modules:解决具体问题的独立组件Framework:模块们的底座,提供模块需要的共性能力 网易数帆数字化基础软件自主创新分享周 Slime-boot:启动组件,拉起Framework和 Modules 优势 易扩展:模块独立,随意组合易部署:框架统一 1.4发展 2021.01-网易数帆微服务团队开源 网易数帆数字化基础软件自主创新分享周 2021.12-加入Istio生态“Ecosystem/integrations”2022.05-进入CNCFLandscape … 网易数帆数字化基础软件自主创新分享周 2懒加载 实现Istio精准推送 数字化基础软件自主创新分享周 2、懒加载 2.5问题 网易数帆数字化基础软件自主创新分享周 业务规模扩大,出现严重性能问题数据面收到大量冗余配置 启动时间变长内存开销增加 Pilot推送事件阻塞控制面推送频率增加推送时内存增加 下发时延增加 根本原因:Istio默认的全量推送行为 SidecarCRD:描述依赖服务范围,减少数据面的配置 2.2方案1.0 -填错了怎么办? -服务依赖变更了怎么办? 服务发布时,人工填写服务依赖信息,设置SidecarCR 2.3思考 一个共识:手动修改不可靠,包袱重->自动管理SidecarCR 网易数帆数字化基础软件自主创新分享周 如何自动管理? 构建一个控制器,运行核心逻辑 控制器需要包含服务依赖关系的metric,作为管理的依据 自动管理配置加载,真是慵懒惬意啊,就叫懒加载吧 构建一个兜底组件,拥有全量配置,即可保证服务调用成功,又可生成metric 修改兜底路由规则 2.4方案2.0 ServiceFence是Slime的CRD,存储与服务相关的Metric,实现SidecarCR的更新,无需关心 网易数帆数字化基础软件自主创新分享周 优势 无侵入扩展Istio自动纳管全局 兜底时完整支持服务治理能力 2.5进一步完善 网易数帆数字化基础软件自主创新分享周 使用模式的完善 Namespace模式:组件数是1+N,需要指定纳管范围 Cluster模式:组件数是2,一键纳管全局 metric的完善 Prometheus模式:依赖Prometheus,指标由各个SidecarProxy产生 AccessLog模式:生成固定格式的AccessLog,去除外部依赖,更为轻便 3智能限流 实现Istio智能限流 网易数帆数字化基础软件自主创新分享周 数字化基础软件自主创新分享周 3、智能限流 3.6问题 网易数帆数字化基础软件自主创新分享周 限流触发条件静态:固定 动态:智能限流,依赖metric更新 限流问题 Envoy限流组件功能单一,只能以实例维度配置限流值,不支持智能限流 配置EnvoyFilter,上手难度高 资源使用率 实例数 3.7思考 如何支持智能限流 构建一个controller,运行核心逻辑获取metric和用户配置的限流规则 controller根据用户的限流规则和当前metric,计算出是否应该触发限流,从而决定是否下发配置 网易数帆数字化基础软件自主创新分享周 如何简化EnvoyFilter配置 构建SlimeCRD,贴近自然语义,用户只需配置SlimeCRD 3.8实现 一个新的SlimeCRD-SmartLimiter 模块的逻辑分成两部分 Controller获取metric和SmartLimiterCR Controller根据SmartLimiterCR和相应的metric,判断是否应该限流,如果是,则生成EnvoyFilter 网易数帆数字化基础软件自主创新分享周 3.9智能限流样例 动态条件一行搞定 CR语义清晰简洁 当CPU使用值大于100时,reviews服务的9080端口每分钟限流100次 网易数帆数字化基础软件自主创新分享周 Slime未来规划 4展望 数字化基础软件自主创新分享周 4.1已有模块规划 网易数帆数字化基础软件自主创新分享周 多注册中心多集群多协议 网易数帆数字化基础软件自主创新分享周 4.2新模块规划 模块名(规划) 模块说明 计划发布时间 IPerf 性能测试工具集,可直观对比不同版本Istio的性能变化 2022.H2 Tracetio Istio的全链路自动化运维助手,提高排障效率,给出智能化判断结果 2022.H2 I9s Istio的黑屏半图形化运维工具,简化运维操作 2022.H2 4.2获取Slime 网址 网易数帆数字化基础软件自主创新分享周 GitHub:https://github.com/slime-io/slimeBlog:https://slime-io.github.io/ 交流 微信群:请添加微信号yonka_hust进群 QQ群:971298863 Slack:https://slimeslime-io.slack.com/invite 网易数帆数字化基础软件自主创新分享周 THANKS 感谢观看