陌陌Service Mesh架构实践平滑升级机制 平滑要求 • 业务进程不重启 • 流量保持不变 方案选择 • FD迁移 vs 哨兵集群 原理 • sendmsg / recvmsg接口发送FD • 步骤:listener、存量连接、存量数据 Java实现 • 借助JNI与Netty Java实现FD迁移18/24 数据平面升级方式 – 发布流程 容器化发布方式 • 发布过程同时存在新旧两个Agent • 注入新Container ProtoBuf替换JSON • 复用连接并适当设置连接数 Agent内部 • 对象池化:减少资源消耗与GC压力 • 响应等待机制:非阻塞等待 两次请求转发小于0.2ms Agent外部 • 提升服务器性能(缩减耗时绝对值) API层接口耗时增长小于6%21/24 数据平面资源占用 与业务容器共享CPU、内存资源配额 为Agent JVM分配256M内存资源 服务器消耗增加约10% 分配方式 分配方式 内存资源 服务器资源 维持现有内存使用率与 服务器配置的最坏情况 实际需预留 600M内存22/24 数据平面兼容原有架构 对接原有系统 • 使用原有系统SDK、私有协议 直连访问 兼容未升级服务 • Proxy Agent支持以原有通信 协议处理请求、发起调用23/24 总结与展望 实践感悟 • Service Mesh通过一种全新的架构理念,系统地解决了微服务领域的关键架构痛点0 码力 | 25 页 | 1.25 MB | 6 月前3
深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统Kubernetes 落地,超过 90% 的资源通过 Kubernetes 分配,核心链路100%落地支撑 大促。5/19 大促规模 Part 1:蚂蚁金服的Kubernetes现状 数万台 服务器和ECS 超一万 单集群规模 90%+ 应用服务 数十万 应用 Pods业务 6/19 统一资源调度架构 Part 1:蚂蚁金服的Kubernetes现状 非云 资源 云化 资源 云盘 本地多盘 弹性网卡 网络安全组 GPU 安全可信 数据库服务 OB serverless 平台 kata SOFAMesh 资源分时复用 神龙裸金属 VPC 云存储 应用服务器 数据库服务器 国产化服务器7/19 二、双十一 Kubernetes 实践 Part 2:8/19 资源分时调度 Part 2:双十一 Kubernetes 实践 快速腾挪的问题 1.实例上下线需要预热0 码力 | 19 页 | 2.18 MB | 6 月前3
Service Mesh Meetup #3 深圳站当使用一个客户端实例和多个后端实例进行部署时,所有的调用仅 路由到单个后端实例。当部署第二个客户端时,它可能被路由到另 一个后端实例。这不是所需的那种负载均衡,因为它不允许独立地 扩展客户端和服务器。当客户端实例比服务器实例少时,一些服务 器实例将处于空闲状态,所以 Kubernetes Service 不太适合 gRPC 负 载均衡。—摘自:http://www.k8smeetup.com/article/N1yW3gPNXgRPC0 码力 | 45 页 | 18.62 MB | 6 月前3
蚂蚁金服网络代理演进之路防攻击蚂蚁金服网络接入十年变迁 2010年前部署商用设备 前世 01 2010 开始网络代理白盒 化,定制业务逻辑,软 硬件一体解决方案 自研 02 2015 年无线通道协议,安 全升级, 连接收编 All in 无线 03 PC时代 移动时代 万物互联云原生时代 2018 年协议,安全持续升 级(QUIC,MQTT,国密), 云原生 再启程 03前世 F5 BigIP Netscaler自研四层网络代理 大促 国际支付咻一咻与敬业福咻一咻的挑战 亿级用户快速进入 亿级用户同时点击 剩余红包实时显示无线移动网络优化 § 统一通道:主长连接 + 短连接 § 统一协议:MTLS+MMTP § 统一调度:MobileDC 最优调度 网络探测 连接建立 传输+保持 通道复用 复合建连 握手优化 短连补偿 智能心跳 数据压缩 质量模型 自动重试 云端补偿 柔性建连 假连淘汰 流量控制 镜像中心 流量镜像 流量镜像 TLS,国密 服务鉴权 流量控制 TLS,国密 服务鉴权 流量控制蚂蚁金服率先大规模落地SOFAMesh UDPA 安全 统一数据 平面API 存量连接无损迁移 提升5倍发布效率 TLS双向加密 支持国密算法 WAF 流量镜像 多协议 SOFARPC Dubbo HTTP1.1/2 平滑升级 性能 单跳CPU增加5%消耗 0.2ms RT0 码力 | 46 页 | 19.93 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享40GHz p kernel:2.6.32-220.23.2.el6.x86_64 p 单核模式:1 core; 多核模式: 4 core p Post请求:1k上传,1k下载 p h2load:100连接,10并发 场景 QPS RT(ms) MEM(M) CPU(%) Old http2(1 core) 2700 358ms 55M 100% New http2(1 core) 6500 152ms 152ms 36M 100% Old http2(4 core) 8100 122ms 70M 393% New http2(4 core) 17200 57ms 40M 395%技术案例 – 长连接网关RawEpoll模式 经典Golang netpoll模型 ² 问题:协程数量与链接数量成正比,大 量链接场景下,协程数量过多 u Stack内存开销 u Read buffer开销 u implmented in Golang runtime conn goroutine conn.read conn goroutine conn.read …… 调度切换/就绪通知技术案例 – 长连接网关RawEpoll模式 RawEpoll模式:使用epoll感知到可读事件之后,再从协程池中为其分配协程进行处理。 大幅减少goroutine实例数量,从而降低内存、调度开销 Netpoll implmented0 码力 | 29 页 | 7.03 MB | 6 月前3
Service Mesh的延伸 — 论道Database Mesh脱敏 APM现有实现方案对比 客户端 • 支持任意数据库 • 数据库连接数占用高 • 仅支持单一开发语言 • 性能损耗低 • 无中心化 代理端 • 仅支持单一数据库 • 数据库连接数占用低 • 支持任意开发语言 • 性能损耗高JDBC Proxy Sidecar 数据库 任意 单一 单一 连接数 高 低 高 异构语言 仅Java 任意 任意 性能 损耗低 损耗略高 损耗低0 码力 | 35 页 | 4.56 MB | 6 月前3
蚂蚁金服双十一 Service Mesh 超大规模落地揭秘我们的方案-升级策略-无感升级-MOSN MOSN New MOSN 通知平滑升级 迁移监听套接字 解析Mosn配置 启动控制面服务 通知启动完成 关闭控制面服务 关闭数据面服务 迁移存量长连接 怎么做到的无损?20 四、分时调度案例 分时调度案例21 分时调度-背景 资源域A 资源域B 资源域A 资源域B X时刻 Y时刻 业务诉求 资源限制 分时调度22 分时调度-方案演进 资源域B 运行态 保活态 常规方案操作步骤 分时调度操作步骤23 分时调度-MOSN价值 MOSN 作用:保活态节点流量转发,降低保活态节点内存占用 保活意义: * 应用长连接维持 * DB 连接维持 * 缓存维持 * 无需预热可快速恢复 MOSN APP MOSN APP Client Pod 运行态 Pod 保活态 100% 100%0 码力 | 26 页 | 2.71 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路Mesh探讨:何为基础设施后端?是否可以区别对待? ü 实现Check的Adapter: • listchecker (黑白名单) • opa (Open Policy Agent) • rbac(连接到Istio CA) ü 实现Quota的Adapter • Memquota (基于单机内存) • Redisquota (基于外部redis) ü 实现Report的Adapter • Sidecar Mixer Backend 交换机 交换机 应用 Sidecar Backend 交换机 应用 Backend 交换机 应用直连基础设施后端: Sidecar连接基础设施后端: Mixer连接基础设施后端: Localhost不影响 两倍吞吐量 ü 决策: • 暂时不确认是否会造成 直接影响,先不动 • 等待实际验证后再决定 是否合并report部分 ü 参考0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?Infrastructure Backend Proxy 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Proxy无需和Adapter耦合 • 读取配置 -> 连接k8s/Galley • Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 Kubernete Mixer v1的优点不应该成为Mixer v2的缺点 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Proxy无需和Adapter耦合 • 读取配置 -> 连接k8s/Galley • Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 • 集中式服务:0 码力 | 43 页 | 2.90 MB | 6 月前3
阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践• 未来工作云原生全景图阿里全站上云 • 2018年底:阿里经济体全面上云 • 2019上云第一仗:基础设施上云 • 双11顺利通过峰值流量考验神龙 X-Dragon • 全称:弹性裸金属服务器(神龙) • 阿里造“神龙”神龙 X-Dragon • 优势: • 性能 • 弹性 • 支持再虚拟化 2017/10 阿里云神龙正式商用 (AWS Nitro 2017/11)技术选型0 码力 | 21 页 | 7.81 MB | 6 月前3
共 16 条
- 1
- 2













