Service Mesh的实践分享物理机、sidecar • Local & Remote,主与备 • 轻量级客户端、本地调用 • Local Proxy负责服务治理与 远程通信 • Remote Proxy负责备份和非 主流流量 JavaApp Local Proxy OSP Server Service Registry Service Config Center Remote Proxy Cluster 每台宿主机一台Proxy • Proxy地址文件 • Mount到所有pod • 客户端容器监听文件,根据地 址文件找Proxy • 切换地址到remote proxy,轻 易实现优雅退出和滚动升级 • 增强隔离性 • Local Proxy被pod共享 • 自保护,对来源方限流和流量 转移 • 资源适配 • 根据宿主机的硬件配置定制不 同资源配置的Daemonset Local Proxy Pod Pod 写入地址 监听变化 宿主机 Proxy address File Pod Remote Proxy Cluster 主流量 备用或限流 DaemonsetOverall JavaApp Local Proxy OSP Server Service Registry Service Config Center Remote Proxy Cluster0 码力 | 30 页 | 4.80 MB | 6 月前3
深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统9/19 资源分时链路切换 Part 2:资源分时调度 Kubernetes Node 分时调度 Agent Pod 资源 Node 分时调度 Agent Pod 资源 Node 分时调度 Agent Pod 资源 容量平台 监控平台 巡检平台 流量控制 流量平台 配置中心 流量控制器 流量状态CRD 资源状态CRD 资源及流量控制CRD 资源控制 分时调度 控制器 Pod 资源 Pod 资源 Pod 资源10/19 Part 2:资源分时调度 分时切换效果 数万台 应用 Pods 分钟级 链路切换 数万核 CPU资源节省 100% 分时切换成功率11/19 计算型任务混部 Part 2:双十一 Kubernetes 实践 其他自研 Operators AI 训练 Kubernetes TensorFlow PyTorch 实践16/19 三、展望未来,迎接挑战 Part 2:17/19 平台与多租户 Part 3:展望未来,迎接挑战 Kubernetes设计的多租户 实际Kubernetes集群里的多租户18/19 自动化运维 – 技术风险 Part 3:展望未来,迎接挑战0 码力 | 19 页 | 2.18 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享支持WRR负载均衡 Ø 支持subset复杂匹配路由 Ø 无损平滑迁移 Ø ProtocolEngine协议扩展 机制 Ø 支持Router模式 Ø GRPC支持 Ø 协议自动识别 Ø 链式路由扩展 Ø 完善流量管理策略,包括 Retry、DirectResponse、 HTTP Header add/delete、 流控、故障注入等 Ø 支持必要的admin接口性能 0.1.0 0 支持Mixer filter Ø 平滑升级迁移支持metrics Ø Access log Ø Listener log、Default log Ø IO、协议、前后端核心 metrics技术案例 – 协议自动识别 TLS链接 核心实现思路: Ø TLS通过ALPN来识别。 Ø TLS不带ALPN或者明文,通过预读首部字段识别。 ALPN扩展 预读字段 是 否 获取ALPN协商 所得协议 有 conn.read …… 调度切换/就绪通知技术案例 – 长连接网关RawEpoll模式 RawEpoll模式:使用epoll感知到可读事件之后,再从协程池中为其分配协程进行处理。 大幅减少goroutine实例数量,从而降低内存、调度开销 Netpoll implmented in Golang runtime conn.read conn …… 调度切换/就绪通知 3.请求处理过程中,协程调度0 码力 | 29 页 | 7.03 MB | 6 月前3
金融级云原生 PaaS 探索与实践业务背景 业务架构 单元化 • 高可用 • 一致性 • 可扩展 • 高性能6/20 业务背景 业务诉求 • 运维成本 突发流量应用 | 机房 生命周期 • 运维效率 大规模下基础设施稳定性 • 业务 Mesh 化 精细化流量控制 基础组件升级 • 业务可复制 业务敏捷 SaaS 面向站点级别输出7/20 PaaS 能力 • 面向多租户多环境; 接入层流程调拨 应用层流量调拨 跨集群状态 分发/汇聚 数据层流量调拨 压测/灰度 流量管理 单元化 元数据管理 弹性流量管理 跨集群发布策略 多集群管理 跨集群网络 跨集群镜像管理 蓝绿发布 灰度分组发布 中间件变配 (DRM/Scheduler/Message) Mesh流调拨和治理 弹性建站/下站 容器腾挪/迁移 容灾切换和恢复 应急预案管理 … 分钟级容灾切换和恢复 全面变更风险管理 发布运维体系 发布运维 • 基础运维能力下沉; 原地升级,分组驱动; 流量控制; • 多应用有序发布; • 应用 ReleasePipeline 管理; 应用依赖项顺序; 发布顺序; Beta 发布 分组发布; • 变更管控能力;发布流程 无损发布流程控制; 内部流量: RPC 外部流量: SLB(ALB) DNS 发布运维体系 InPlaceSet Controller0 码力 | 20 页 | 1.71 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践温饱问题 • 计算资源的快速分配 • 基本的监控 • 快速部署 • 易于分配的存储 • 易于访问的外围(负载均衡) • 服务注册和发现 致富问题 • 认证和授权 • 智能路由 • 流量管理 • 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • 可扩展性考虑 • …Kubernetes对于微服务的支撑 功能列表 详情 快速资源分配 容器编排和调度 Prometheus 统一配置管理 Configmap、Secret 负载均衡 简单负载均衡,基于Iptables Roundrobin 流量控制 简单根据服务实例进行控制云平台微服务演进之基于API网关的微服务方案 API网关功能增强 • 安全认证 • 流量控制 • 审计日志 • 黑白名单 • …K8S集群 云平台微服务演进之基于Spring Cloud的微服务方案 NS A Service Zuul Nginx Eureka Server Service 1 Service 2 Ribbon 注册 业务服务 配置中心 启动获取 Monitor Turbine K8S流量 SC流量 同集群调用微服务 Spring Cloud管理平台基于Kubernetes的Spring Cloud实现 Devops: Experience Auto Scaling & Self0 码力 | 28 页 | 3.09 MB | 6 月前3
严选 ServiceMesh 实践注册发现:基于 Consul √ 调用控制 协议支持:HTTP 1.X/2.X,可扩展至 TCP √ 路由控制:提供简单的路由能力 √ 负载均衡:支持 RR、权重、一致性 Hash 等 √ 流量复制:不提供 × 故障转移:继承 Nginx 的 Failover 机制 √ 安全 访问控制:主要依靠中间件 × 中间件 治理控制 熔断降级:主要依靠中间件 中间件 限流:速率限制 √ 中间件 大大降低了中间件的研发投入和演进成本,也降低了业务和中间件的耦合成本 • 基础架构与业务架构可以独立演进 • 为多语言栈提供了服务治理能力7/24 持续演进的诉求 • 提供高质量的服务治理能力 • 增强流量管理能力 • 将更多治理特性(如限流、熔断、故障注入)与业务架构解耦 • 支持更多的协议 • 增强控制面 • 配合业务容器化上云及混合云架构8/24 行业技术演进 - 通用型 Service Lyft 联合开发,Go 语 言,与 K8s 一脉相承且深度融合 • K8s 提供了部署、升级和有限的运行流量管 理能力 • Istio 补齐了 K8s 在微服务治理上的短板 (限流、熔断、降级、分流等) • Istio 以 Sidecar 的形式运行在 Pod 中, 自动注入,自动接管流量,部署过程对业务 透明 • 提供了完整的 Service Mesh 解决方案 • 数据面:Envoy0 码力 | 25 页 | 2.07 MB | 6 月前3
蚂蚁金服网络代理演进之路蚂蚁金服网络代理演进之路 肖涵(涵畅) 蚂蚁金服高级技术专家 2019.10.26 Service Mesh Meetup #7 成都站网络代理是什么? 南北流量 东西流量 Server App 负载均衡器 NAT网关 防火墙 负载均衡器 NAT网关 防火墙 负载均衡器 负载均衡器 路由器 路由器 Internet网络代理有什么? Maglev Ipvs Katran 自研,网络设备白盒化 • 全面实践全网https 2012 • 首次全流量支撑双十一大促 2013 • 支持蚂蚁LDC架构,三地五中心容灾架构 • 全面上线SSL加速卡,提供软硬件一体加速方案 2015 • All in 无线,通信通道全面升级(MMTP,MTLS协议) 2016 • 安全防护能力提升,WAF,流量镜像 2018至 今 • 通信协议,架构,安全再次升级(物联终端接入,QUIC协议,国密,可信计算, DB2 Region 2 DB3 Region 1 Region 1 DB1 DB2 Region 2 Elastic Region DB3 Elastic DB金融级三地五中心架构的流量调度 spanner LDC01 LDC02 app1 app2 app1 app2 spanner LDC03 LDC04 app1 app2 app1 app2 IDC10 码力 | 46 页 | 19.93 MB | 6 月前3
Service Mesh Meetup #3 深圳站分支代码部署到测试环境,然后再通知 QA 测试;(脚本或者人工)有什么问题? • 效率低 • 没有代码检查; • 没有自动化测试(包括单元测试); • 沟通成本高 • 开发需要通知负责人、测试、产品等;(而且是每次构建/部署 都需要) • 依赖多较好的开发流程(流程化、自动化) • 1. 开启一个新的 feature; • 2. Devloper 从 develop 分支新建一个 feature/new_branch Reviewer 对 MR 进行 code review ,批准合并之后,feature/new_branch 会合并到 develop; • 8. Merge 触发 Jenkins/Drone 自动构建; • 9. 构建成功就执行你定义的工作流:打包镜像,触发 deploy 以及其他后续的 Automation Testing 等流程; • 10 . Drone 通知工作流程情况给开发/或者交付 7 年 DevOps 现 状调查报告DevOpsDevOps DevOps 不是一种新工具; DevOps 不是一种新团队; DevOps 不是一种新角色; DevOps 是一种文化:一切自动化,工具化,规范化;选择哪个 CI/CD 工具?Docker stats 查看 Docker 服务所占用的CPU和内存开销DroneDrone • 一款使用 Go 开发,基于容器技术的 CI/CD0 码力 | 45 页 | 18.62 MB | 6 月前3
阿里巴巴核心应用洛地 Service Mesh 的挑战与机过RPC-SDK,应用不想升级 1. Istio 通过 iptables NAT 表所使 用到的 nf_contrack 内核模块效率 低下 2. 与 AliOS 团队探索出了基于 userid 和 mark 标识流量的透明拦 截方案,基于 iptables 的 mangle 表实现了一个全新的透明拦截组件#2 短时间内支持电商业务复杂的服务治理功能 •单元化?多环境?基于参数调用的路由? 1. RPC 使用的是 DestinationRule#3 短时间内支持电商业务复杂的服务治理功能 •未来计划在 Envoy 中增加 WebAssembly 路由插件#4 解耦业务与基础设施 •实现 Sidecar 热升级,流量无损切换 1. 迁移至新的 Listener Fd 2. 告之新的请求重启链路,继续处理 老的回调 3. 请求重新连接使用新的 Envoy 4. 直到老的不再收到回调数据,下线让我们一起兑现0 码力 | 22 页 | 6.61 MB | 6 月前3
Service Mesh 高可用在企业级生产中的实践侵入性强 • 升级成本高、版本碎片化严重 • 内容多、门槛高 • 治理功能仍然不全5/总页数 优点 • 微服务治理与业务逻辑解耦 • 异构系统的统一治理 • 三大技术优势: • 可观察性 • 流量控制 • 安全 Service Mesh 的优缺点 缺点 • 增加了复杂度 • 整体链路的复杂度 • 操作运维的复杂度 • 需要更专业的运维技能 • 带来延迟 • 平台的适配 Istio-Handbook:Service 通过治理策略保证服务高可用 /0317/总页数 治理策略 & 高可用 描述 N个9 可用性级别 年度停机时间 基本可用 2个9 99% 87.6小时 较高可用 3个9 99.9% 8.8小时 具备故障自动恢复 能力可用 4个9 99.99% 53分钟 极高可用 5个9 99.999% 5分钟18/总页数 治理策略 & 高可用 不可用因素 程序和配置出 bug 线程假死、配 置格式出错 源与访问量 出现矛盾的时候,我们为了保证有限的资源能够正常服务,因此对系统按照预设 的规则进行流量限制或功能限制的一种方法。 • 限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行 限速来保护系统,一旦达到限制速率则可以拒绝服务或进行流量整形。 • 限流无非就是针对超过预期的流量,通过预先设定的限流规则选择性的对某些请 求进行限流“熔断”。22/总页数 治理策略 & 高可用0 码力 | 38 页 | 1.38 MB | 6 月前3
共 29 条
- 1
- 2
- 3













