系统设计Design For Failure思想
系统设计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,企业信息化, 团队管理 资讯,请关注我的微信订阅号:
作者:petter liu
出处:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-petter liu blog。