Week 11 work
1. 导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述
不可用的原因
外部
自然灾害
恶意攻击者和用户
内部
软件 bug
软件设计不合理,无法满足现有用户需求资源
运维事故
高可用方案
安全
SQL 防注入、CSRF、XSS 等 web 安全防护,防止恶意攻击者
让外部安全团队进行安全扫描
软件开发设计和流程
流程需要严格遵循,降低 bug 出现概率
版本控制要有流程
高内聚低耦合,可以更好应对变化
面向对象设计
领域驱动设计
冗余设计
集群设计,有冗余资源
出现事故,马上进行失效转移
异地多活防止单点失误,自然灾害
资源不足设计
熔断
限流
降级
自适应限流
运维
自动化测试降低测试成本
进行自动化部署和发布,降低人操作可能的风险
预发布进行更全面的测试,降低生产环境可能出现问题
资源进行监控,防患于未然
2. 请用你熟悉的编程语言写一个用户密码验证函数
复制代码
版权声明: 本文为 InfoQ 作者【黄立】的原创文章。
原文链接:【http://xie.infoq.cn/article/42bb9705969260df39a9fcddb】。文章转载请联系作者。
评论