课程名称:Java架构师-十项全能
课程章节:
技术债务治理、风险治理
主讲老师:
书生
课程内容:
技术债务如何解决:
重构:在对的时间做对的事情
写完代码马上重构,使用最小的成本和最少的时间:重构和新功能要分离
阶段性周期性重构:在功能不变的情况下重构
要有意识的去执行,养成写完代码马上重构的习惯。
债务治理:
一次性本息偿还:投入大量人力,专项重构治理
分期还款:分期迭代修复历史债务
债务止损:新的代码尽量不引入新的债务
破产重组:项目死亡,重新起项目
具备风险感知能力,做好风险防控和风险治理的流程。通过报警将风险暴露出来,然后使用治理流程进行相关的治理。通过架构设计、架构原则、架构模式这些手段完成架构治理,再通过相关的手段进行治理验证。
从架构设计来讲,通过组合、聚合、复用等手段将架构的一些模块进行重组,防止代码重复性或者代码结构不合理导致的一些因代码引发的问题。通过DTY、KISS、YANGI的架构设计原则,最小化功能,让代码更简单,架构更存粹来降低架构风险。
架构状态往往是引入一些风险的关键点,从状态设计来讲,要明确状态在哪里管理, 由谁管理。尽可能的让服务都使用无状态服务,无状态服务具备可扩展性,通过扩展设备来扩充系统的能力,来解决流量等棘手的问题。
从数据性能来讲,比如大key和大表,针对数据热点、热点分散、数据冗余进行解决。
风险治理是安全生产的前奏。在安全生产实施之前先感知相关风险,在出现故障之前去落实风险治理。比如:全链路压测、故障演练、应急预案、安全、容灾、架构宣讲、风险控制、架构治理等手段进行风险治理。通过全链路压测提前预知系统的风险点,先去修复它。故障演练是通过多种手段去发现系统故障,提前修复。通过度量、指标、得分来衡量风险,更好的明确风险的优先级,来促进风险治理。