写点什么

Week 11 作业

用户头像
鱼_XueTr
关注
发布于: 2020 年 08 月 26 日
Week 11 作业
  1. 导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。

系统不可用的原因:

  • 硬件故障

  • 软件bug

  • 系统发布

  • 并发压力

  • 网络攻击

  • 外部灾害



保证系统稳定高可用的方案有哪些

  • 解耦:高内聚,低耦合,降低系统内部的复杂性

  • 隔离:业务与子业务系统隔离,生产者消费者隔离,等

  • 异步编程:多线程,反应式,异步通讯,事件驱动,增强信息的并发处理能力

  • 备份:防止数据因为攻击,软件,硬件等因素丢失用户数据

  • Failover:数据库主主失效转移,设计无状态服务

  • 幂等:应用服务调用失败后,重新发送到其它服务器

  • 事务补偿:在传统事务的ACID上增加分布式事务的BASE,通过执行逻辑逆操作,做事务回滚

  • 重试

  • 熔断:服务出现故障,响应延迟或失败率增加,资源消耗增加,这是应阻断调用

  • 限流:系统访问量超过了系统的承受能力,可以限流保护

  • 自适应限流

  • 降低:非核心的功能降级处理

  • 异地多活:多个数据中心



请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法

def checkPW(userID, password, scret):
import base64
# encrypt = base64.b64encode('{}:{}'.format(userID, password))
user_passwd = base64.b64decode(scret.encode()).decode('ascii')
user_passwd = user_passwd.split(':')
return (userID == user_passwd[0]) and (password == user_passwd)



用户头像

鱼_XueTr

关注

还未添加个人签名 2019.04.19 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
请添加“极客大学架构师训练营”标签,便于分类
2020 年 08 月 27 日 09:51
回复
没有更多了
Week 11 作业