欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

系统设计Design For Failure思想

程序员文章站 2022-06-05 21:33:01
系统设计Design For Failure思想 Complex systems fail in spectacular ways. Failure isn’t a question of if, but when. Resilient systems recover from failure; r... ......

系统设计design for failure思想

      complex systems fail in spectacular ways. failure isn’t a question of if, but when. resilient systems recover from failure; robust systems resist failure. avoid single points of failure. accept the fact that you have to build a distributed system.

1、假定任何环节都有可能出问题,然后倒推依次设计
2、避免单点故障(single point of failure)
3、目标:应用能够连续工作,服务一直可用
4、充分考虑到多可用区az(availability zone)









traditionally we've tried to "avoid" failure by doing whatever we could to make services/components "not fail". we would deploy monolithic "appliances" (hardware or software) and if that appliance failed it was a significant event. as we start to move toward distributed systems, especially microservices, we find that there are many more points of failure. microservices are implemented as a collection of services that evolve independently and interact and react to their surrounding environments including the changing of user/customer behaviors, business strategy/direction, system behavior, and even other services. one premise of these types of complex-adaptive systems is the ability to withstand failures and unexpected faults.

to do this, you must design your services with failure in mind. there are a handful of practices that come to mind:

  • maximize service availability
  • self healing
  • isolate the "blast radius" of any single failure
  • continually prove your system has been designed for failure







最后以一首歌做为结束。the musician laurie anderson captured this dynamic in her song “walking and falling”: 大家体会一下 design for failure

you’re walking. and you don’t always realize it,

but you’re always falling.

with each step you fall forward slightly.

and then catch yourself from falling.

over and over, you’re falling.

and then catching yourself from falling.

and this is how you can be walking and falling

at the same time.

------------------------------------------------------------------

今天先到这儿,希望对您技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章:
前端性能核对表checklist-2018




微服务与docker介绍
docker与ci持续集成/cd









精益it组织与分享式领导











it基础架构规划方案一(网络系统规划)



供应链需求调研checklist

如有想了解更多软件设计与架构, 系统it,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

系统设计Design For Failure思想

作者:petter liu
出处:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-petter liu blog。