蚂蚁金服网络代理演进之路Ticket扩展 用于会话复用,加速握手过程 • Cached-info扩展 缓存证书等服务端信息,避免 再次握手时重复传输数据 • ECDHE-keyshare扩展 将TLS1.3草案中的1-RTT机制通 过扩展的方式提前应用 • ECC-signature扩展 使用高效ECDSA签名算法的同 时,兼容广泛使用的RSA证书 按需握手 • 业务可根据需求灵活选择明文 或密文传输,提升业务效率 TLS扩展安全合规能力持续升级 国密算法 • 拥抱监管 • 安全可控 • 金融科技 AntTLS库 • 基于OpenSSL • 全面拥抱TLS1.3 • 国密优化实现,国密单证书标准支撑 • 支持SGX等可信机制 • 多硬件卡Engine • Mobile,iot设备等多终端支持 • OpenSSL Committer无线移动战役 操作响应慢 操作无响应 Push没消息 Push消息慢 海外消息慢 统一通道:主长连接 + 短连接 § 统一协议:MTLS+MMTP § 统一调度:MobileDC 最优调度 网络探测 连接建立 传输+保持 通道复用 复合建连 握手优化 短连补偿 智能心跳 数据压缩 质量模型 自动重试 云端补偿 柔性建连 假连淘汰 动态超时 § 终端策略覆盖移动网络难点 § 优化对业务透明 § ROI考虑 好网更快 弱网更好 协议优化 支付宝网络接入层架构示意0 码力 | 46 页 | 19.93 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL 5 Ø定义编解码核心数据结构 üMesh处理三段式:Headers + Data + Trailers Ø定义协议Codec核心接口 ü编码:对请求数据进行编码并根据控制指令发送数据 ü解码:对IO数据进行解码并通过扩展机制通知订阅方 •定义扩展机制通知解码事件STREAMING 考虑PING-PONG,PIPELINE,分帧STREAM三种典型流程特征 Ø定义Stream生命周期,核心事件 Ø定义Stream层编/解码核心接口 ü 核心数据结构复用Protocol层 Ø定义可扩展的插件机制 Ø对于满足请求Stream池化的需求 Ø需处理上层传入的状态事件PROXY 7 Ø基于Stream抽象提供多协议转发能力 Ø执行Stream扩展Filters Ø提供可扩展的路由寻址能力 Q u e u e C模块划分 11要点总结 12 Ø模块化,分层解耦 Ø统一的编程模型接口 Ø可扩展的事件驱动模型 Ø可扩展的路由/后端管理机制 Ø更好的吞吐量3 能力核心能力 1 网络处理 •网络编程接口 •链接管理 •事件机制 •Metrics 收集 •TCP 代理 •TLS 支持 •TProxy 支持 •平滑 reload •平滑版本升级 多协议 •SOFA0 码力 | 44 页 | 4.51 MB | 6 月前3
陌陌Service Mesh架构实践服务发布Proxy / 并行调用Proxy 服务治理 • 服务治理平台、配置中心 • 监控、日志、分布式跟踪 • 异步调用、压测7/24 流量代理机制 PHP服务发布入流量代理 PHP并行调用出流量代理 16年起开始使用流量代理机制解决跨语言服务治理问题8/24 分享主题:字号 分享嘉宾 发布服务数 2000+ 注册实例数 2万+ 全天调用量 3500亿 微服务体系规模 非完善的控制平面功能 技术体系内不引入Go语言 最成熟的服务端语言为Java 使用Java开发 数据平面Agent14/24 整体架构 数据平面 • 现有协议的流量转发 • Agent平滑升级机制 控制平面 • 轻量的Pilot Proxy • 向Istio的标准协议靠拢 重点目标 长期规划15/24 数据平面实践细节 • 部署方式 • 升级方式 • 容灾方式 • 性能问题 陌陌微服务容器化部署比例在80%以上 并且还在进一步推进 业务接入方式 • 研发人员:升级SDK版本 • SRE:发布系统配置发布项 sidecar模式部署17/24 数据平面升级方式 – 平滑升级机制 平滑要求 • 业务进程不重启 • 流量保持不变 方案选择 • FD迁移 vs 哨兵集群 原理 • sendmsg / recvmsg接口发送FD • 步骤:listener、存量连接、存量数据0 码力 | 25 页 | 1.25 MB | 6 月前3
严选 ServiceMesh 实践流量复制:不提供 × 故障转移:继承 Nginx 的 Failover 机制 √ 安全 访问控制:主要依靠中间件 × 中间件 治理控制 熔断降级:主要依靠中间件 中间件 限流:速率限制 √ 中间件 资源隔离:主要依靠中间件 中间件 故障注入:不提供 × 超时控制、重试、重写、重定向等:继承 Nginx 的 timeout 机制 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM Kubernetes CRD与Mesh Configuration Protocol(简称为 MCP,一套标准 GRPC 协议) • 高可用设计主要基于 Kubernetes 及 Istio 机制实现14/24 Service Mesh 在混合云架构落地 /0215/24 严选上云 Roadmap16/24 落地关键步骤 拥抱云原生 • 大势所趋 • 容器化是微服务的最佳载体 • Protocol(简称为 MCP,一套标准 GRPC 协议)19/24 质量保障体系 • CICD • 单元测试 • 性能基准自动测试 • 监控报警 • 版本升级机制 • Envoy 热更新机制 • 灰度发布机制:业务灰度+流量灰度 • 演练测试 • 业务回归验证20/24 一些坑 • Envoy 目前编译版本存在 Bug • 在 Istio pilot 升级到加入 accesslog0 码力 | 25 页 | 2.07 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享Ø SOFAMesh集成,支持 xDS on ADS Ø X-Protocol协议扩展机制, 以及Dubbo支持 Ø 支持network/stream filter 扩展 Ø 支持WRR负载均衡 Ø 支持subset复杂匹配路由 Ø 无损平滑迁移 Ø ProtocolEngine协议扩展 机制 Ø 支持Router模式 Ø GRPC支持 Ø 协议自动识别 Ø 链式路由扩展 Ø MOSN出向路由基于明确的 服务依赖关系生成 ü 服务通过 id:version 定义 ü 适用于SOA化服务,标准微 服务 ü 适用于跨语言通信的场景蚂蚁落地 – 复杂路由 ü 基于链式路由机制扩展,使 用router match,subset等 开源能力实现 ü 适配蚂蚁三地五中心机房部 署,LDC/弹性架构 ü 蚂蚁内部划分R/G/C三种 zone类型,每个Zone的能 力不保证对等0 码力 | 29 页 | 7.03 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践com/sofastack/sofa-rpc28/39 Part 3: 蚂蚁金服的产品实践 虚拟机支持 • 云原生架构下,sidecar 借助于 k8s 的 webhook/operator 机制可以方便地实现注入、升级 等运维操作 • 然而大量系统还没有跑在 k8s 上,所以我们通过 agent 的模式来管理 sidecar 进程,从而可 以使 Service Mesh 能够帮助老0 码力 | 40 页 | 15.86 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践agent代码的注释里已经解释了这问题,原来agent不用关闭老的envoy,同一台机器上的多个envoy进程会通过unix domain socket互相通讯,即使不同envoy进程运行在不同容器里,也一样能够通讯。而借助这种通讯机制,可以自动 实现新envoy进程替换之前的老进程,也就是所谓的envoy hot restart。对于Istio和云平台集成的一些思考 • 可视化的统一管理平台 • 多租户的资源隔离 • Mixer的性能问题参考资料0 码力 | 28 页 | 3.09 MB | 6 月前3
共 7 条
- 1













