软件架构治理也是一样,既需要解决现在的问题,也要为未来的扩展留有可能性。软件架构治理并不是一项单纯的技术工作,治理工作需要考虑到现在的问题,也需要考虑到未来的业务发展,单纯的从技术角度来思考软件的架构治理无疑是在雪上加霜。即便是倡导技术驱动的公司,本质上也是通过创新技术创造了新的业务,改变了人们的生活方式,从而用技术改变了世界。只有找到真实的业务价值,才能把技术的价值发挥到最大,因此 软件架构治理一定是问题或价值驱动的 。
成都创新互联是一家专注于成都网站设计、成都网站制作与策划设计,克井网站建设哪家好?成都创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:克井等地区。克井做网站价格咨询:13518219792
架构师在实际做架构治理的过程中,一个难点是当系统复杂度高到超出个体认知上限时,就很难看清系统问题全貌,只能从已知问题入手。然而,已知问题往往只是冰山一角,随着系统复杂度上升,很多随机的、不可预测的问题经常发生,这种问题有些是很难重现的,每次表现也不完全一样,在这种场景下,如何能有效发现系统根本的脆弱点,防患于未然,就是一个很大的挑战。
为了解决软件系统复杂后的稳定性问题,近几年,混沌工程作为一种以实验来提升软件系统韧性的学科,开始逐渐在众多大企业中开始实践起来。混沌工程的概念由来已久,为什么最近几年才被大家越来越多地提及,才开始变得流行呢?我觉得原因有以下几个:
那么混沌工程到底是怎样一种实验?是不是我们把各种猴子扔到生产环境中,让它们随机的搞一些破坏,看哪里出问题就修哪里?答案显然是否定的,试想如果随便扔几只搞破坏的猴子在生产环境,不可预知到底会发生什么问题,这无疑是一种自杀式的实验,任谁也不会放心大胆地去进行这样一种实验。
混沌工程实验并不是盲目的,也不是试探性的,它一定是有目的的,可控的一种实验。在混沌工程原则的网站上,定义了应用混沌工程的几个高级原则:
在第1个原则中,首先要定义一种可测量的稳定状态,并依据团队对系统的理解,定义一个假说:在某种故障发生时,系统依然能保持这种稳定状态。这里的关键点在于稳态假说,如果已经确定当故障发生时,系统一定无法保持稳态,那就没有必要进行实验了,而需要针对当前的问题去想对策。
接下来的4个原则描述了如何具体实施混沌工程实验:
回到软件架构治理的话题上,既然混沌工程可以帮助架构师以及开发团队更好地理解系统,发现系统的弱点,那么应该如何应用混沌工程,提高研发团队对架构的掌控力,找到架构设计的问题,并加以治理?
首先 , 要对软件系统进行一次整体的盘点:有哪些组件(比如微服务、数据库、缓存等),运行环境如何(网络,VM/主机,存储等),三方依赖等等。
其次, 针对系统中的这些组件,进行优先级的排序,通常可以按下面的方式定义优先级:
基于以上的优先级,可以再根据业务的影响范围,在每个层级里进行进一步的优先级定义。
最后 ,根据上面定义好的优先级,逐一定义稳定状态假说,并判断是否需要进行混沌工程实验,如果有必要,需要设计完整的实验过程和恢复方案,控制好实施范围,如果前期信心不足,可以先在非生产环境尝试,等信心足够时,再放到生产环境自动执行。
网页名称:软件架构治理与混沌工程
网站链接:http://www.csdahua.cn/qtweb/news1/306151.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网