Envoy原理介绍及线上问题踩坑
, 由内核随机挑选一个线程用于处理新连接。 • 当Envoy配置的线程数比较多时(越多越明显), 常观察到新连接被分配到某些线程。 • Envoy的线程模型是工作线程由libevent事件信 号驱动串行的处理发生的新事件(网络,定时器) • 请求堆积在某些线程将导致tp90上升,QPS处理 能力下降。 • 对于长连接和规格较高的Envoy影响更明显。短 链接可以一定程度上提升连接线程选择的随机性。 策略化的智能路由与弹性流量管理 无侵入智能流量管理: 权重、内容等路由规则,实现应用灵活灰度发布 HTTP会话保持,满足业务处理持续性诉求 限流、熔断,实现服务间链路稳定、可靠 服务安全认证:认证、鉴权、审计等,提供服务 安全保障基石 实时流量健康 度检测 路由策略管理 • 图形化应用全景拓扑,流量治理可视化 CCE(云容器引擎) ISTIO服务网格 应用性能监控服务(APM) 实时流量可视化0 码力 | 30 页 | 2.67 MB | 1 年前3Extending service mesh capabilities using a streamlined way based on WASM and ORAS
一致性校验: ○ https://github.com/pr oxy-wasm/spec ● 内置的Wasm runtime ○ ~20MB for WAVM ○ ~10MB for V8 ● 事件驱动模型 ● 兼容native filter调用 方式 8 Example Wasm filter configuration ● 下发到Envoy Proxy侧的配置 9 OCI Registry 该configmap存放要拉取的wasm filter 的地址, 例如: acree-1-registry.cn-hangzhou.cr.aliyuncs.com/asm/sample:v0.1 ○ 如果需要授权认证, 该asmwasm-controller会根据定义的pullSecret值获得相应的 secret值; ○ 然后,调用oras API从注册库中动态拉取wasm filter; ○ 该asmw0 码力 | 23 页 | 2.67 MB | 1 年前3Istio 在 Free Wheel 微服务中的实践
逻辑用Golang重写,引入了Kubernetes。随着模块越来越多,复杂 的通信带来矛盾日渐突出:流量管理、监控… 最初的尝试:Gateway • 如右图,最初我们尝试用一个自研的 简单Gateway来提供统一的认证、授 权、限流、监控,但问题很快凸显出 来了: • Gateway是一个中心化的反向代 理,成为了微服务中的瓶颈,模 块流量会互相影响 • 大锅饭带来了复杂的配置管理, 渐渐难以为继 • Istio的架构和基本原理 • FreeWheel的痛点 FreeWheel的Istio实践 • 在FreeWheel,我们已经有一套复杂的自定义认证、授权机制,为了 充分利用Istio,我们通过扩展Istio来整合这些系统,涉及两方面: • 扩展Sidecar:加入认证支持,提供了对业务系统的认证支持,将用 户相关信息以header的形式传入mesh,后续的授权、监控、限流 都可以用Istio原生的机制来完成 • FreeWheel的Istio实践 • 右图为接入FreeWheel自定义认证和 授权模块的原理图 扩展Sidecar接入认证 • 修改 istio-system/istio-sidecar- injector 这个ConfigMap,加入自定 义反向代理 FreeWheel的Istio实践 • 通过在Sidecar中增加FreeWheel自定义认证支持,下游可以充分利用 Istio提供的授权、限流、监0 码力 | 31 页 | 4.21 MB | 1 年前3Kubernetes容器应用基于Istio的灰度发布实践
Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功能 扩展 Istio总体架构 Istio & Kubernetes:架构结合0 码力 | 38 页 | 14.93 MB | 1 年前3Kubernetes容器应用基于Istio的灰度发布实践
Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功 能 扩 展11 Istio总体架构12 Istio0 码力 | 34 页 | 2.64 MB | 5 月前3全栈服务网格 - Aeraki 助你在 Istio 服务网格中管理任何七层流量
实现一个自定义协议时,只需要实现 Decode 和 Encode 扩展点的少量代码 (C++)。 ● 提供基于 WASM 和 Lua 的 L7 filter 扩展点,用户可以实现一些灵活的自定义协议处理逻辑,例如认证授权等。 #IstioCon MetaProtocol: 请求处理路径 处理流程: 1. Decoder 解析 Downstream 请求,填充 Metadata 2. L7 filter 从0 码力 | 29 页 | 2.11 MB | 1 年前313 Istio 流量管理原理与协议扩展 赵化冰
可以无需关注分布式架构带来的通信相关问题,而专注于其业务价值。 流量控制:服务发现、请求路由、负载均衡、灰度发布、错误重试、 断路器、故障注入 可观察性:遥测数据、调用跟踪、服务拓扑 通信安全: 服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS •0 码力 | 20 页 | 11.31 MB | 5 月前3SolarMesh 基于Istio构建的流量监管平台
错综复杂的服务调度掩盖了 问题的源头 服务间交互的复杂性: Ø 难以可视化 Ø 难以全面测试 Ø 多服务联动时问题难以察觉 Ø ... 服务间通信的复杂性: Ø 网络延迟 Ø 消息序列化 Ø 不可靠的网络 Ø 异步机制 Ø ... 开发难 排错难 测试难 运维难 Ø 服务变得非常多 Ø 版本变得非常复杂 Ø 上线十分痛苦 Ø 排查问题更难 Ø 解决手段更复杂 Ø 学的东西更多 的资源占用以及极低的维护成本 •规范 标准的istio规范操作,实时反映真实集群状态,告别terminal。 •便捷 一键安装,UI操作,流量策略模板复用,批量设置 •多集群支持,零成本接入 流量视图提供统一的拓扑图界面,让您的视角可以统揽全局 •附加组件 •Jaeger,为SolarMesh提供分布式链路追踪的能力 •Grafana,为SolarMesh提供流量的实时仪表盘 快速,零成本接入 SolarMesh对虚拟机的支持 Copyright © 2021 Cloud To Go 1. Istio的直连模式,在sidecar故障时提供秒级的直连流量切换 2. 多集群统一纳管,为流量运维提供上帝视角 3. 可视化、规范化Istio操作,告别terminal 4. 反应集群真实情况,流量可视化监控 5. 为istio核心组件提供监控能力 6. 服务质量(SLO)检测能力0 码力 | 20 页 | 1.29 MB | 1 年前3Istio + MOSN 在 Dubbo 场景下的探索之路
Other link: https://github.com/istio/istio12/23 MOSN MOSN 是一款使用 Go 语言开发的网络代理软件,作为云原生的网络数据平面,旨在为服务提供 多协议、模块化、智能化、安全的代理能力。MOSN 是 Modular Open Smart Network 的简称。 MOSN 可以与任何支持 xDS API 的 Service Mesh 集成,亦可以作为独立的四、七层负载均衡,0 码力 | 25 页 | 3.71 MB | 5 月前3百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXu
百度APP基于Istio实现 基础架构升级 许超 #IstioCon 背景 l 核心业务线已完成微服务改造,数万个微服务对架构服务治理能力提出了更高的要求。 l 高级架构能力能否多语言、多框架支持? l 运维架构能力是否具备可移植性?是否能低成本复制新的产品线? l 可观测性不足,是否有通用机制提升产品线可观测性? Ø 部分模块上下游超时配置不合理,超时倒挂,集中管理调整成本比较高。0 码力 | 9 页 | 2.20 MB | 1 年前3
共 10 条
- 1