SOFAMOSN持续演进路径及实践分享
C++实现 • CNCF第三个毕业项目, ISTIO原生数据平面 • 开发活跃,最新版为1.9.0 • Google, Lyft主导,业界 众多公司使用中,重点搭 载ISTIO使用,服务各类 场景 • Rust实现 • CNCF项目,最早的 Service Mesh数据平面 • 开发活跃,最新版为 18.9.1 • Golang实现 • 新生项目,初期旨在搭建 RPC亲和,高度可扩展性 FAMOSN数据流SOFAMOSN数据流持续演进路径 & 技术案例能力 0.1.0 0.2.0 0.3.0 0.4.0 Ø TCP代理/7层通用代理 Ø 简单匹配路由 Ø 集群管理 & 基本负载均衡(RR、 RANDOM) Ø SofaRpc及HTTP/1.1、 HTTP/2.0支持 Ø 进程平滑升级 Ø SOFAMesh集成,支持 xDS on ADS Ø X-Protocol协议扩展机制, HTTP/2.0优化 官方HTTP/2.0实现问题: 1. syscall read较多,效率低下 2. 每个stream分配单独的goroutine处理, 调度开销高 3. 临时对象多,GC占比高 4. 基本实现了RFC中MUST部分,部分功 能需求上不匹配,如GRPC trailer实现技术案例 – HTTP/2.0优化 优化思路:适配MOSN框架,复用官方实现核心结构体和解析流程 Ø 框架适配0 码力 | 29 页 | 7.03 MB | 5 月前3大规模微服务架构下的Service Mesh探索之路
Prometheus • Solarwinds • Stackdriver • Statsd • Stdio 同意视为基础设置, 甚至可能集成更多, 这里的抽象隔离是 我们认可的 但是这些??更应该 视为基本能力,直接 做成Mesh内置功能 List backend Redis for Quota memquota List backend Redis for Quota Istio现有的Mixer Mesh架构反思:数据平面和控制平面的界线该如何划定? ü 有关Mixer Cache的详细介绍和源码解析 • Mixer Cache: Istio的阿克琉斯之踵? • Istio Mixer Cache工作原理与源码分析(1)-基本概念 • Istio Mixer Cache工作原理与源码分析(2)-工作原理 • Istio Mixer Cache工作原理与源码分析(3)-主流程 • Istio Mixer Cache工作原理与源码分析(4)-签名 开源的动机 • 秀肌肉,博名声 • 沦为KPI工程,面子工程 ü 开源项目的维护 • 被抛弃,或者发展停滞无人维护 ü 开源的时机 • 直接开源,摆明态度 ü 开源的内容 • 业界最新的技术 • 业界最好的架构(努力中J) • 内部使用同样产品落地 ü 开源的动机 • 吸引社区,谋求合作,开源共建 ü 开源项目的维护 • 内部使用,保证持续投入 • 请放心Sofa Mesh的合作模式:多层次全方位开放0 码力 | 37 页 | 7.99 MB | 5 月前3Service Mesh的实践分享
我是作者名称服务化体系1.0 • OSP(Open Service Platform) • Thrift over Netty • 基于Java语法的DSL • Zookeeper • 胖客户端 • 基本服务治理功能 App OSP Server Service Registry Service Config Center 服务发现 服务注册 服务元数据下发 OSP client 服务路由 服务注册agent • 服务端的一些治理、trace、鉴权功能通过代码插 件的方式实现 • 治理效果考虑 • 服务端嵌入治理功能可以让治理效果更好,如提 供主动GC、线程池隔离等 • 因为是内部项目,优雅性和治理效果之间,选择 了后者 App Local Proxy OSP OSP client App Envoy App EnvoyClient端不基于IPTable劫持 • 物理机sidecar单客户端,无须扩容 Daemonset根据宿主机的配置调整Proxy的 资源以应对客户端增多的情况。容量超标 则临时转移到remote proxy 承接临时流量和非主要流量, 基本无动态扩容需求。上云之 后(目前物理机)可以支持动 态扩容Sidecar(in Pod) vs. Daemonset + remote proxy Sidecar(in Pod) Daemonset0 码力 | 30 页 | 4.80 MB | 5 月前3云原生开放智能网络代理 MOSN
云原生开放智能网络代理 MOSN 金融级云原生架构助推器 肖涵(涵畅) 蚂蚁金服高级技术专家 SOFAMosn 项目负责人1/10 MOSN,云原生时代的安全网络代理 Service Mesh 控制面 Galley Pilot Pod SOFA 服务 MSON Kubernetes TLS,国密 服务鉴权 Mirror Ingress Controller Pod Msg 快速迭代4/10 这两年,MOSN 如何走过 2017年底 开始调研 Service Mesh 技术选型以及接入层变革 的思考 2018年春节 第一行代码 2018年5月 以 SOFAMosn 项目名开源 2018年11月 内部正式启动落地 Service Mesh 2019年4月 落地第一个应用 2019年618 核心支付链路灰度 2019年双十一 核心支付链路全覆盖5/10 GitHub Insights8/10 从 SOFAMosn 到 MOSN,让社区来建设 MOSN 社区组织:MOSN Community Organization 项目地址:github.com/mosn/mosn 项目域名:mosn.io Modular Open Smart Network-proxy9/10 MOSN 未来发展思路与方向 更完善的文档及 Demo 安全审计 社区0 码力 | 12 页 | 1.39 MB | 5 月前3Service Mesh 在『路口』的产品思考与实践
Greenfield vs Brownfield Greenfield • 绿地,未开发过的土地 • 全新的项目/新系统 图片来源:https://faasandfurious.com/90 Brownfield • 棕地,已开发/污染过的土地 • 成熟的项目/遗留系统12/39 Part 2: 在当下『路口』的思考 • 大量的应用还跑在非 k8s 体系上(VM、独立的注册中心等)0 码力 | 40 页 | 15.86 MB | 5 月前3Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?
Envoy - https://github.com/envoyproxy/envoy/issues/4272 - 计划在1.12版本提供(1.11版本发布于7月12日) - envoy-wasm项目:Playground for Envoy WASM filter - https://github.com/envoyproxy/envoy-wasm +Web Assembly介绍 Part https://github.com/envoyproxy/envoy/issues/4272 - 2018年8月28日,提出Issue - 2018年10月开始动手 - 2019年5月poc完成,创建envoy-wasm项目 - 目前放在envoy的下一个milestone 1.12中Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? 有了高大上的容器/k8s/云原生, 还要不要支持土里土气的 虚拟机?Part0 码力 | 43 页 | 2.90 MB | 5 月前3Service Mesh结合容器云平台的思考和实践
Pilot-Agent核心流程解读Kubernetes平台下的微服务演进当我们在讨论微服务的时候我们在讨论什么? • 解决如何微服务的问题 • 解决微服务化后带来的问题 温饱问题 • 计算资源的快速分配 • 基本的监控 • 快速部署 • 易于分配的存储 • 易于访问的外围(负载均衡) • 服务注册和发现 致富问题 • 认证和授权 • 智能路由 • 流量管理 • 服务降级 • … • 微服务拆分原则 多租户的资源隔离 • Mixer的性能问题参考资料 • Service Mesh深度学习系列|istio源码分析之pilot-agent组件分析 • Patten: Service Mesh • Envoy基本架构和配置解析感 谢 聆 听 Thanks!0 码力 | 28 页 | 3.09 MB | 5 月前3阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践
关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •嵌入式、微服务框架 •2017 年加入阿里巴巴,负责阿 里集团数十万集群节点规模化运 维管理系统的研发工作 •2019 年参与集团全面上云项目 并经历了整体架构的云原生升级 演进,稳定支撑双11峰值流量分享内容 • 阿里全站上云 • 神龙 (what & why) • 规模化集群运维实践 • 未来工作云原生全景图阿里全站上云 •0 码力 | 21 页 | 7.81 MB | 5 月前3进击的 Traefik | 云原生边缘路由器探秘
M arathon, Mesos, Consul, Etcd, Z ookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的 配置文件进行设置Traefik 项目 •https://github.com/containous/traefik •MIT License •Written in Go •25,400+⭐ 2,700+⬇ •Current0 码力 | 35 页 | 8.58 MB | 5 月前3Service Mesh的延伸 — 论道Database Mesh
Atomicity - 原子性 Consistency - 一致性 Isolation - 隔离性 Durability - 持久性 柔性事务:BASE Basically Available - 基本可用 Soft state -软状态 Eventual consistency - 最终一致性分布式事务:分类 XA 最大努力送达 Saga TCC 业务改造 无 无 实现补偿接口 实现TCC接口0 码力 | 35 页 | 4.56 MB | 5 月前3
共 12 条
- 1
- 2