Service Mesh的延伸 — 论道Database Mesh• SELECT • 记录 SQL逆向 • INSERT -> DELETE • UPDATE -> UPDATE • DELETE -> INSERT 隔离级别 • 无隔离 • 版本控制 • 记录锁 • 影子表弹性伸缩:数据迁移 迁移监听 在线双写 离线迁移 数据源切换 冗余数据清 理治理监控 配置动态化 负载均衡 熔断 & 禁用 安全 & 权限 & 脱敏 应用 应用 注册中心Sharding-Sphere:APM演进线路图 JDBC + 数据分片 版本:1.X 数据库治理 版本:2.X Proxy 版本:3.0.X 分布式事务 版本:3.1.X Sidecar 版本:4.0.X 多数据副本 版本:4.1.X 弹性伸缩 版本:4.2.X 已完成 图例: 进行中 规划中联合社区打造开源解决方案Sharding-Sphere:官网0 码力 | 35 页 | 4.56 MB | 6 月前3
严选 ServiceMesh 实践2017年4月25日 1.0Releases Linkerd 2016年9月13日 1.0Releases 2017年9月14日 加入 CNCF Envoy 2017年9月15日 发布 最新版本:0.7.1 nginmesh 2016年9月29日第一次被公开提出 Service Mesh 概念正式提出9/24 云原生 Service Mesh 框架 - Istio • 由 Google,IBM 6ms左右12/24 性能视角 – cNginx vs Envoy(优化后) • 优化方案 • 采用 sriov 容器网络 • Envoy:将1.13版本中 connection loadbalancer 特性移植到 1.10.x 版本 • Envoy 优化后在低并发(<64)的情况下,容器网络 client sidecar 优于 VM 网络直连 • Envoy 优化后在高并发(>=64)的情况下 CICD • 单元测试 • 性能基准自动测试 • 监控报警 • 版本升级机制 • Envoy 热更新机制 • 灰度发布机制:业务灰度+流量灰度 • 演练测试 • 业务回归验证20/24 一些坑 • Envoy 目前编译版本存在 Bug • 在 Istio pilot 升级到加入 accesslog 相关配置下发功能版本后,Envoy 在一定压力访问或 有客户端主动断开请求时,会进入0 码力 | 25 页 | 2.07 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路Mesh,Sofa和社区主流开发框架 Service Mesh落地要面临的实际要求选择开源产品,还是选择自研? 起点:开源 起点:自研 全新打造;或依托现有SDK Fork,增强,扩展,定制,集成 回馈社区,反哺开源 维持版本更新,同步升级 未来肯定会开源 可扩展和可定制化是必备的 可 控 性 社 区 支 持 技术输出 内部落地 如何让开源产品接受我们的改动? 如何让社区和客户认可我们的产品?开源方案选择之第一代Service • 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio • 第一选择,重点关注对象 • 奈何迟迟不能发布生产可用版本 • 性能和稳定性远远不能满足蚂蚁的 要求 • 但我们非常认可Istio的理念和方向 Conduit • 只支持k8s,而蚂蚁尚未普及k8s • 数据平面由Rust编写,过于小众,难于 Mixer连接基础设施后端: Localhost不影响 两倍吞吐量 ü 决策: • 暂时不确认是否会造成 直接影响,先不动 • 等待实际验证后再决定 是否合并report部分 ü 参考 • Conduit已经在新版本 中将report类的功能合 并到Sidecar • 国内的华为/新浪微博 等都选择在Sidecar中 实现功能,没有mixerü 支持跨集群 • 打通多个服务注册中心 • 支持多个注册中心同步信息0 码力 | 37 页 | 7.99 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享Epoll模式 1000 2.5 18 28 Ø 压测环境 p Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz p kernel:3.10.0 p 压测版本: 0.2.1 – 2018.08版本 p 部署模式: Client <-> MOSN<-> Service p Client模拟方式:通过蚂蚁内部压测平台建立10w条SOFARPC链接 p 压测内容: 1K 请求/响应持续演进实践总结 续优化。相比最初版本,SOFARPC 协 议上对 0.1.0 版本 QPS 提升了 50%,内存使用减少了 40%;HTTP/2.0 相比官方库原 生实现,QPS提升了100%;HTTP/1.1 也有 30% 以上的性能提升。同时,针对具体 问题提供具体的解决方案,例如对于长连接网关场景,提供raw epoll模式来优化性 能表现。 ü 能力上,经过多轮演进,0.4.0版本已经初步具备了生产所需的大部分功能点,支持0 码力 | 29 页 | 7.03 MB | 6 月前3
七牛容器云ServiceMesh实践统一的Kubernetes管理接口 • Gimbal生态 • 多集群入口流量整合管理 • 劣势 • 缺少大规模落地案例 • 功能/非功能仍需加强Contour & Istio • 南北向流量 • API版本共存(Istio & Kubernetes Ingress) • 东西向流量 • Istio支持全量功能 • Contour支持Tracing能力 • 数据面共存 • 共用边车组件Envoy七牛现有Service 共用边车组件Envoy七牛现有Service Mesh体系 • Istio产品化 • 东西流量产品化 • 南北流量产品化 • TLS管理优化 • Contour增强 • 入口流量管控 • 跨集群调度 • 发展策略 • API版本兼容两种方式 • 数据面优先,控制面按需迭代七牛容器云Service Mesh发展 • 产品发展 • 依托容器云PaaS中台 • 辐射业务线:Spock,Kodo,Dora等 • 先内部普及踩坑,后私有云能力产品化 涉及K8S集群约20+集群 • 功能迭代 • 先南北,后东西 • 先原生,后二开 • 先管控面,后数据面落地场景—Spock测试平台 • 历史问题 • 分布式系统性能测试问题 定位难 • 多版本并发测试 • 故障注入较困难(代码侵 入性强) • 测试环境不稳定,后端Pod 频繁重启 • 解决方案 • Contour产品化 • Istio的灰度发布和流量管理 • Istio的Tracing产品化落地场景—云存储系统0 码力 | 15 页 | 3.86 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘• 金融级鉴权体系 • 云原生zero trust网络安全趋势 Ø异构语言体系融合 • SOFA/NodeJS/C++/Python/.. • 业务低成本融入服务,运维体系为什么要自研Golang版本ServiceMesh 2 Ø跨团队协作需要考虑技术栈落地成本 ü 参与团队分别使用C,Golang,Java等多种技术栈 Ø基于蚂蚁SOFA体系的Mesh化思考 ü 无法保证上下游应用同时升级到Mesh模式 Ø更好的吞吐量3 能力核心能力 1 网络处理 •网络编程接口 •链接管理 •事件机制 •Metrics 收集 •TCP 代理 •TLS 支持 •TProxy 支持 •平滑 reload •平滑版本升级 多协议 •SOFA RPC •HTTP 1.x (待优化) •HTTP 2 (待优化) •Dubbo (研发中) •HSF (研发中) •On TLS 核心路由 •支持 virtual Ø支持平滑升级中协议无关存量链接迁移 Ø支持指定 / 更新 Downstream / Upstream 协议配置 ØSOFARPC 支持 Upstream 反向请求Istio集成 3 Ø支持 Istio 0.8 版本 Pilot V4 API ü支持xDS on ADS Ø支持全动态配置启动运行 Ø支持API核心功能点,不断完善中扩展机制 4 • 网络层扩展 • 事件订阅 • 自定义filter • 协议层处理扩展0 码力 | 44 页 | 4.51 MB | 6 月前3
阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践(数十个集群),节点数量多 (数十万节点) • 业务线多、应用数量多、应用类型复杂 (有状态、无状态、多语言) • 基础环境复杂 • 大规模 在线、离线 混部 (运维打通) • 装机模板、OS版本、内核版本多;内核补丁、参数不同;其他如网卡中断打散 • 稳定性要求高 • 性能、宕机、夯机、抖动系统架构 • 基础监控 • 秒级、分钟级监控 • 内核性能指标采集 • 监控大盘 • 在线率 • (doc) 带本地盘 RedeployInstance (doc) 本盘数据不能 迁移运维实践 - 宕机率分析 • 宕机关联度分析 • 宕机趋势 • 机房、单元、分组 • 机型、硬件特征 • 内核版本、hotfix 一致率 • 宕机根因分析诊断 • 硬件故障、运维事件 • vmcore 归类分析 • 内核错误日志分析Machine Operator • 全生命周期 • 导入 • 下线0 码力 | 21 页 | 7.81 MB | 6 月前3
金融级云原生 PaaS 探索与实践三、发布运维体系 发布运维体系14/20 应用管理&交付 • 基于统一管控背景下的 Dockerfile 管理和生成; • 基于组件关联的 FedAppInstance + revision 版本控制; • 快速构建能力 - binary2Image 能力; 发布运维体系15/20 发布运维体系 发布运维 • 基础运维能力下沉; 原地升级,分组驱动; 流量控制; • 多应用有序发布; r replica:519/20 技术风险管控 Operator变更三板斧 发布运维体系 可灰度: • Controller 发布避免 0-1; 可回滚: • 回滚到基线版本; • 快速止血,停止新版本调和; 可监控: • metrics 指标(任务队列|消费&重 试情况|吞吐量&错误);0 码力 | 20 页 | 1.71 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?Support WebAssembly (WASM) in Envoy - https://github.com/envoyproxy/envoy/issues/4272 - 计划在1.12版本提供(1.11版本发布于7月12日) - envoy-wasm项目:Playground for Envoy WASM filter - https://github.com/envoyproxy/envoy-wasm k8s replicaset 通过实例模版设置实例数 管理实例副本(固定) k8s HPA或者serverless 通过实例模版设置自动伸缩 管理实例副本(伸缩) 更改镜像文件 更改实例模版 应用版本升级 容器/k8s 虚拟机(托管式实例组)Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? Traffic Director:效仿k8s/Istio的方式来管理服务 k8s service0 码力 | 43 页 | 2.90 MB | 6 月前3
服务增强器社区介绍北控三兴 赵化冰 中兴通讯ServiceMesher 社区成立以来组织了一系列翻译活动,如: • Envoy 官方文档 • Knative 入门 • Istio 官方文档 1.1 版本和 1.4 版本 社区官网投稿情况: • 翻译文章:147 篇 • 原创文章:122 篇 /03 社区活动2019年 10 月31 日 正式开始 istio 1.5 官网文档的翻译。 2 个月0 码力 | 7 页 | 20.77 MB | 6 月前3
共 23 条
- 1
- 2
- 3













