写点什么

Week 11 work

用户头像
黄立
关注
发布于: 2020 年 12 月 05 日

1. 导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述


不可用的原因

  • 外部

  • 自然灾害

  • 恶意攻击者和用户

  • 内部

  • 软件 bug

  • 软件设计不合理,无法满足现有用户需求资源

  • 运维事故


高可用方案

  • 安全

  • SQL 防注入、CSRF、XSS 等 web 安全防护,防止恶意攻击者

  • 让外部安全团队进行安全扫描

  • 软件开发设计和流程

  • 流程需要严格遵循,降低 bug 出现概率

  • 版本控制要有流程

  • 高内聚低耦合,可以更好应对变化

  • 面向对象设计

  • 领域驱动设计

  • 冗余设计

  • 集群设计,有冗余资源

  • 出现事故,马上进行失效转移

  • 异地多活防止单点失误,自然灾害

  • 资源不足设计

  • 熔断

  • 限流

  • 降级

  • 自适应限流

  • 运维

  • 自动化测试降低测试成本

  • 进行自动化部署和发布,降低人操作可能的风险

  • 预发布进行更全面的测试,降低生产环境可能出现问题

  • 资源进行监控,防患于未然

2. 请用你熟悉的编程语言写一个用户密码验证函数

def Boolean checkPW(String user_id,String pwd_raw,String pwd_database):     sha256 = hashlib.sha256()    sha256.update((user_id+pwd_raw).encode('utf-8'))    pwd_add_salt = sha256.hexdigest()
return pwd_add_salt == pwd_database
复制代码


发布于: 2020 年 12 月 05 日阅读数: 23
用户头像

黄立

关注

还未添加个人签名 2018.10.02 加入

还未添加个人简介

评论

发布
暂无评论
Week 11 work