范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

分布式架构下混沌工程提升云原生应用的稳定性和可观测性

  在谈云原生整体解决方案的时候经常会听到混沌工程这个词,实际自己是在去年就不断听到这个词,但是一直没有仔细去了解清楚究竟是什么意思,最近由于阿里开源自己在云原生下的混沌工程工具和框架,因此有必要将混沌工程的一些思考做下简单记录。
  在我谈学习的金字塔模型的时候经常谈到,对于任何新知识或技术的学习首先要形成自己能够理解的概念模型,做到在概念上和原理上明白,其次才是去自我实践,真正从内部实现机制上明白。
  今天这篇文章重点还是将混沌工程究竟是什么解释清楚。混沌工程是什么
  2010年,Netflix Eng Tools团队开发出了Chaos Monkey。当时Netflix从物理基础设施迁移到AWS上,为了保证AWS实例的故障不会给Netflix的用户体验造成影响,他们开发了这个工具,用来测试系统。
  在17年Netflix出版了一本书籍《Chaos Engineering》,正是提出混沌工程的概念,该书在19年引入了国内,中文名即《混沌工程-系统稳定性探索之路》。因此混沌工程的概念在19年左右被大家越来越重视,特别是随着云原生,分布式微服务架构的发展,也促进了混沌工程本身的快速发展。
  我们先看下网上对混沌工程的一个基础定义和说明。
  混沌工程是对分布式系统进行实验的学科,以便建立对系统抵御生产中动荡条件的能力的信心。Chaos Engineering is the discipline of experimenting on a distributed system in order to build confidence in the system’scapability to withstand turbulent conditions in production.
  通俗地说,混沌工程就是要在你的系统上进行混沌实验,根据实验结果分析来发现你的系统有哪些缺陷,然后对系统加以改进,如果有不可解决的问题,那么可以提前知道一旦发生怎么处理是损失最小的。
  通过不断地迭代实验来提高系统的弹性,不仅可以很好地给客户提供服务,还能够让各位工程师高枕无忧,减少半夜被叫起来处理故障的次数,最终帮助建立起稳定可靠的系统。
  混沌工程是由混沌工程师来执行的,他们通过一系列的混沌实验,来学习观察系统的表现,并能通过此种表现去指导工程师来提高系统的健壮性。这有点像科学家通过做实验去学习定律,混沌工程师就是通过实验来发现系统的知识的。
  它跟传统的测试有很大的区别,传统测试会提前定义好输入和输出,如果不满足这个结论,测试就出错了,具有非常明确的目的;混沌实验不是如此,实验会产生什么样的信息是不确定的。比如整个网络延迟、CPU 过载、内存过载、IO 出错等等实验,会产生什么样的结果呢?有些我们可以预料,有些则不然,只有发生了,我们才会看到。
  通过以上对混沌工程的说明,可能理解起来还是比较困难。
  简单总结下混沌工程的核心,就是通过一个工具或系统,能够动态不确定的模拟生产环境的各种不确定性故障,类似网络延迟或中断,节点故障,CPU或内存超负荷等。以观察整个IT资源平台和应用系统在故障下的容错性,稳定性。测试环境能否完全模拟生产?
  对于做过大型系统或软件项目建设得都清楚。
  一个大型的软件系统上线前,不仅仅是要做软件系统的功能性测试,更加重要的是需要进行安全,性能,高可靠性,耐受性等各方面的测试工作。
  对于性能测试大家都比较清楚,我们会根据实际的业务场景并发需求来设计或模拟相应的用户数或并发量,数据量等对IT系统性能进行测试,并根据TPS值,CPU和内存负荷,平均响应时间来预估业务系统能否满足大并发业务场景需求。
  而对于高可靠性测试,我们会做一些和高可用性相关的容灾演练,比如模拟节点中断,网络中断等场景,来验证整个IT基础部署架构本身的高可靠性。
  在这里我们来谈两个问题。
  性能测试难以完全模拟真实场景
  首先测试环境能否完全模拟生产的业务量,并发访问场景。做这个项目的人往往都清楚,这个实际上相当难的事情。其一是测试环境往往资源配置比生产环境要少,也就是说测试环境的IT基础设施配置难以和生产环境完全相同;其二是虽然类似LoadRunner等各种性能测试工具也可以录制各种复合并发场景,但是这个复合场景也很难和真实生产环境业务和并发完整一致。其三是对于一个大型应用,本身数据库各个数据表的数据容量,索引情况等也极大地影响到应用的访问性能。而一般性能测试时候也难以模拟出真实的数据库容量。
  因此简单来说就是即使你做了性能测试,也很难确保你生产环境上线后就不出问题。
  高可靠性演练本身和并发性能分离
  其次就是高可靠性的演练和测试,注意这个测试往往和性能测试是分开的,也就是或我们在进行高可靠性测试的时候往往并不会说同时进行大并发的性能测试,仅仅是进行IT系统的高可靠性和冗余能力验证。
  但是实际系统的高可用性往往和业务大并发量,大数据量访问密切相关。如果我们将两类测试进行了分离,本身又很难模拟真正的业务场景。
  那么我们实际真正需要或观测的重点却是,在持续业务并发访问下,当整个IT应用出现某个资源节点或中间件故障的时候,整个应用本身的稳定性和容错能力。混沌工程希望解决的问题
  简单来说混沌工程本身就是模拟节点故障,观测系统的稳定性,可靠性和可恢复性。
  基于前面谈到的内容,我想强调下混沌工程的一些关键点。
  其一就是混沌工程不是仅仅在测试环境做,而是在生产环境直接模拟。也就是说测试环境难以完全模拟生产环境,那么就需要在生产环境进行节点故障模拟,也确认整个IT架构在生产环境的稳定性。
  其二就是真正融合了业务并发性能测试和可靠性测试两方面内容。而在传统测试中这两者往往是分离的,很难在测试环境中完全模拟。
  其三就是故障模拟本身的不确定性,第一就是故障本身产生的不确定性和随机性,第二就是各种故障本身场景组合的不确定性。
  我们可以回顾下传统大型业务系统在建设完成上线后的一些情况。
  即当一个业务系统上线后,往往会持续系统内存溢出宕机,磁盘存储故障,中间件内存溢出,系统功能响应缓慢等各种情况。
  而对于系统开发者来说往往处于一种被动的状态,即都是在整个系统出现了可靠性问题,或者严重的性能问题后,开发或运维人员才发现被动的进行处理,最后才发现在整个IT架构设计上有问题,或者程序代码需要优化等。
  这些问题在测试阶段由于无法真实模拟生产并没有被观测到。那么我们为何不能在业务系统上线后,自己来模拟制造类似的故障提前发现这些问题,以便对系统及早地进行优化和改进呢?
  实际上可以看到混沌工程的核心正是要来解决这个问题。
  在传统的单体应用和非云化阶段,实际上整个IT基础设施部署架构,应用的逻辑架构,应用之间的接口交互等都相对简单,也更加容易进行测试和模拟验证。但是到了云原生和微服务阶段,分布式架构成为了主流。
  一个微服务要运行起来,除了自身的中间件容器能力支撑外,还需要调用云平台的消息,缓存等各种技术服务能力,同时还需要和其它微服务模块协同。整个分布式架构下的集成和交互复杂度远远超过传统的单体应用。
  如果要靠人工去进行各种故障模拟和演练,工作量巨大。而且还难以做到各种场景的完全覆盖。各种组合场景的验证等。
  因此到了云原生和分布式架构阶段,混沌工程就更加重要。系统稳定性和可观测性
  前面对混沌工程一些核心要素做了说明,那么对于在生产环境下执行各种故障模拟和演练,对系统高可用性和稳定性的验证究竟应该包括哪些内容。
  注意生产环境的混沌工程一定不会再去模拟各种业务用户并发访问需求,而是直接使用真实的生产环境用户并发访问请求。
  那么我们如何来验证不同并发场景下的系统稳定性呢?
  类似一个电商平台,你完全可以在平日,周末或退出秒杀活动的各种场景来进行混沌工程模拟,自然就代表了不同的真实业务场景。
  节点故障的模拟我们究竟需要观测哪些内容?
  其一是需要观察节点出现故障后系统的稳定性,比如当我们对集群中的某个节点进行故障处理的时候,基于高可用性架构,这个时候不应该对用户业务访问有任何影响,即这种节点故障用户完全不应该有感知。这是基础的内部冗余要求。
  其二是观察多节点出现故障后整个系统的容错能力,这个容错能力简单来说就是如何最大限度地对外提供服务。一个集群10个节点,如果8个节点都出现故障,那么这个时候整个系统的应用究竟应该如何?
  因此真正只有2节点提供能力,那么2个节点承担的并发量急剧增加,如果没有进一步的跟进措施只能够使整个应用系统完全宕机。因此在这个时候需要需要的是基于SLA策略保证高优先级的SLA服务能力。
  应用对外提供的服务实际可以划分为 功能+用户 两个维度。
  当需要进行服务降级的时候你就需要考虑如何降级,是影响全部用户还是部分用户,是影响全部功能还是部分查询功能,这些都必须有明确的SLA设计规则。
  其三是观测节点故障的可恢复性,即在模拟节点故障一段时间后,对节点重新进行恢复,这时候需要观察节点恢复后是否能够正常的挂接如集群中,如果是类似数据库等节点,还需要观察节点恢复后数据或状态能否正常的进行同步,最终达到集群中所有节点的数据和状态的一致性。
  所以整个混沌工程的故障模拟实际本身又是一个系统工程。
  这个模拟过程既是随机和不确定性的,同时又需要考虑多节点故障的组合,节点本身如何恢复。在大型的项目中,还需要故障爆炸半径,不能说是故障出现影响到所有资源,所有用户,那么这种故障模拟代价巨大。混沌工程开源项目
  2018年,混沌工程(Chaos Engineering)成为CNCF的一个新的技术领域。
  对于混沌工程部分CNCF基金会将其纳入到可观测性部分。在2020年8月完成了可观测性技术调查,最终用户社区的成员被问及他们评估、试验并随后采纳了哪些可观察性解决方案。对283个数据点进行排序和复查,确定最终位置。
  PingCAP 团队-Chaos Mesh
  云原生计算基金会 (CNCF) 宣布云原生的混沌工程 Chaos Mesh 正式进入 CNCF 沙箱托管项目,这是 CNCF 接纳的第二个由 PingCAP 团队设计并研发的项目。
  Chaos Mesh 是一个云原生的混沌工程(Chaos Engineering)平台,可在 Kubernetes 环境中进行混沌测试,在各种复杂的环境下可使用混沌工程来保证系统能正常稳定运行。现阶段,组成部分包括:Chaos Operator:混沌编排的核心组件 —— 完全开源;
  Chaos Dashboard:用于管理、设计、监控混沌实验的 Web UI —— 开发中。
  可以看到到这个项目更多的是基于DB层面的。
  阿里开源-ChaosBlade(该部分来自阿里开源资料摘录)
  ChaosBlade 是阿里巴巴开源的一款遵循混沌实验模型的混沌实验执行工具,具有场景丰富度高、简单易用等特点,而且可以很方便地扩展实验场景,开源后不久就被加入到 CNCF Landspace 中,成为主流的一款混沌工具。
  该实验工具支持 3 大系统平台,4 种编程语言应用,共涉及 200 多个实验场景,3000 多个实验参数,可以精细化地控制实验范围。混沌工程平台 chaosblade-box 支持实验工具托管,除已托管 chaosblade 外,还支持 Litmuschaos 实验工具。
  目前支持的实验场景如下:基础资源场景:CPU 负载、内存占用、磁盘 IO 负载、磁盘占用、网络延迟、网络丢包、网络屏蔽、域名不可访问、shell 脚本篡改、杀进程、进程 Hang、机器重启等; 应用服务场景:支持 Java 应用和 C++ 应用内的实验场景。Java 的场景组件丰富,例如支持 Dubbo、RocketMQ、HttpClient、Servlet、Druid等,而且支持编写 Java 或 Groovy 脚本实现复杂的实验场景; 容器服务场景:支持 Kubernetes 和 Docker 服务,包含 node、pod 和 container 三种资源的实验场景,例如 Pod 网络延迟、丢包等。
  混沌实验模型
  该模型分四次,层层递进,很清晰地表达出对什么组件做实验,实验范围是什么,实验触发的匹配规则有哪些,执行什么实验。该模型简洁、通用,语言领域无关、易于实现。阿里集团内的 C++、NodeJS、Dart 应用以及容器平台的实验场景都基于此模型实现。此模型具有很重要的意义,依据此模型可以更精准地描述、更好地理解、更方便沉淀实验场景以及发掘更多的场景。依据此模型实现的工具更加规范、简洁,我们具体看下 ChaosBlade 基于此模型的架构设计。
  架构设计
  通过控制台页面可实现 chaosblade、litmuschaos 等已托管工具自动化部署,按照社区建立的混沌实验模型统一实验场景,根据主机、Kubernetes、应用来划分目标资源,通过目标管理器来控制,在实验创建页面,可以实现白屏化的目标资源选择。平台通过调用混沌实验执行来执行不同工具的实验场景,配合接入 prometheus 监控,可以观察实验 metric 指标,后续会提供丰富的实验报告。
  ChaosBlade 支持目前主流的故障注入场景,相对其他几个故障注入工具,ChaosBlade 故障注入覆盖的场景最全,支持四大类、几十种常用的故障注入能力,并且提供了统一的 CLI 交互界面,学习成本相对较低,其技术栈与我行分布式体系和云计算体系兼容性也较好。总结
  可以看到云原生下的分布式架构复杂度,引入混沌工程是一个必然趋势,就像我在前面谈云原生和微服务的时候谈到,引入ServiceMesh来进行微服务治理也是必然趋势。
  混沌工程当前是一个蓬勃发展的技术领域,也越来越受到重视。也是当前应对分布式架构复杂度下提出的一套切实可行,严谨的工程实践原则,方法和工具。混沌工程基于反脆弱的思想,模拟故障只是手段,而核心目标仍然是提升系统的稳定性和可观测性,及早地发现各种风险,并进行优化解决。
  任何一个生产的业务系统,都不应该是出现故障后的问题驱动,而应该是主动发现,主动防御的风险驱动机制。这就是混沌工程在云原生架构下的巨大价值和作用。

