14-Chaos Mesh 在网易伏羲私有云自动化故障注入实践-张慧Chaos Mesh 在网易伏羲私有云自动化故障注入实践 Speaker Name:张慧 网易伏羲 Speaker Title:网易伏羲私有云质量保障负责人、Chaos Mesh 布道师、云原生社区 Stability SIG 发起人 Email:zhangui05@corp.netease.com 云 原 生 学 院 目录 网易伏羲私有云简介 为什么混沌测试 什么是混沌测试 为什么混沌测试 理想下,系统用不 宕机,100%可用 比如机房突然断电 事故突然的到来 为什么混沌测试 通用指标 阶段性进阶衡量 标准 指标 量化 什么是混沌测试 什么是混沌测试 混沌工程旨在将故障扼杀在襁褓之中,也就是在故障造成中断之前将它们识别出来。通过主动制 造故障,测试系统在各种压力下的行为,识别并修复故障问题,避免造成严重后果。 混沌工程将预想的事情和实际 混沌工程将预想的事情和实际发生的事情进行对比,通过“有意识搞破坏”来提升系统稳定性。 鲁棒性 故障注入 如何选择混沌测试工具 混沌工具 混沌工具 为什么是 Chaos Mesh 为什么是 Chaos Mesh ● PodChaos: kill / fail / container/... ● NetworkChaos: delay / lose / dup / partition0 码力 | 25 页 | 3.33 MB | 6 月前3
Nacos架构&原理
年做分布式系统改造时开始建设,特殊之处在于它是整 个分布式系统的协调者和全局入口,也意味着它的可用性,可靠性,可观测性等分布式系统指标影 响整个分布式系统的运行。历史上,这个系统在阿里也触发过大故障,经历过数次血与火的考验。 在阿里数次架构升级中,Nacos 都做了大量的功能迭代,用来支持阿里的异地多活,容灾演练,容 器化,Serverless 化。Nacos 经过阿里内部锤炼十年以上,各项指标已经及其先进,稳定,为服务 服务端进行创建并进行管理的,必须保证大部分的节点都保存了此配 置数据才能认为配置被成功保存了,否则就会丢失配置的变更,如果出现这种情况,问题是很严重 的,如果是发布重要配置变更出现了丢失变更动作的情况,那多半就要引起严重的现网故障了,因 此对于配置数据的管理,是必须要求集群中大部分的节点是强⼀致的,而这里的话只能使用强⼀致 性共识算法。 为什么是 Raft 和 Distro 呢 对于强⼀致性共识算法,当前工业生产中,最多使用的就是 健康状态、权重等属性。随着服务规模的扩大,渐渐的又需要在整个服务级别设定⼀些权限规则、 以及对所有实例都生效的⼀些开关,于是在服务级别又会设立⼀些属性。再往后,我们又发现单个 服务的实例又会有划分为多个子集的需求,例如⼀个服务是多机房部署的,那么可能需要对每个机 房的实例做不同的配置,这样又需要在服务和实例之间再设定⼀个数据级别。 65 > Nacos 架构 Zookeeper 没有针对服务发现设计数据模型,它的数据是以⼀种更加抽象的树形0 码力 | 326 页 | 12.83 MB | 9 月前3
阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践分钟级 弹性扩缩容 - 支持 性能 独占 独占 (优于普通ECS) 硬件故障率 硬盘1年故障率 2% 0.8%% (无本地盘) 硬件维修周期 [周, 月] [分钟,天]成本 效率 稳定云化架构 物理机 + 本地存储 + Underlay网 络 神龙/ECS + 远程存储 + Overlay网络 集团机房 云上机房 基础设施 IDC 系统 基础运维 天基系统 CMDB 安全审计 单机监控 监控大盘 • 在线率 • 宕机率 • 抖动率 • 基线系统 • 基础环境一致性故障自愈 (1-5-10) • 监控、故障发现 (1-5) • 本地检测 (walle, NPD) + 外部系统 (IDC、aliyun) • SLI、SLO、SLA • 钉钉、邮件、电话报警、ChatOps 自助诊断 • 节点故障自愈 (10) • 决策中心执行修复操作 • 集中统一风控 • 日常1人运维数十万节点 • 宕机关联度分析 • 宕机趋势 • 机房、单元、分组 • 机型、硬件特征 • 内核版本、hotfix 一致率 • 宕机根因分析诊断 • 硬件故障、运维事件 • vmcore 归类分析 • 内核错误日志分析Machine Operator • 全生命周期 • 导入 • 下线 • 维护 • 组件终态 • 安装 • 升级 • 回滚 • 故障自愈 • 运维事件 • 业务置换Machine0 码力 | 21 页 | 7.81 MB | 6 月前3
Service Mesh的实践分享侵入性小。SDK只有简单的寻址和序列化/ 反序列化的功能 无侵入性。应用自行调用 运维难度 难度大。客户端的问题会对 应用直接产生影响,耦合太 重 难度小。Sidecar故障可以将流量临时切到 remote proxy解决 难度小。集群通过LVS接入,单 台机故障可以下线 升级难度 难度极大。需要客户端修改 代码、发布、上线。 难度小。切换流量到remote proxy可以实 现用户无感知的无损升级。 难度小。通过LVS摘流量滚动升 紧张的情况下; 而且还容器导致资源浪费(sidecar的使用率问题) 影响小。宿主机预留部分资源启动daemonset 即可 运维难度 难度大。Sidecar故障会影响同一个pod的业务容器,同 生共死 难度小。Sidecar故障可以将流量临时切到 remote proxy解决 升级难度 难度大。升级Sidecar需要业务容器一起发布,协调成本 高,而且全量升级sidecar对整个系统的动荡太大 规则路由、标签路由、邻近机房 路由、Hash路由、基于权重的路 由、熔断、健康探测、超时重试、 限流降级等等 • 契约化治理,服务接口变更diff并 通知上游 • 环境无关,物理机、云、测试机 器、本机都能跑实践中踩过的坑 我是作者名称ZooKeeper的强耦合 • 初始设计没有抽象服务注册发现和服务配 置的接口,直接操作ZK并且依赖了ZK的特 性和原语 • ZK弊端显现 • 跨机房多活问题 •0 码力 | 30 页 | 4.80 MB | 6 月前3
分布式NewSQL数据库TiDB12/120 真正⾦融级⾼可⽤ 真正⾦融级⾼可⽤ 相⽐于传统主从 (M-S) 复制⽅案,基于 Raft 的多数派选举协议可以提供⾦融级的 100% 数据强⼀致性保证,且在不丢失⼤多数副本的前提下,可以实现故障的⾃动恢复 (auto- failover),⽆需⼈⼯介⼊。 产品优势 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud 优刻得 13/120 适⽤场景 案是同城两个机房提供服务、异地⼀个机房提供数据容灾能⼒但不提供服务,此解决⽅案存 在以下缺点:资源利⽤率低、维护成本⾼、RTO (Recovery Time Objective) 及 RPO (Recovery Point Objective) ⽆法真实达到企业所期望的值。TiDB 采⽤多副本 + Multi-Raft 协议 的⽅式将数据调度到不同的机房、机架、机器,当部分机器出现故障时系统可⾃动进⾏切换,确保系统的 直接⽣成报表 真正⾦融级⾼可⽤ 真正⾦融级⾼可⽤ 相⽐于传统主从 (M-S) 复制⽅案,基于 Raft 的多数派选举协议可以提供⾦融级的 100% 数据强⼀致性保证,且在不丢失⼤多数副本的前提下,可以实现故障的⾃动恢复 (auto- failover),⽆需⼈⼯介⼊。 适⽤场景 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud 优刻得 15/120 UCloud0 码力 | 120 页 | 7.42 MB | 6 月前3
TiDB中文技术文档数据定义语句 (DDL) 数据操作语句 (DML) 事务语句 数据库管理语句 Prepared SQL 语句语法 实用工具语句 JSON 支持 Connectors 和 API TiDB 事务隔离级别 错误码与故障诊断 与 MySQL 兼容性对比 TiDB 内存控制文档 Bit-value Literals Boolean Literals Date 和 Time 字面值 十六进制的字面值 NULL Values Compose 部署方案 跨机房部署方案 配置集群 参数解释 TiDB 配置项解释 开启 TLS 验证 生成自签名证书 监控集群 整体监控框架概述 重要监控指标详解 组件状态 API & 监控 扩容缩容 集群扩容缩容方案 使用 Ansible 扩容缩容 升级 升级组件版本 TiDB 2.0 升级操作指南 性能调优 备份与迁移 备份与恢复 数据迁移 数据迁移概述 数据迁移 故障诊断 TiDB 周边工具 Syncer Connectors 和 API TiDB 事务隔离级别 错误码与故障诊断 与 MySQL 兼容性对比 TiDB 内存控制 高级功能 历史数据回溯 垃圾回收 (GC) TiDB 运维文档 软硬件环境需求 部署集群 Ansible 部署方案(强烈推荐) 离线 Ansible 部署方案 Docker 部署方案 Docker Compose 部署方案 跨机房部署方案 配置集群 参数解释 README - 8 - 本文档使用0 码力 | 444 页 | 4.89 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案t() 都没有改造,直连 服务器端有改造,单跳 客户端有改造,单跳Service Mesh时代的客户端和寻址方式 服务发现 加密 负载均衡 请求路由 目标服务 的标识 序列化 链路追踪 故障注入 日志 监控 Metrics 熔断 限流 服务降级 前置条件检查 身份认证 密钥管理 访问控制 …… 下沉到 Service Mesh 轻量级客户端 传统 侵入式 客户端 客户端应该尽可能的轻薄通用: 命中率/超时数 1 同机房 10 43899 2001674 (100%)|0 2 同机房 50 44369 2001674 (100%)|0 3 同机房 100 40815 2001674 (100%)|140 4 同机房 200 41094 2001674 (100%)|112 5 同机房 300 40664 2001674 (100%)|628 6 同机房 400 42226 2001674 2001674 (100%)|729 7 同机房 500 42156 2001674 (100%)|1192 Bind queryperf 测试 100个域名(5s timeout)CoreDNS 的性能CoreDNS 的横向扩展 1、按照CPU 的维度 2、按照QPS 的维度(Custom Metrics)CoreDNS 的正式发布 • https://github.com/kuber0 码力 | 40 页 | 11.13 MB | 6 月前3
Service Mesh 高可用在企业级生产中的实践99% 87.6小时 较高可用 3个9 99.9% 8.8小时 具备故障自动恢复 能力可用 4个9 99.99% 53分钟 极高可用 5个9 99.999% 5分钟18/总页数 治理策略 & 高可用 不可用因素 程序和配置出 bug 线程假死、配 置格式出错 机器故障 宕机 机房故障 核心交换机故 障、机房停电 容量 服务容量不足 依赖服务 响应超时19/总页数 治理策略0 码力 | 38 页 | 1.38 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享支持Router模式 Ø GRPC支持 Ø 协议自动识别 Ø 链式路由扩展 Ø 完善流量管理策略,包括 Retry、DirectResponse、 HTTP Header add/delete、 流控、故障注入等 Ø 支持必要的admin接口性能 0.1.0 0.2.0 0.3.0 0.4.0 Ø 内存复用框架 Ø Slab style buffer Ø Raw-Epoll模式 Ø 读合并 match,subset等 开源能力实现 ü 适配蚂蚁三地五中心机房部 署,LDC/弹性架构 ü 蚂蚁内部划分R/G/C三种 zone类型,每个Zone的能 力不保证对等 ü 适用于单次简单路由无法解 决的复杂架构场景(如非对 等路由,不确定当前zone 是否有该服务的提供方) Service A MOSN 深圳机房 上海机房 Service B MOSN Service B MOSN Service B MOSN 2. 尝试在本 Zone内访 问B服务 3. 若当前 Rzone内不 存在B服务, 尝试在本机 房内部查找 3. 若当前机 房内不存在 B服务,路 由到Gzone 机房UC落地 - XProtocol DNS方案规划 & 展望MOSNG 待开源MOSN-X eBPF 加速卡 DPDK MOSN SSL Offload User Protocol Stack0 码力 | 29 页 | 7.03 MB | 6 月前3
sealos 以 kubernetes 为内核的云操作系统写代码像写博客一样简单 • AI 自动编码,毫秒级上线,0 运 维 数据库管理 mysql/pgsql/mongo/ redis 等多种数据库 数据库多主架构高 可用 数据库备份恢复, 故障自愈 数据库管理工具, 监控告警 Userlnterface API/CLI/GUI Cilium Gvisor/Containerd OpenEBS LVM local pv Bare metal 20min 自动化完成 全国多个 02 交付环境: 各大公有云 不同版本liux发行版 裸金属 AMD ARM ······ 数月 数十人 依赖中间数十款软件 SaaS 机房1 机房2 机房n ·· ·· ·· 打包 监控 系统 日至 系统 数据库 消息队列 对象存储 计算 储存 网络 kubernetes SaaS服务 30min 1人 一键打包 整体交付 一次建构0 码力 | 29 页 | 7.64 MB | 9 月前3
共 73 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













