使用Chaos Mesh来保障云原生系统的健壮性-周强
云原生社区Meetup 第三期·杭州站 使用 Chaos Mesh 来保障云原生系统的健壮性 演讲人:周强 GitHub 地址:https://github.com/zhouqiang-cl PingCAP 工程效率负责人,ChaosMesh 负责人 云原生社区Meetup 第三期·杭州站 The incident in the production environment0 码力 | 28 页 | 986.42 KB | 5 月前3中国开源软件产业研究报告
来源:艾瑞咨询研究院自主研究及绘制。 ZStack 具备“4S”特性,产品化交付满足不同用户需求 ZStack Cloud是下一代开源的云计算基础设施即服务 (IaaS) 软件,是ZStack的核心产品之一,简单Simple、健壮Strong、 弹性Scalable、智能Smart 的“4S”特性是ZStack Cloud的核心性能优势,能够以产品化的方式向用户提供成熟的服务, 实现搭建过程简单化、快捷化。作为一款由国内公司完全自主研发并开源的云平台产品, 已有超过2000家企业客户选择了ZStack Cloud作为云基座。 ZStack核心产品——ZStack Cloud产品架构与核心性能优势 简单 Simple 下载简单,部署简单, 运维简单,管理简单 健壮 Strong 稳定高效,轻松处理高 并发,故障自恢复 弹性 Scalable 同时管理多个平台,客 户按需使用资源 智能 Smart 同时管理多个平台,客 户按需使用资源 管理 实现异构平 是否具备多样性和可持续性,而不是它的代码是否具备高质量的生产力。项目向 理事会进行月度汇报的时候,理事会不会去评估这些项目的技术进展,而是会考 量它们是否具备可持续性、对社区中的新人是否友好、是否拥有一个足够健壮的 社区来为其未来的发展持续做出决策。 56 ©2022.2 iResearch Inc0 码力 | 68 页 | 3.63 MB | 1 年前3理解Python中的AST 何翔宇
上添加⼀一个参数来表示不不校验 user,最⽅方便便的就是在调⽤用处 统⼀一加上⼀一个参数 ignore_user=True,这样就不不 ⽤用⼀一个⼀一个去添加。 在⼯工程健壮性和时间相⽐比,健壮性往往不不堪⼀一击。但是换⼀一种⻆角度思考, 你在⼀一个具有⼏几⼗十个的微服务的项⽬目中,如果不不这么改,那么⼯工作量量是巨⼤大的, 所以有时候也是⽆无可奈奈何 (。•́︿•̀。)0 码力 | 39 页 | 6.95 MB | 1 年前3ExtJS和AngularJS比较
Cordova/Phonegap 集成来 实现 AngularJS使用 Trigger.io, Cordova/Phone gap integration, Ionic framework 来开发丰 富和健壮的移动应用 19. 移动站点 Sencha touch就是用来开发移动站点的 AngularJS 响应模块(angular-responsive, a ngular-deckgrid 等),UI summon-up the headless html br owser. 移动解决方案: 移动解决方案: ExtJS: Sencha Touch - 企业级高性能的移动HTML5框架,用于开发强大的 、健壮的移动APP或者移动站点。 Sencha touch 集成Cordova/Phonegap,实现了跨平台的混合应用 。 AngularJS: AngularJS 能够用于开发响应式的web应用/站点。0 码力 | 6 页 | 244.12 KB | 1 年前3Nacos架构&原理
的时候我们取其精华进行开源,为了提升代码的健壮性和扩展性,进行了充分的分层和模块化设计。 设计原则 极简原则,简单才好用,简单才稳定,简单才易协作。 架构⼀致性,⼀套架构要能适应开源、内部、商业化(公有云及专有云)3 个场景。 扩展性,以开源为内核,商业化做基础,充分扩展,方便用户扩展。 模块化,将通用部分抽象下沉,提升代码复用和健壮性。 长期主义,不是要⼀个能支撑未来 过精心的设计开放给用 户在运行时去扩展,那么为什么不做呢?毕竟增加扩展的支持并不会让原有的功能有任何损失。 所有产品都应该尽量支持用户运行时扩展,这需要 Server 端 SPI 机制设计的足够健壮和容错。 Nacos 在这方面已经开放了对第三方 CMDB 的扩展支持,后续很快会开放健康检查及负载均衡等 核心功能的用户扩展。目的就是为了能够以⼀种解耦的方式支持用户各种各样的需求。 尾声 框架,实现了业务的敏捷开发。 这些开箱即用的框架普遍对业务开发者非常友好,在⼀定程度上屏蔽了大量的底层通信细节和服务 治理细节,使得开发人员可以专注于业务开发,同时仅使用较少的框架代码就能开发出健壮的分布 式系统。 下图展示了微服务场景中服务之间的调用,业务开发者只需在服务 A 的业务代码中发起对服务 B 的 调用,不必关心请求调用的底层是如何实现,比如如何发现服务 B 的地址,如何对服务0 码力 | 326 页 | 12.83 MB | 9 月前3FISCO BCOS 2.2.0 中文文档
组架构可以快速支持组链需求,极大降低运维难度,真正能够实现企业间建链就像建“聊天群”一 样简便。 • 支持分 分 分布 布 布式 式 式存 存 存储 储 储,使存储突破单机限制,支持横向扩展。计算和存储分离,提高了系统健壮性, 即使节点执行服务器故障,数据也不会受影响。分布式存储定义了标准的数据访问CRUD接口,可 以适配多种存储系统,同时支持SQL和NoSQL两种数据管理方式,可以更简便地支持多种业务场 景。 • 0版本持续在网络传输模型、计算存储流程等方面进行优化,对性能提升提 供巨大帮助。在架构方面,在存储、网络、计算三个角度,围绕高可用性和高易用性进行持续升 级。基于模块化、分层、可插拔等设计原则,持续对核心模块进行重塑升级,保证系统健壮性。 更多2.0版本的特性将在后续章节深入展开介绍,请看2.0新版介绍。 1.3 FISCO BCOS 1.0 回顾FISCO BCOS的演进历程,我们一直致力于达到性能、安全、可用性与合规的平衡。 sync_block_by_tree默 认 为true;supported_version小于v2.2.0时,[sync].sync_block_by_tree默认为false 此外,为了保障树状拓扑区块同步的健壮性,FISCO BCOS v2.2.0还引入了gossip协议定期同步区块状 态,gossip协议相关配置项均位于group.group_id.ini的[sync]中,具体如下: 注 注 注解 解0 码力 | 418 页 | 6.51 MB | 1 年前3FISCO BCOS 2.3.0 中文文档
组架构可以快速支持组链需求,极大降低运维难度,真正能够实现企业间建链就像建“聊天群”一 样简便。 • 支持分 分 分布 布 布式 式 式存 存 存储 储 储,使存储突破单机限制,支持横向扩展。计算和存储分离,提高了系统健壮性, 即使节点执行服务器故障,数据也不会受影响。分布式存储定义了标准的数据访问CRUD接口,可 以适配多种存储系统,同时支持SQL和NoSQL两种数据管理方式,可以更简便地支持多种业务场 景。 • 0版本持续在网络传输模型、计算存储流程等方面进行优化,对性能提升提 供巨大帮助。在架构方面,在存储、网络、计算三个角度,围绕高可用性和高易用性进行持续升 级。基于模块化、分层、可插拔等设计原则,持续对核心模块进行重塑升级,保证系统健壮性。 更多2.0版本的特性将在后续章节深入展开介绍,请看2.0新版介绍。 1.3 FISCO BCOS 1.0 回顾FISCO BCOS的演进历程,我们一直致力于达到性能、安全、可用性与合规的平衡。 sync_block_by_tree默 认 为true;supported_version小于v2.2.0时,[sync].sync_block_by_tree默认为false 此外,为了保障树状拓扑区块同步的健壮性,FISCO BCOS v2.2.0还引入了gossip协议定期同步区块状 态,gossip协议相关配置项均位于group.group_id.ini的[sync]中,具体如下: • gossip0 码力 | 442 页 | 7.23 MB | 1 年前32019-2021 美团技术年货 前端篇
这样的操作会一直持续到整个文件中所有 #import 指向的内容被替换掉,这也意味 着 .m 文件最终将变得极其的冗长。 虽然这种机制看起来是可行的,但它有两个比较明显的问题:健壮性和拓展性。 健壮性 首先这种编译模型会导致代码的健壮性变差! 这里我们继续采用之前的例子,在 AppDelegate 中定义 readonly 为 0x01,而且 这个定义的声明在 #import 语句之前,那么此时又会发生什么事情呢? 果,对于这种错误的排查,还是挺闹心的。不过,这还不是最闹心的,因为还有动态 宏的存在,心塞 ing。 所以这种靠遵守约定来规避问题的解决方案,并不能从根本上解决问题,这也从侧面 反应了编译模型的健壮性是相对较差的。 拓展性 说完了健壮性的问题,我们来看看拓展性的问题。 Apple 公司对它们的 Mail App 做过一个分析,下图是 Mail 这个项目里所有 .m 文件 的排序,横轴是文件编号排序,纵轴是文件大小。 中间产物,如果没找到,则把引用到的头文件进行编译,并将产物添加到相应的空间 中以备重复使用。 在这种编译模型下,被引用到的 Module 只会被编译一次,且在运行过程中不会相互 影响,这从根本上解决了健壮性和拓展性的问题。 Module 的使用并不麻烦,同样是引用 iAd 这个组件,你只需要这样写即可。 @import iAd; 在使用层面上,这将等价于以前的 #import0 码力 | 738 页 | 50.29 MB | 1 年前3Rust并行编译的挑战与突破
一些常见线程安全数据结构 常用Rust并行并发库 Rust并行并发 增加程序复杂度 线程安全数据结构造成效率损失 Mutex与RwLock rustc profileing 数据 · 代码复杂度及健壮性 · benchmark资源限制 · profileing成本 ... 收益 > 代价? Rust并行编译的挑战与突破 挑战:消减共享数据结构效率损失 共享数据结构的性能损耗问题0 码力 | 25 页 | 4.60 MB | 1 年前3Real world Rust - Why and how we use Rust in TiKV
kcov ● perf + flamegraph Rust 2017 Roadmap ● 优化学习曲线 ● 完善工具链和 IDE ● 补全异步和并发编程工具包 ● 有足够的工具和范式开发高性能、健壮的、可扩展的后端服务程序 ● 大多数常用包都达到 1.0 的稳定性 ● ... 总结 ● Rust 是门好语言,可以简单类比成更现代的 C++ ○ 更少的代码写出更安全的程序 ○ 代价是早期更高的学0 码力 | 29 页 | 506.53 KB | 1 年前3
共 112 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12