 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL 5 Ø定义编解码核心数据结构 üMesh处理三段式:Headers + Data + Trailers Ø定义协议Codec核心接口 ü编码:对请求数据进行编码并根据控制指令发送数据 ü解码:对IO数据进行解码并通过扩展机制通知订阅方 •定义扩展机制通知解码事件STREAMING 考虑PING-PONG,PIPELINE,分帧STREAM三种典型流程特征 Ø定义Stream生命周期,核心事件 Ø定义Stream层编/解码核心接口 ü 核心数据结构复用Protocol层 Ø定义可扩展的插件机制 Ø对于满足请求Stream池化的需求 Ø需处理上层传入的状态事件PROXY 7 Ø基于Stream抽象提供多协议转发能力 Ø执行Stream扩展Filters Ø提供可扩展的路由寻址能力 send encode Q u e u e C模块划分 11要点总结 12 Ø模块化,分层解耦 Ø统一的编程模型接口 Ø可扩展的事件驱动模型 Ø可扩展的路由/后端管理机制 Ø更好的吞吐量3 能力核心能力 1 网络处理 •网络编程接口 •链接管理 •事件机制 •Metrics 收集 •TCP 代理 •TLS 支持 •TProxy 支持 •平滑 reload •平滑版本升级0 码力 | 44 页 | 4.51 MB | 6 月前3 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL 5 Ø定义编解码核心数据结构 üMesh处理三段式:Headers + Data + Trailers Ø定义协议Codec核心接口 ü编码:对请求数据进行编码并根据控制指令发送数据 ü解码:对IO数据进行解码并通过扩展机制通知订阅方 •定义扩展机制通知解码事件STREAMING 考虑PING-PONG,PIPELINE,分帧STREAM三种典型流程特征 Ø定义Stream生命周期,核心事件 Ø定义Stream层编/解码核心接口 ü 核心数据结构复用Protocol层 Ø定义可扩展的插件机制 Ø对于满足请求Stream池化的需求 Ø需处理上层传入的状态事件PROXY 7 Ø基于Stream抽象提供多协议转发能力 Ø执行Stream扩展Filters Ø提供可扩展的路由寻址能力 send encode Q u e u e C模块划分 11要点总结 12 Ø模块化,分层解耦 Ø统一的编程模型接口 Ø可扩展的事件驱动模型 Ø可扩展的路由/后端管理机制 Ø更好的吞吐量3 能力核心能力 1 网络处理 •网络编程接口 •链接管理 •事件机制 •Metrics 收集 •TCP 代理 •TLS 支持 •TProxy 支持 •平滑 reload •平滑版本升级0 码力 | 44 页 | 4.51 MB | 6 月前3
 阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践钉钉、邮件、电话报警、ChatOps 自助诊断 • 节点故障自愈 (10) • 决策中心执行修复操作 • 集中统一风控 • 日常1人运维数十万节点 统一风控 监控 决策 自愈神龙运维事件 • 接收事件 (doc) • 响应事件 不带本地盘 SystemFailure.Reboot 带本地盘 SystemFailure.Redeploy 不带本地盘 RebootInstance (doc) 机型、硬件特征 • 内核版本、hotfix 一致率 • 宕机根因分析诊断 • 硬件故障、运维事件 • vmcore 归类分析 • 内核错误日志分析Machine Operator • 全生命周期 • 导入 • 下线 • 维护 • 组件终态 • 安装 • 升级 • 回滚 • 故障自愈 • 运维事件 • 业务置换Machine Operator未来工作 • 稳定性、资源利用率、运维效率0 码力 | 21 页 | 7.81 MB | 6 月前3 阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践钉钉、邮件、电话报警、ChatOps 自助诊断 • 节点故障自愈 (10) • 决策中心执行修复操作 • 集中统一风控 • 日常1人运维数十万节点 统一风控 监控 决策 自愈神龙运维事件 • 接收事件 (doc) • 响应事件 不带本地盘 SystemFailure.Reboot 带本地盘 SystemFailure.Redeploy 不带本地盘 RebootInstance (doc) 机型、硬件特征 • 内核版本、hotfix 一致率 • 宕机根因分析诊断 • 硬件故障、运维事件 • vmcore 归类分析 • 内核错误日志分析Machine Operator • 全生命周期 • 导入 • 下线 • 维护 • 组件终态 • 安装 • 升级 • 回滚 • 故障自愈 • 运维事件 • 业务置换Machine Operator未来工作 • 稳定性、资源利用率、运维效率0 码力 | 21 页 | 7.81 MB | 6 月前3
 SOFAMOSN持续演进路径及实践分享conn.read conn goroutine conn.read …… 调度切换/就绪通知技术案例 – 长连接网关RawEpoll模式 RawEpoll模式:使用epoll感知到可读事件之后,再从协程池中为其分配协程进行处理。 大幅减少goroutine实例数量,从而降低内存、调度开销 Netpoll implmented in Golang runtime conn.read conn.read conn 1. 链接建立后,向epoll注册oneshot 可读事件监听;并且此时不允许有协 程调用conn.read,避免与runtime netpoll冲突。 2. 可读事件达到,从gorotine pool挑 选一个协程进行读事件处理;由于使 用的是oneshot模式,该fd后续可读 事件不会再触发。 …… 4. 请求处理完成,将协程归还给协程池;同时将fd重新 添加到RawEpoll中技术案例0 码力 | 29 页 | 7.03 MB | 6 月前3 SOFAMOSN持续演进路径及实践分享conn.read conn goroutine conn.read …… 调度切换/就绪通知技术案例 – 长连接网关RawEpoll模式 RawEpoll模式:使用epoll感知到可读事件之后,再从协程池中为其分配协程进行处理。 大幅减少goroutine实例数量,从而降低内存、调度开销 Netpoll implmented in Golang runtime conn.read conn.read conn 1. 链接建立后,向epoll注册oneshot 可读事件监听;并且此时不允许有协 程调用conn.read,避免与runtime netpoll冲突。 2. 可读事件达到,从gorotine pool挑 选一个协程进行读事件处理;由于使 用的是oneshot模式,该fd后续可读 事件不会再触发。 …… 4. 请求处理完成,将协程归还给协程池;同时将fd重新 添加到RawEpoll中技术案例0 码力 | 29 页 | 7.03 MB | 6 月前3
 函数计算在双11小程序场景中的应用能和大规模资源伸缩调度、性能优化等系 统核心能力的研发。❖ 函数计算介绍 ❖ 双11小程序场景介绍 ❖ 技术挑战 ❖ Demo 目录函数计算-介绍 • 通用Serverless计算平 台 • 与云端事件源无缝集成 • 弹性伸缩,按量付费函数计算-介绍双11小程序场景介绍小程序场景的挑战 n 安全隔离 n 开发效率 n 大量的小程序是不活跃的 n 活动高峰期流量激增函数计算-冷启动优化 Download0 码力 | 13 页 | 6.95 MB | 6 月前3 函数计算在双11小程序场景中的应用能和大规模资源伸缩调度、性能优化等系 统核心能力的研发。❖ 函数计算介绍 ❖ 双11小程序场景介绍 ❖ 技术挑战 ❖ Demo 目录函数计算-介绍 • 通用Serverless计算平 台 • 与云端事件源无缝集成 • 弹性伸缩,按量付费函数计算-介绍双11小程序场景介绍小程序场景的挑战 n 安全隔离 n 开发效率 n 大量的小程序是不活跃的 n 活动高峰期流量激增函数计算-冷启动优化 Download0 码力 | 13 页 | 6.95 MB | 6 月前3
 Service Mesh结合容器云平台的思考和实践Run会调用agent.ScheduleConfigUpdate,这个方法只是简单地 往configCh里写一个新的配置,所谓的配置是所有certificate算出的sha256哈希值。 2. configCh的这个事件会被agent.Run监控到,然后调用agent.reconcile。 3. reconcile方法会启动协程执行agent.waitForExit从而启动envoy看reconcile方法名就知道是用来保证desired0 码力 | 28 页 | 3.09 MB | 6 月前3 Service Mesh结合容器云平台的思考和实践Run会调用agent.ScheduleConfigUpdate,这个方法只是简单地 往configCh里写一个新的配置,所谓的配置是所有certificate算出的sha256哈希值。 2. configCh的这个事件会被agent.Run监控到,然后调用agent.reconcile。 3. reconcile方法会启动协程执行agent.waitForExit从而启动envoy看reconcile方法名就知道是用来保证desired0 码力 | 28 页 | 3.09 MB | 6 月前3
共 5 条
- 1













