Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展deployed alongside application code, without the application needing to be aware. 服务网格是一个基础设施层,用于处理服务间通信。云原生应用有着 复杂的服务拓 扑,服务网格负责在这些拓扑中实现请求的可靠传递。 在实践中,服务网格通常实 现为一组轻量级网络代理,它们与应用程 序一起部署,但对应用程序透明。什么是Service 1产品化增强-TCP Service的处理 是否需要将TCP Service纳入Service Mesh管控? l 收益 Ø TCP Service可以享受流量管理,可见性,策略控制等Istio承诺的益处 l 成本 Ø Istio不理解TCP上的应用层协议,其对TCP Service的缺省处理会影响应用层逻 辑 -例子:Envoy的LB算法不能处理应用后端集群的Sharding Ø Istio中和HTTP Shard A Shard B Shard C client 一致性哈希 client client产品化增强-TCP Service的处理 在Service Mesh中 Bypass TCP流量,让TCP请求跳过Service Mesh的处理,缺省发送到原 始请求目的地。 l 方案一:通过IPtables bypass TCP流量 通过IP段或者端口范围区分HTTP和其他TCP流量0 码力 | 27 页 | 11.99 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享每个stream分配单独的goroutine处理, 调度开销高 3. 临时对象多,GC占比高 4. 基本实现了RFC中MUST部分,部分功 能需求上不匹配,如GRPC trailer实现技术案例 – HTTP/2.0优化 优化思路:适配MOSN框架,复用官方实现核心结构体和解析流程 Ø 框架适配 ü IO框架 ü 内存复用框架 ü workerpool协程池框架 Ø 功能支持 ü 请求流式处理模式 ü 热升级 ü 长连接网关RawEpoll模式 RawEpoll模式:使用epoll感知到可读事件之后,再从协程池中为其分配协程进行处理。 大幅减少goroutine实例数量,从而降低内存、调度开销 Netpoll implmented in Golang runtime conn.read conn …… 调度切换/就绪通知 3.请求处理过程中,协程调度 与经典netpoll模式一致 Raw Epoll goroutine pool 可读事件监听;并且此时不允许有协 程调用conn.read,避免与runtime netpoll冲突。 2. 可读事件达到,从gorotine pool挑 选一个协程进行读事件处理;由于使 用的是oneshot模式,该fd后续可读 事件不会再触发。 …… 4. 请求处理完成,将协程归还给协程池;同时将fd重新 添加到RawEpoll中技术案例 – 长连接网关RawEpoll模式 场景 QPS MEM(K) CPU(%)0 码力 | 29 页 | 7.03 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘性能,成本评估符合蚂蚁实际需求2 构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 Ø屏蔽IO处理细节 Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL 5 Ø定义编解码核心数据结构 üMesh处理三段式:Headers + Data + Trailers Ø定义协议Codec核心接口 ü编码:对请求数据进行编码并根据控制指令发送数据 征 Ø定义Stream生命周期,核心事件 Ø定义Stream层编/解码核心接口 ü 核心数据结构复用Protocol层 Ø定义可扩展的插件机制 Ø对于满足请求Stream池化的需求 Ø需处理上层传入的状态事件PROXY 7 Ø基于Stream抽象提供多协议转发能力 Ø执行Stream扩展Filters Ø提供可扩展的路由寻址能力 Ø提供可扩展的后端管理,负载均衡,健康检查能力 Ø维护上/下游核心指标转发流程 Q u e u e C模块划分 11要点总结 12 Ø模块化,分层解耦 Ø统一的编程模型接口 Ø可扩展的事件驱动模型 Ø可扩展的路由/后端管理机制 Ø更好的吞吐量3 能力核心能力 1 网络处理 •网络编程接口 •链接管理 •事件机制 •Metrics 收集 •TCP 代理 •TLS 支持 •TProxy 支持 •平滑 reload •平滑版本升级 多协议 •SOFA0 码力 | 44 页 | 4.51 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践Envoy • 服务发现 • Envoy生命周期管理 • Envoy配置下发 • 服务模型 • 配置模型 • 负载均衡 • 智能路由(灰度、蓝绿) • 流量管理(超时、重试、熔断) • 故障处理 • 故障注入 • … Mixer • 前提条件检查:安全认证,黑白名单, ACL检查 • 限流管理 • 遥测报告:日志监控 控制平面 数据平面 Istio-Auth • 服务间认证 RETURNPilot-Agent主要功能分析-生产Envoy配置 envoy的配置主要在pilot-agent的init方法与proxy命令处理流程的前半部分生成。其中init方法为pilot-agent二进制的命令行配置大 量的flag与flag默认值,而proxy命令处理流程的前半部分负责将这些flag组装成为envoy的配置ProxyConfig对象。下面分析几个相对重 要的配置。 role pi registry)类型的不同,会采用不同的配置方式。agent当前使用的具体service registry类型保存在 pilot-agent的registry变量里,在init函数中初始化为默认值Kubernetes。当前只处理以下三种情况: • Kubernetes • Consul • OtherPilot-Agent主要功能分析-生产Envoy配置 registry值 role.IPAddress role.ID0 码力 | 28 页 | 3.09 MB | 6 月前3
Service Mesh的延伸 — 论道Database MeshMesh产品多样化Service Mesh的优势 云原生 零入侵 可观察性 面向运维服务化之后,数据库怎么办? 服务 • 无状态 • 根据规则路由 • 业务方处理事务 数据库 • 有状态 • 根据SQL路由 • 数据库自动处理事务数据库的进化趋势 • SQL • ACID • 分布式 RDBMS • SQL • BASE ACID • 分布式 NoSQL • SQL0 码力 | 35 页 | 4.56 MB | 6 月前3
进击的 Traefik | 云原生边缘路由器探秘基于标签、key-value、注解、文 件 • Docker、Kubernetes、Marathon 、Rancher、FileEntryPointsRouters匹配器Services • Services 负责配置最终处理传入请求 的实际服务。 • 负载均衡(针对应用实例):轮询( 目前支持)、session 亲和性 • 带权重的轮询:仅可用于在 Service 之间,并且目前只支持 File Provider ProviderMiddlewares配置 • 静态配置:Traefik 启动时的 配置,Provider 连接信息、要 监听的 EntryPoints,通过配置 文件、命令行参数、环境变量 定义 • 动态配置:Traefik 处理请求 的所有配置,证书、路由、服 务、中间件等,动态改变、无 缝更新1 Traefik 介绍 2 Traefik 2.0 核心概念 3 Traefik With Docker 4 Traefik0 码力 | 35 页 | 8.58 MB | 6 月前3
Service Mesh 高可用在企业级生产中的实践• 接入层限流 • 调用外部限流服务限流 • 切面层/代理层限流 常用限 流架构23/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 服务限流 • 拒绝策略 • 延迟处理 • 特权处理 常用限 流策略24/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 服务限流 • 固定、滑动时间窗口限流 • 适合微服务接口 • 选定的时间粒度上限流 • 令牌桶、漏桶限流0 码力 | 38 页 | 1.38 MB | 6 月前3
蚂蚁金服网络代理演进之路Golang性能,成本符合蚂蚁实际需求 近十年的网络代理研发,运维经验SOFAMosn模块与能力划分SOFAMosn协程模型 ü 一条TCP连接对应一个Read协程,执行收包,协议解析 ü 一个请求对应一个worker协程,执行业务处理,proxy和Write逻辑SOFAMosn能力扩展 ü 协议扩展 MOSN 通过使用同一的编解码引擎以及编/解码器核心接口,提供协议的 plugin 机制,包括支持 • SofaRPC • 包括支持: • 流量镜像,RBAC鉴权SOFAMosn能力扩展 心跳检查在Service Mesh场景下网络代理有着不同于接入层的挑战 • 无论应用是否接入Mesh,接入了多少Mesh,都需要保证可正常处理请求,做到可 灰度、可回滚的兼容,平滑迁移 • 通用的框架能力(SOFAMosn/Envoy)无法直接满足复杂的、定制的业务能力,需 要进行针对性的扩展实现 • 需要融合主站已有的应用体系,如注册中心、配置中心等,这些也需要扩展实现0 码力 | 46 页 | 19.93 MB | 6 月前3
阿里巴巴核心应用洛地 Service Mesh 的挑战与机过Envoy 中增加 WebAssembly 路由插件#4 解耦业务与基础设施 •实现 Sidecar 热升级,流量无损切换 1. 迁移至新的 Listener Fd 2. 告之新的请求重启链路,继续处理 老的回调 3. 请求重新连接使用新的 Envoy 4. 直到老的不再收到回调数据,下线让我们一起兑现 Service Mesh 价值Thank you ! 关注“阿里巴巴云原生”公众号0 码力 | 22 页 | 6.61 MB | 6 月前3
金融级云原生 PaaS 探索与实践ReadinessGate=true 添加Pod IP 注册Pod IP 添加finalizer ReadinessGate=false 删除Pod ip 注销 Pod IP 摘除 finalizer 处理剩余请求 升级完成 ReadinessGate=true 添加Pod IP 注册 Pod IP 添加finalizer Other protection Controllers 添加finalizer0 码力 | 20 页 | 1.71 MB | 6 月前3
共 15 条
- 1
- 2













