Service Mesh的实践分享
• 节省资源 Java App Local Proxy OSP Server Remote Proxy Cluster Thrift over TCP PHP App C/C++/Node JS App Thrift over TCP Thrift over TCP JSON over HTTP JSON over HTTP多语言服务端接入 • Registry 换的消耗 • 与Java应用在架构上呼应,保持架构的一 致性 • 然而,实际上PHP Thrift效率低比内置 的HTTP模块慢得多 • 性能消耗比JSON转Thrift还要大 • 最终废弃了PHP Thrift模块,直接使用 自带的c写的http模块 + +Daemonset共享模式下Proxy资源的竞争 • Proxy作为资源的一种,隔离性很重要 • 多个Pod共享一个Proxy0 码力 | 30 页 | 4.80 MB | 5 月前3Service Mesh Meetup #3 深圳站
如何提升工程效率?DevOps • CI/CD 实战 • ServiceMesh • 踩过的一些坑 • Q&A技术架构的演进 • 单体架构 • 一个框架 • 一个数据库 • 分模块整合架构(前后端分析) • 不同的框架或业务模块 • 多种数据源 • 微服务架构 • 各种语言、各种框架或子系统 • 各种数据源 • ServiceMesh一般的开发流程 • 1. 开启一个新的 feature; • drone/drone:0.8.6 • Docker pull drone/agent:0.8.6 • Docker run or Docker compose其他特性 • 支持Cache(vendor,node_modules):方便下次更快执行 • 支持触发其他CI服务: • Jenkins(plugins/drone-jenkins) • Gitlab-CI(plugins/drone-gitlab-ci)0 码力 | 45 页 | 18.62 MB | 5 月前3微博Service Mesh实践
服务治理理Service Mesh Meetup · BeiJing 跨语⾔言服务化⽅方式对⽐比 �11 微博Service Mesh实践 - WeiboMesh Http代理理 RPC模块 Agent代理理 研发成本 低 ⾼高 中 维护成本 低 ⾼高 中 使⽤用成本 低 低 中 治理理功能 中 ⾼高 ⾼高 扩展能⼒力力 低 中 ⾼高Service Mesh Meetup · LB(负载均衡) ➢ Endpoint(服务节点的抽象) ➢ Protocol(Motan2/传输协议+Simple/序列列化协议)Service Mesh Meetup · BeiJing Cluster 模块 �18 微博Service Mesh实践 - WeiboMesh WM/ Client request Server WM/ Server ⽬目标机器器 请求机器器 Client Cluster BeiJing 和Istio在业务感知上的区别 �39 微博Service Mesh实践 - WeiboMesh 服务透明 VS 模块耦合 Istio:对服务透明 • 云原⽣生 • IPtables流量量拦截 • 服务⽆无感知 WM:模块化耦合 • 耦合度可选 • 定制化开发Service Mesh Meetup · BeiJing WM未来发展⽅方向 �40 微博Service0 码力 | 43 页 | 1007.85 KB | 5 月前3云原生开放智能网络代理 MOSN
服务鉴权 • TCP、Http、SOFA • 透明劫持 • 平滑升级 • 可观测性 • 网络包过滤器 • 协议包过滤器 • 协议扩展 • 可观测性扩展 • 路由扩展 • 集群管理扩展 模块化 安全 智能 高性能3/10 MOSN 助力业界最大规模之一的 Service Mesh 实践 核心支付链路覆盖 容器规模 几十万 峰值 QPS 千万 CPU 0%~2% MEM 15M Demo 安全审计 社区 更多的协议及服务框架支持 Dubbo、SpringCloud、 RocketMQ、gRPC、HTTP3、 MQTT、QUIC、TLS1.3 等 多协议 支持模块化 自适应限流 多协议深度扩展能力 多进程 WAF WebAssembly 兼容用户态协议栈 Lua 支持 核心和开放能力 适配 Istio,兼容 UDAP 协议 Zookeeper,Etcd0 码力 | 12 页 | 1.39 MB | 5 月前3SOFAMOSN持续演进路径及实践分享
RPC亲和,高度可扩展性 的Golang转发系统 • 开发活跃,最新版为0.4.0 • 蚂蚁+UC主导,重点搭载 SOFAMesh使用,目标服 务通用场景,金融场景SOFAMOSNSOFAMOSN内部模块设计SOFAMOSN数据流SOFAMOSN数据流持续演进路径 & 技术案例能力 0.1.0 0.2.0 0.3.0 0.4.0 Ø TCP代理/7层通用代理 Ø 简单匹配路由 Ø 集群管理 MOSN<-> Service p Client模拟方式:通过蚂蚁内部压测平台建立10w条SOFARPC链接 p 压测内容: 1K 请求/响应持续演进实践总结 ü 架构上,从一开始就遵循分层设计,模块解耦,统一编程模型接口,保证足够的架 构扩展性。 ü 性能上,针对IO、协议、内存、协程进行持续优化。相比最初版本,SOFARPC 协 议上对 0.1.0 版本 QPS 提升了 50%,内存使用减少了0 码力 | 29 页 | 7.03 MB | 5 月前3蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘
Event Handler Pool worker worker Worke r data Log Writer Pool send encode Q u e u e C模块划分 11要点总结 12 Ø模块化,分层解耦 Ø统一的编程模型接口 Ø可扩展的事件驱动模型 Ø可扩展的路由/后端管理机制 Ø更好的吞吐量3 能力核心能力 1 网络处理 •网络编程接口 •链接管理 •事件机制0 码力 | 44 页 | 4.51 MB | 5 月前3大规模微服务架构下的Service Mesh探索之路
实现跨注册中心的服务调用 ü 支持异构 • 实现方式不同的注册中心 • 向Service Mesh的过渡 • 两个非Service Mesh的打通 ü 终极形态 • 跨集群 + 异构同时支持 • 配合其他模块实现更灵活的服务间通讯 增强版Pilot:梦幻级服务注册和治理中心 服务 治理 中心 服务注册中心 A P I 接 口 抽 象 模 型 Sofa Registry K8S实现 Consul实现 内部使用同样产品落地 ü 开源的动机 • 吸引社区,谋求合作,开源共建 ü 开源项目的维护 • 内部使用,保证持续投入 • 请放心Sofa Mesh的合作模式:多层次全方位开放 基础类库 功能模块 完整产品 解决方案 服务注册 熔断 RPC 路由规则 负载均衡 限流 加密 认证 Golang Sidecar 增强版本 Pilot Edge Sidecar 服务治理 中心0 码力 | 37 页 | 7.99 MB | 5 月前3蚂蚁金服网络代理演进之路
就近就优海外接入,智能调度 § 蚂蚁全球加速节点,全协议支持 § 支持UDPA § QUIC/HTTP3 § 接入层容器化,混部 § 支持QUIC协议的LB建设 § Web Assembly模块扩展东西流量的服务发现与路由 F5(ipvs) APP APP APP APP 配置中心 APP APP APP APP Proxy APP APP APP APPService SOFAMosn是一个云原生安全网络代理 为什么自研golang版本? 跨团队合作需要考虑技术栈落地成本 Golang性能,成本符合蚂蚁实际需求 近十年的网络代理研发,运维经验SOFAMosn模块与能力划分SOFAMosn协程模型 ü 一条TCP连接对应一个Read协程,执行收包,协议解析 ü 一个请求对应一个worker协程,执行业务处理,proxy和Write逻辑SOFAMosn能力扩展0 码力 | 46 页 | 19.93 MB | 5 月前3阿里巴巴核心应用洛地 Service Mesh 的挑战与机过
SDK 无法升级的情形下如何实现应用的 mesh 化 •没有人力修改 RPC-SDK,应用不想升级 1. Istio 通过 iptables NAT 表所使 用到的 nf_contrack 内核模块效率 低下 2. 与 AliOS 团队探索出了基于 userid 和 mark 标识流量的透明拦 截方案,基于 iptables 的 mangle 表实现了一个全新的透明拦截组件#2 短时间内支持电商业务复杂的服务治理功能0 码力 | 22 页 | 6.61 MB | 5 月前3蚂蚁金服 API Gateway Mesh 思考与实践
核心系统上云12/21 蚂蚁金服 API Gateway Mesh 架构 数据流 控制流 Ops 流13/21 API Gateway Mesh Based on MOSN MOSN 能力与模块 MMTP Protocol HTTP\SOFARPC\Dubbo Gateway Filters Service Discovery Router14/21 API Gateway Core0 码力 | 22 页 | 1.72 MB | 5 月前3
共 18 条
- 1
- 2