河南男子在新房密谋求婚,女友却不知情,到场后念叨我没化妆其实这个世界上根本没有直男,有的只是不愿意为你浪漫的人。真正爱你的男孩子,根本不用等到你口中说结婚,他会给你一个惊喜,会悄悄地计划求婚。5月8日,在河南驻马店,一个男孩便!准备向自25次上春晚,和吕继宏似夫妻,53岁民歌皇后张也怎么样了?1988年,中国音协和湖南电视台在湖南联合举办金龙杯比赛。宋祖英,张也拿到了金奖,吕继宏银奖。那时候张也和吕继宏还不认识,台上唱歌也没有在意。直到吕继宏快要离开长沙的时候,突然看到孙俪资助了4年的白眼狼向海清,走到今天的结局怪谁呢?娱乐圈中,邓超孙俪这对夫妇可谓是模范夫妻,从结婚至今几乎没有传出过绯闻,反而经常秀恩爱。但等到真正到了危难之时,他们又变得一本正经,首当其冲地站出来捐款。如今,明星捐款已经成了一种草根组合安与骑兵,从红极一时到销声匿迹,他们经历了什么?2011年,安与骑兵登上你最有才的节目,并演唱了歌曲三年三天。当时,演唱结束后,安与骑兵中的女歌手安静没有忍住泪水,因为到了此时,他们总算是做出了一番成绩。她说我希望以后能开一场十抽烟喝酒烫头,摇滚影帝相声,京城富少于谦瞒了观众多少?01hr玩,是于谦人生最大的乐趣。但是其他人玩是玩物丧志,他却是玩物励志?相声界公认的第一顽主,还有三大爱好,抽烟,喝酒,烫头。在相声里,于谦会对外面来的压力和不合理采取忍受的态度黑龙江两对情侣吃小龙虾,一对给对方剥虾,一对则是各吃各的我们都知道小龙虾虽然好吃,可是要剥壳就让人非常的头疼了。不过大部分热恋中的情侣,男生都是会给女生剥虾的。近日,在黑龙江哈尔滨,一位网友记录下来了非常有意思的一幕,两对小情侣一起吃小音乐魔王谭晶的隐秘往事谭晶,中国著名的歌唱家,唱歌时声音就像百灵鸟一样。无论是艺术造诣,还是音乐成就,都称得上是国宝级的歌唱家。有人说她就像音乐魔王,只有她的声音能够压住唢呐。也有人评价她的歌曲此曲只应黑龙江洗浴中心俩女子和解压发泄机器人较上劲,朋友拉都拉不走不知道大家有没有在洗浴中心的门口看到过解压机器人,那种塑料或者是硅胶做成的人形的玩偶,放在洗浴中心的门口,供客人解压或者是发泄,这个设计还是非常的人性化的,很多的朋友们在生活中遇到24岁进央视,32岁火炬手,娶BTV花旦春妮,新国脸刚强逆袭记近日,央视综艺你好生活第三季在北京举行媒体探班会。尼格买提撒贝宁倪萍等人悉数到场。其中有一个熟悉的面孔引起了我的注意,他便是继王宁之后的新国脸刚强。2019年,他和北京电视台花旦春夫妻吵架撞破阳台栏杆,从8米高阳台摔到地面,路人拍下惊险一幕5月29日,俄罗斯一位路人拍摄到了非常意外的一幕。从视频中可以看出是一对小夫妻,两个人最开始的时候只是在窗户外的阳台上争吵,而后便上升到了肢体冲突,在阳台上撕扯了起来。在争执中,两综艺版爱情公寓,邓紫棋李诞都在追,国综就该这么拍没想到,一档全素人阵容的国产真人秀,居然会让邓紫棋李诞等明星都追得不亦乐乎。这就是正在优酷热播的同一屋檐下。上海,几位都市年轻人,合租在同一屋檐下。男男女女,工作情感未来,都在合租
被网友嘲讽被贵妇圈排挤,章泽天时隔6年的清醒,为时不晚2020年时,身为JD老板娘的章泽天,盛装出席了一位时尚主编张宇的私下聚会。一袭珍珠露肩小礼服,加上姣好的面容白皙的皮肤,让她在一行人中非常亮眼。当天晚上,张宇便在个人社交账号上发李靓蕾发长文控诉王力宏,女方教育背景被曝光,得到网友力挺有的人,披着高学历的外壳,做着龌龊的事,有的人,拥有高学历,却走错了人生路。教育,是国家之大计,人民之大计,所有家庭,为了儿女的教育,可谓是煞费苦心,条件好的家庭,甚至送子女前往国董卿卸妆后颜值一般!气质独特才华馥比仙都说女人妆前一个样子,妆后一个样子,这句话听起来就不是一个夸人的意思,不过用这句话形容董卿,应该真的是发自内心地夸赞了,当董卿卸妆后,露出她真实的一面之后我们才发现,原来董卿的样子挨骂2小时净赚2000元?何云伟直播向老郭认错,却被网友举报封号前天,相声演员何云伟,在抖音上开启了直播,不出所料,评论区直接沦陷,网友在如何教何云伟做人这个问题上,展开了激烈的讨论,何云伟哪见过这种架势,全程斜着眼睛,不敢直视镜头。本想展示一对手开播,除颜丙燕外,靠网剧让人毛骨悚然的宁理同样亮眼近日,对手在央八开播,除了郭京飞跟谭卓这两张王炸外,颜丙燕饰演的段迎九和宁理饰演的大反派同样令人拍案叫绝。这已经不是宁理第一次饰演反面人物了。无证之罪中,他是狠绝毒辣的变态杀手李丰王祖蓝一家6口为女庆生!老婆穿牛仔裤最高,祖孙三共用一个鼻子时尚千变万化,稍微细节上做出改变,就能塑造出不一样的美感,就拿材质来说,丹宁面料可以说是时尚圈上身率最多的元素了,没有之一,不管是上衣也好,下装也罢,都能看到它的身影,除此之外出色陈建斌你们只知他辜负了吴越,却不知他对蒋勤勤的父母有多好妻子的浪漫旅行可是将陈建斌这个大直男人设捧火。当其他夫妻在恩恩爱爱,互撒狗粮时,陈建斌却跟蒋勤勤在三天一小吵,五天一大吵的生活中度过。当别的夫妻在打情骂俏,相互甜言蜜语时,这位大哥大S离婚17天后,她的情敌赢了大S和汪小菲离婚事件基本算告一段落了。但有一个女人,却因为他俩离婚再次成为风暴中心。安以轩。可能有人不知道,汪小菲和大S结婚前,还和安以轩有过一段暧昧不明的时期。当时,汪小菲突然传雪中悍刀行文咏珊眼袋都是戏,五大女星好演技与烂演技对比明显最近,伴随着雪中悍刀行的热播,剧中女性角色也都纷纷依次出场,同时也展现出了自身的魅力,并且各有不同的悲欢故事,个性鲜明,都不是省油的灯。除了女主,李庚希从形象到演技再到人物心理,除唐艺昕凭借小敏家出圈,不仅演技被认可,还带火了一句台词冬天到了,应该看一看温暖人心的好剧,很哥觉得小敏家就特别值得推荐!喜欢电视剧小敏家的氛围,当生活气息扑面而来时,你其实可以从他们的家长里短里看到自己的影子,甚至也想来一碗江西拌粉吧毛阿敏猝然丧夫!富豪丈夫的骤然离去,揭开了一代天后的人生悲喜01hr12月18日晚间,中植企业集团发讣告,解直锟先生离开了我们,但他秉持的天道酬勤以人为本的理念,将激励全体中植人勇往直前!官网瞬间调成黑白色调。随后,中植集团网站再发治丧委员