 SOFAMOSN持续演进路径及实践分享无法识别协议, 断开链接 继续读取数据技术案例 – HTTP/2.0优化 官方HTTP/2.0实现问题: 1. syscall read较多,效率低下 2. 每个stream分配单独的goroutine处理, 调度开销高 3. 临时对象多,GC占比高 4. 基本实现了RFC中MUST部分,部分功 能需求上不匹配,如GRPC trailer实现技术案例 – HTTP/2.0优化 优化思路:适 ² 问题:协程数量与链接数量成正比,大 量链接场景下,协程数量过多 u Stack内存开销 u Read buffer开销 u Runtime调度开销 参考阅读:million-websockets-and-go Netpoll implmented in Golang runtime conn goroutine conn.read conn goroutine conn.read 事件之后,再从协程池中为其分配协程进行处理。 大幅减少goroutine实例数量,从而降低内存、调度开销 Netpoll implmented in Golang runtime conn.read conn …… 调度切换/就绪通知 3.请求处理过程中,协程调度 与经典netpoll模式一致 Raw Epoll goroutine pool conn.read conn 1. 链0 码力 | 29 页 | 7.03 MB | 6 月前3 SOFAMOSN持续演进路径及实践分享无法识别协议, 断开链接 继续读取数据技术案例 – HTTP/2.0优化 官方HTTP/2.0实现问题: 1. syscall read较多,效率低下 2. 每个stream分配单独的goroutine处理, 调度开销高 3. 临时对象多,GC占比高 4. 基本实现了RFC中MUST部分,部分功 能需求上不匹配,如GRPC trailer实现技术案例 – HTTP/2.0优化 优化思路:适 ² 问题:协程数量与链接数量成正比,大 量链接场景下,协程数量过多 u Stack内存开销 u Read buffer开销 u Runtime调度开销 参考阅读:million-websockets-and-go Netpoll implmented in Golang runtime conn goroutine conn.read conn goroutine conn.read 事件之后,再从协程池中为其分配协程进行处理。 大幅减少goroutine实例数量,从而降低内存、调度开销 Netpoll implmented in Golang runtime conn.read conn …… 调度切换/就绪通知 3.请求处理过程中,协程调度 与经典netpoll模式一致 Raw Epoll goroutine pool conn.read conn 1. 链0 码力 | 29 页 | 7.03 MB | 6 月前3
 蚂蚁金服 API Gateway Mesh 思考与实践蚂蚁金服「三板斧」 API Gateway Mesh 落地挑战 风险 运维 性能 功能 上线不是一件容易的事 Golang 历史债清理 sian->protobuf ead->goroutine sigma 已知的风险都不是风险16/21 M O S N A P P Gateway LB Spanner x % x*(100-y) % x*y % 100-x %0 码力 | 22 页 | 1.72 MB | 6 月前3 蚂蚁金服 API Gateway Mesh 思考与实践蚂蚁金服「三板斧」 API Gateway Mesh 落地挑战 风险 运维 性能 功能 上线不是一件容易的事 Golang 历史债清理 sian->protobuf ead->goroutine sigma 已知的风险都不是风险16/21 M O S N A P P Gateway LB Spanner x % x*(100-y) % x*y % 100-x %0 码力 | 22 页 | 1.72 MB | 6 月前3
 阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践Service Mesh 安全容器 运维管控 在离线混部 额度管控 监控体系 多租隔离 上层业务 集 团 业 务运维挑战 • 规模大 • 集群规模大 (数十个集群),节点数量多 (数十万节点) • 业务线多、应用数量多、应用类型复杂 (有状态、无状态、多语言) • 基础环境复杂 • 大规模 在线、离线 混部 (运维打通) • 装机模板、OS版本、内核版本多;内核补丁、参数不同;其他如网卡中断打散0 码力 | 21 页 | 7.81 MB | 6 月前3 阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践Service Mesh 安全容器 运维管控 在离线混部 额度管控 监控体系 多租隔离 上层业务 集 团 业 务运维挑战 • 规模大 • 集群规模大 (数十个集群),节点数量多 (数十万节点) • 业务线多、应用数量多、应用类型复杂 (有状态、无状态、多语言) • 基础环境复杂 • 大规模 在线、离线 混部 (运维打通) • 装机模板、OS版本、内核版本多;内核补丁、参数不同;其他如网卡中断打散0 码力 | 21 页 | 7.81 MB | 6 月前3
 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展• 将Polling改为Watch,大幅降低Consul服务数据变化后的同步时延 优化效果 • 200个服务的规模下,CPU占用率降低了一个数量级 • 服务数据变化同步时延从分钟级降低到秒级 • Consul调用导致的TIME_WAIT Sockets数量减少到个位级产品化增强-Ingress API Gateway K8S Ingress Load balancing SSL termination0 码力 | 27 页 | 11.99 MB | 6 月前3 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展• 将Polling改为Watch,大幅降低Consul服务数据变化后的同步时延 优化效果 • 200个服务的规模下,CPU占用率降低了一个数量级 • 服务数据变化同步时延从分钟级降低到秒级 • Consul调用导致的TIME_WAIT Sockets数量减少到个位级产品化增强-Ingress API Gateway K8S Ingress Load balancing SSL termination0 码力 | 27 页 | 11.99 MB | 6 月前3
 深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统调度性能优化 Part 2:双十一 Kubernetes 实践14/19 Operator开发者最佳实践 Part 2:双十一 Kubernetes 实践 • CRD 在定义时需要明确未来的最大数量,大量CR 业务最好采用 aggregate-apiserver 进行扩展 • CRD 必须 Namespaced scope,以控制影响范围 • MutatingWebhook + 资源 Update0 码力 | 19 页 | 2.18 MB | 6 月前3 深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统调度性能优化 Part 2:双十一 Kubernetes 实践14/19 Operator开发者最佳实践 Part 2:双十一 Kubernetes 实践 • CRD 在定义时需要明确未来的最大数量,大量CR 业务最好采用 aggregate-apiserver 进行扩展 • CRD 必须 Namespaced scope,以控制影响范围 • MutatingWebhook + 资源 Update0 码力 | 19 页 | 2.18 MB | 6 月前3
 金融级云原生 PaaS 探索与实践为什么要有集群联邦 • 异构屏蔽:  底层集群变化; • 统一管控:  业务弹性建站管控统一; • 可扩展:  多租硬隔离;  体量(单集群内节点数 1w+,Pod 10w+),集群数量多; 多集群管控11/20 多集群管控 联邦核心能力 • 跨集群资源同步  Template,Override,Placement 模型;  状态回流;  扩展 CRD; • 跨集群发现12/200 码力 | 20 页 | 1.71 MB | 6 月前3 金融级云原生 PaaS 探索与实践为什么要有集群联邦 • 异构屏蔽:  底层集群变化; • 统一管控:  业务弹性建站管控统一; • 可扩展:  多租硬隔离;  体量(单集群内节点数 1w+,Pod 10w+),集群数量多; 多集群管控11/20 多集群管控 联邦核心能力 • 跨集群资源同步  Template,Override,Placement 模型;  状态回流;  扩展 CRD; • 跨集群发现12/200 码力 | 20 页 | 1.71 MB | 6 月前3
 Service Mesh的实践分享性和原语 • ZK弊端显现 • 跨机房多活问题 • 性能问题 • 宠物对待 • API不友好问题 • 不能unwatch • 需要花费很大力气进行迁移和替换PHP Thrift效率低 • 数量众多PHP应用,开发php-sdk over thrift • 在客户端进行序列化,减少一次协议转 换的消耗 • 与Java应用在架构上呼应,保持架构的一 致性 • 然而,实际上PHP Thrift效率低比内置0 码力 | 30 页 | 4.80 MB | 6 月前3 Service Mesh的实践分享性和原语 • ZK弊端显现 • 跨机房多活问题 • 性能问题 • 宠物对待 • API不友好问题 • 不能unwatch • 需要花费很大力气进行迁移和替换PHP Thrift效率低 • 数量众多PHP应用,开发php-sdk over thrift • 在客户端进行序列化,减少一次协议转 换的消耗 • 与Java应用在架构上呼应,保持架构的一 致性 • 然而,实际上PHP Thrift效率低比内置0 码力 | 30 页 | 4.80 MB | 6 月前3
共 7 条
- 1













