严选 ServiceMesh 实践中间件 限流:速率限制 √ 中间件 资源隔离:主要依靠中间件 中间件 故障注入:不提供 × 超时控制、重试、重写、重定向等:继承 Nginx 的 timeout 机制 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM 遥感数据:主要依靠中间件 APM APM 访问日志:主要依靠日志平台 日志平台 日志平台6/24 Service Mesh 为严选带来了哪些架构收益 • 历史包袱:现有的服务在不改造的情况下引入了服务治理能力 • 大大降低了中间件的研发投入和演进成本,也降低了业务和中间件的耦合成本 • 基础架构与业务架构可以独立演进 • 为多语言栈提供了服务治理能力7/24 持续演进的诉求 • 提供高质量的服务治理能力 • 增强流量管理能力 • 将更多治理特性(如限流、熔断、故障注入)与业务架构解耦 • 支持更多的协议 • 增强控制面 故障转移 √ 安全 访问控制:RBAC vs Mixer √ 治理控制 熔断降级 √ 限流 √ 中间件 资源隔离 √ 故障注入 √ 超时控制、重试、重写、重定向等 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM 遥感数据:主要依靠中间件 APM APM 访问日志:主要依靠日志平台 日志平台 日志平台11/24 性能视角 – cNginx0 码力 | 25 页 | 2.07 MB | 6 月前3
网易云Service Mesh的产品架构与实现现 负载均 衡 集群容 错 高可用 配置管 理 调度和 部署 伸缩性 集中化 日志 集中式 监控 分布式 追踪163yun.comwww.163yun.com Dubbo产生背景www.163yun.com Spring Cloud技术栈www.163yun.com Spring Cloud优缺点www.163yun.com Kubernetes作为微服务平台www0 码力 | 35 页 | 6.33 MB | 6 月前3
七牛容器云ServiceMesh实践• Istio的灰度发布和流量管理 • Istio的Tracing产品化落地场景—云存储系统 • 历史问题 • 灰度发布 • 预上线系统验证体系 • 系统故障隔离 • 跨集群访问 • 线上问题链路追踪 • 解决方案 • Istio南北流量分流策略产品化 • 基于Istio的QoS产品化 • 跨集群流量调度 • 基于Istio的Tracing产品化落地场景—大数据产品 • 系统优化之路 •0 码力 | 15 页 | 3.86 MB | 6 月前3
金融级云原生 PaaS 探索与实践Controllers 添加finalizer 发布完成 注销 Pod IP 摘除 finalizer 注册 Pod IP 添加finalizer 发布完成 16/2017/20 安全风险保障 • 审计追踪; • 用户安全 – 基于 RBAC 体系和 PaaS 账号体系打通; • 租户安全 – 租户隔离|环境隔离|集群隔离; • 容器运行时 - 配额|隔离控制(磁盘,CPUSET); 发布运维体系18/200 码力 | 20 页 | 1.71 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展序一起部署,但对应用程序透明。什么是Service Mesh?- by Istio 服务发现 负载均衡 流量控制 ... 黑白名单 限流 ... 身份认证 通信加密 权限控制 ... 调用追踪 指标收集 ...什么是Service Mesh?- 从网络的视角 Service Mesh关注点 网络视角: Service Mesh是一个主要针对七层的网络解决方案,解决的是服务间的连通问题Service0 码力 | 27 页 | 11.99 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案b-port=getOriginalDest() 都没有改造,直连 服务器端有改造,单跳 客户端有改造,单跳Service Mesh时代的客户端和寻址方式 服务发现 加密 负载均衡 请求路由 目标服务 的标识 序列化 链路追踪 故障注入 日志 监控 Metrics 熔断 限流 服务降级 前置条件检查 身份认证 密钥管理 访问控制 …… 下沉到 Service Mesh 轻量级客户端 传统 侵入式 客户端 客户端应该尽可能的轻薄通用:0 码力 | 40 页 | 11.13 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路功能不能满足蚂蚁的需求,没法做到 类似envoy xds那样的扩展性 • 未来发展前景黯淡 Envoy • 安心做数据平面, 提供XDS API • 设计优秀,性能和稳定性表现良好 • C++编写,和蚂蚁的技术栈差异大 • 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio • 第一选择,重点关注对象 • 奈何迟迟不能发布生产可用版本 性能和稳定性远远不能满足蚂蚁的 要求 • 但我们非常认可Istio的理念和方向 Conduit • 只支持k8s,而蚂蚁尚未普及k8s • 数据平面由Rust编写,过于小众,难于 从社区借力。 • 同样存在技术栈问题 • 公司和产品在社区知名度和影响力有限国内公司的选择之一:自研 华为:CES Mesher • 使用Golang编写 • 由go chassis演进而来 • 走的是已有类库->加proxy->再加 细节暂时不清楚,即将开源 新浪微博:Motan Mesh • 也是使用Golang编写 • 全新实现(原有类库是基于Java) 老成持重的稳健思路:以proxy为切入口,第 一时间获取跨语言和技术栈下沉的红利,立足 之后再缓缓图之。 这个产品思路唯一的麻烦在于编程语言的选择国内公司的选择之二:开源方案定制 腾讯:Tencent Service Mesh • 数据平面选择Envoy:成熟产品,符合0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh 微服务架构设计数据库; • 服务和服务之间通过设计良好的API接口通信,不暴露具体的实 现细节; • 各服务不需要统一技术栈,不需要共享公共库和框架;微服务究竟带来什么好处 Ready for market faster:快速响应市场地变化 Mix of technologies:多技术栈混合使用; Scalability:可扩展性 Resiliency:可伸缩性 Agility:高效的团队协作,适合two-pizza 有成熟的DevOps平台,另外日志看查困难; Development and testing:开发测试成本高,依赖服务较多,Debug困难; Lack of governance:各服务可能技术栈不统一,不好统一管理;微服务和SOA究竟有什么区别 SOA MSASOA MSA 尽可能多的共享和复用 share as much as possible 尽量少的共享和复用 share as0 码力 | 36 页 | 26.53 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘SOFA/NodeJS/C++/Python/.. • 业务低成本融入服务,运维体系为什么要自研Golang版本ServiceMesh 2 Ø跨团队协作需要考虑技术栈落地成本 ü 参与团队分别使用C,Golang,Java等多种技术栈 Ø基于蚂蚁SOFA体系的Mesh化思考 ü 无法保证上下游应用同时升级到Mesh模式 ü 基于RPC内容的流量调度 ü 升级窗口有限,方案必须简单高效 Ø运维体系,容器化建设等方面适配 会造成写效率下降 Ø均衡 ü读写均衡是高吞吐量的保证 ü大量读/写会增加系统时间消耗, runtime 调度成本IO Bad Case 5调度均衡 6 Ø池化:避免 runtime.morestack 连续栈扩容性能损耗 Ø单核:避免G饥饿 Ø多核:避免P饥饿单核TCP转发 7 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz X0 码力 | 44 页 | 4.51 MB | 6 月前3
蚂蚁金服网络代理演进之路https://github.com/sofastack/sofa-mosn Written in go SOFAMosn是一个云原生安全网络代理 为什么自研golang版本? 跨团队合作需要考虑技术栈落地成本 Golang性能,成本符合蚂蚁实际需求 近十年的网络代理研发,运维经验SOFAMosn模块与能力划分SOFAMosn协程模型 ü 一条TCP连接对应一个Read协程,执行收包,协议解析 ü 应用层的零信任网络 § 随通信基础设施,通信场景的变 化而演进 § 金融级的通信安全基础设施关于未来 § 云原生,多云混合云时代,南北,东西流量的边界逐渐模糊 § 应用网络代理层部分能力固化,下沉至系统网络栈或者智能硬件设备 § 物理通信基础设施的升级势必带来应用网络层的变革 § Sidecar -> Proxyless -> Networkless谢谢!0 码力 | 46 页 | 19.93 MB | 6 月前3
共 11 条
- 1
- 2













