For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
掌握不同的软件开发设计模式能够让程序员在开发软件的时候满足更多的开发需求,同时能够适应不同的编程开发场景,下面我们就通过案例分析来了解一下,软件开发设计模式学习都有哪些方法。
回滚设计
确保系统可以回滚到以前发布过的任何版本。可以通过发布系统保留历史版本,或者代码中引入动态开关切换机制(FeatureSwitch)。防止出现问题,只好可以留有后路,返回到上一个版本,不会影响系统服务使用。
禁用设计
能够关闭任何发布的功能。新功能隐藏在动态开关机制(FeatureSwitch)后面,可以按需一键打开,如发现问题随时关闭禁用。
监控设计
在设计阶段就必须考虑监控,而不是在实施完毕之后补充。例如在需求阶段就要考虑关键指标监控项,这就是度量驱动开发(MetricsDrivenDevelopment)的理念。
异地多活IDC
不要被一个数据中心的解决方案把自己限制住。当然也要考虑成本和公司规模发展阶段。
技术体系
只用确实好用的技术。商业组织毕竟不是研究机构,技术要落地实用,成熟的技术一般坑都被踩平了,新技术在完全成熟前一般需要踩坑躺坑。
异步设计
能异步尽量用异步,只有当绝对必要或者无法异步时,才使用同步调用。以及尽可能减少阻塞和等待。
无状态化
尽可能无状态,当业务确实需要,才使用状态。无状态系统易于扩展,有状态系统不易扩展且状态复杂时更易出错。
水平扩展(而非垂直升级)
永远不要依赖更大、更快的系统。一般公司成长到一定阶段普遍经历过买更大、更快系统的阶段,即使淘宝当年也买小型机扛流量,后来扛不住才体会这样做不scalable,所以才有后来的去IOE行动。
前瞻性
在扩展性问题发生前考虑好下一步的行动计划。架构师的价值就体现在这里,架构设计对于流量的增长要有提前量。
小构建、小发布和快试错
全部研发要小构建,不断迭代,让系统不断成长。这个和微服务理念一致。
隔离故障
实现故障隔离设计,通过断路保护避免故障传播和交叉影响。通过舱壁泳道等机制隔离失败单元(FailureUnit),一个单元的失败不至影响其它单元的正常工作。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。