蚂蚁金服网络代理演进之路蓝绿发布 • 容灾 ØZone内容灾 Ø机房级别 Ø城市级别 • 弹性调度 • 压测 • 灰度蚂蚁金服SSL/TLS实践 合规 性能 安全软硬件一体解决方案 Intel QAT Cavium Nitrox软硬件一体解决方案 SSL握手性能 提升3倍 • 对Spanner实现了异步化改造 • 对openssl进行了异步化引擎改造 • 实现多芯片卡的负载均衡协议实现的改造-MTLS Push消息慢 海外消息慢 收发图片慢 建连时长 建连成功率 链路稳定性 链路一致性 RPC错误率 Push实时性 海外RTT 数据效率 快 速 稳 定 高 效 移动客户痛点 性能指标 线下支付 大促 国际支付咻一咻与敬业福咻一咻的挑战 亿级用户快速进入 亿级用户同时点击 剩余红包实时显示无线移动网络优化 § 统一通道:主长连接 + 短连接 § 统一协议:MTLS+MMTP 支付宝网络接入层架构示意 § 关键词:动态Hpack + PB + 动态字典 + Zstd通信协议&架构持续升级 多终端&协议接入 架构升级 云原生生态融合 § MQTT协议的IOT设备接入 § 就近就优海外接入,智能调度 § 蚂蚁全球加速节点,全协议支持 § 支持UDPA § QUIC/HTTP3 § 接入层容器化,混部 § 支持QUIC协议的LB建设 § Web Assembly模块扩展东西流量的服务发现与路由0 码力 | 46 页 | 19.93 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路Mesh产品——Sofa Mesh。 今天我们将展开更多细节,详细介绍蚂蚁金服Sofa Mesh的技术选型, 架构设计以及开源策略。 前言技术选型 Technical 1ü 性能要求 • 以蚂蚁金服的体量,性能不够好则难于接受 • 架构与性能之间的权衡和取舍需要谨慎考虑 ü 稳定性要求 • 以蚂蚁金服的标准,稳定性的要求自然是很高 • 高可用方面的要求很非常高 ü 部署的要求 • 需要用于多种场合:主站,金融云,外部客户 • 安心做数据平面, 提供XDS API • 设计优秀,性能和稳定性表现良好 • C++编写,和蚂蚁的技术栈差异大 • 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio • 第一选择,重点关注对象 • 奈何迟迟不能发布生产可用版本 • 性能和稳定性远远不能满足蚂蚁的 要求 • 但我们非常认可Istio的理念和方向 C++带来的技术栈选择问题 • 我们有太多的扩展和定制 • 而且,proxy不仅仅用于mesh Istio • 控制平面:Istio是目前做的最好的 • 认可Istio的设计理念和产品方向 • 性能和稳定性是目前最大问题 • 对非k8s环境的支持不够理想 • 没有提供和侵入式框架互通的解决方案Sofa Mesh:istio的增强扩展版 Pilot Auth Mixer Envoy Pilot0 码力 | 37 页 | 7.99 MB | 6 月前3
微博Service Mesh实践Graphite ➢ 实时统计监控 平台微服务相关建设⽐比较完善 Notify Subscribe RegisterService Mesh Meetup · BeiJing 业务部⻔门调⽤用链 微博Service Mesh实践 - WeiboMesh �5 RPC A WEB A 平台体系 RPC B WEB B Golang 服务 PHP 服务 OR服务 …… RestFul Server(php/java/..) golang/php/java Registry grpc/yar/motan ➢ 语⾔言特性 ➢ 历史积累 ➢ 业务侵⼊入较⼤大,client太重 ➢ 性能 ➢ 扩展性差 ➢ 推⼴广困难 Register Subscribe NotifyService Mesh Meetup · BeiJing 服务治理理 �9 微博Service Mesh实践0 码力 | 43 页 | 1007.85 KB | 6 月前3
阿里巴巴核心应用洛地 Service Mesh 的挑战与机过路由插件#4 解耦业务与基础设施 •实现 Sidecar 热升级,流量无损切换 1. 迁移至新的 Listener Fd 2. 告之新的请求重启链路,继续处理 老的回调 3. 请求重新连接使用新的 Envoy 4. 直到老的不再收到回调数据,下线让我们一起兑现 Service Mesh 价值Thank you ! 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT0 码力 | 22 页 | 6.61 MB | 6 月前3
Service Mesh Meetup #3 深圳站- go/blob/master/articles/sonarqube-for-golang/2018-07-22-sonarqube-for- golang.mdDrone 和 Jenkins 联调测试方法 本地即可测试 drone 上是否可以调用成功: >docker run --rm \ -e JENKINS_URL=-e JENKINS_USER= 0 码力 | 45 页 | 18.62 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?小区保安: 轻松一刻:最近流行的梗,各种灵魂拷问Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? 要架构,还是要性能? 让我们来对ServiceMesh做一次灵魂拷问,首先:Istio的回答:架构优先,性能暂放一边 Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Istio 0.1 - 1.0 Mixer 0.1 - 1.0 In- process AdapterIstio AdapterIstio Control Plan 为什么Istio选择Mixer和Proxy分离的架构? Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Proxy Mixer In- Process Adapter Infrastructure Backend Proxy 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Istio的新回答:架构继续优先,性能继续放一边 Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Istio 1.1 – 1.2 Mixer 1.1 - 1.2Istio Control Plan 为什么Istio选择Out-of-Process Adapter? Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Proxy Mixer Bypass0 码力 | 43 页 | 2.90 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘 奕杉Agenda Ø背景 Ø构架 Ø能力 Ø性能 ØRoadMap背景为什么蚂蚁需要ServiceMesh Ø拥抱微服务,云原生 • SOFA 5规划落地 • 兼容K8S的智能调度体系 Ø运维体系的有力支撑 • LDC • 弹性伸缩 • 蓝绿/容灾/.. Ø金融级网络安全 • 金融级鉴权体系 • 云原生zero trust网络安全趋势 无法保证上下游应用同时升级到Mesh模式 ü 基于RPC内容的流量调度 ü 升级窗口有限,方案必须简单高效 Ø运维体系,容器化建设等方面适配 ü 蚂蚁运维架构建立在流量调度的基础上 ü 容器管理平台更替快速进行中 ØGolang 性能,成本评估符合蚂蚁实际需求2 构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 Ø屏蔽IO处理细节 Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 自定义filter • TCP层自定义私有协议 • 自定义Codec • 自定义Stream • 其他 • 路由 • 后端管理4 性能单核优化点 1 Ø绑核 ü 更好的 runtime G-P-M data locality亲和性 ü 整体性能提升约 30% Ø内存 ü SLAB-style buffer pool ü 内存优化 ØIO ü IO 优化 ü IO 均衡 Ø调度0 码力 | 44 页 | 4.51 MB | 6 月前3
严选 ServiceMesh 实践资源隔离:主要依靠中间件 中间件 故障注入:不提供 × 超时控制、重试、重写、重定向等:继承 Nginx 的 timeout 机制 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM 遥感数据:主要依靠中间件 APM APM 访问日志:主要依靠日志平台 日志平台 日志平台6/24 Service Mesh 为严选带来了哪些架构收益 • 资源隔离 √ 故障注入 √ 超时控制、重试、重写、重定向等 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM 遥感数据:主要依靠中间件 APM APM 访问日志:主要依靠日志平台 日志平台 日志平台11/24 性能视角 – cNginx vs Envoy(优化前) • 1600RPS+40个并发(主机配置均为 8C16G) • cNginx cNginx 的 RT overhead 在0.4ms左右 • Envoy(client模式)的 RT overhead 是0.6ms左右12/24 性能视角 – cNginx vs Envoy(优化后) • 优化方案 • 采用 sriov 容器网络 • Envoy:将1.13版本中 connection loadbalancer 特性移植到 1.10.x 版本 • Envoy 优化后在低并发(<64)的情况下,容器网络0 码力 | 25 页 | 2.07 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享支持必要的admin接口性能 0.1.0 0.2.0 0.3.0 0.4.0 Ø 内存复用框架 Ø Slab style buffer Ø Raw-Epoll模式 Ø 读合并 Ø 协程池化 Ø 调度均衡 Ø SOFARPC深度优化 Ø TLS官方库IO优化 Ø HTTP1.1/HTTP2.0 IO优化 Ø 日志操作异步化&多次合 并 Ø 基于RCU的高性能配置更 新安全 & 可观察性 代码管理 ü fork x/net/http2 代码 ü 新增mosn_http2.go文件,复用原生结构体和方法,暴露mosn框架 所需方法和结构 ü 原则不修改原生文件技术案例 – http2性能优化 Ø 压测环境 p Intel(R) Xeon(R) CPU E5620 @ 2.40GHz p kernel:2.6.32-220.23.2.el6.x86_64 p 单核模式:1 core; 架构上,从一开始就遵循分层设计,模块解耦,统一编程模型接口,保证足够的架 构扩展性。 ü 性能上,针对IO、协议、内存、协程进行持续优化。相比最初版本,SOFARPC 协 议上对 0.1.0 版本 QPS 提升了 50%,内存使用减少了 40%;HTTP/2.0 相比官方库原 生实现,QPS提升了100%;HTTP/1.1 也有 30% 以上的性能提升。同时,针对具体 问题提供具体的解决方案,例如对于长连接网关场景,提供raw0 码力 | 29 页 | 7.03 MB | 6 月前3
Service Mesh的实践分享服务路由 网络传输 OSP client多语言客户端接入 • HTTP & TCP • Local & Remote • 根据接入对象的不同,制定 不同的接入策略,达到 • 接入简单 • 保证性能 • 节省资源 Java App Local Proxy OSP Server Remote Proxy Cluster Thrift over TCP PHP App C/C++/Node 物理机 Tracing system Trace-log Trace-log 用户与Istio的区别 我是作者名称没有对称的server端agent • 性能考虑 • Proxy已经增加了一跳,server再增加一跳会加剧 性能压力 • 部署考虑 • 服务端agent成为必选项会增加运维压力 • OSP server默认没有agent,web server只带一个 服务注册agent Proxy OSP OSP client App Envoy App EnvoyClient端不基于IPTable劫持 • Istio的设计很美好,但现实总是很残酷 • IPTable性能不总是足够好 • 任何组件都有不可用的时候。客户端无论如何都要有自切换的能力和可 用的备份 • 尽量减少外部组件依赖。业务/运维总会有各种特殊的需求,依赖外部组 件会给自定义需求带来障碍。 •0 码力 | 30 页 | 4.80 MB | 6 月前3
共 27 条
- 1
- 2
- 3













