写点什么

第 11 周作业

用户头像
田振宇
关注
发布于: 2020 年 08 月 26 日

作业一:

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

1、网络故障、网络分区

2、硬件故障比如磁盘损坏、机器断电等

3、软件bug

4、并发压力



方案:

1、通过负载均衡和服务发现,即使一台机器宕机也不影响系统可用性

2、数据冗余,数据存储到多台数据节点上

3、网络请求失败在接口保证幂等的情况下进行失败重试,减小网络带来的影响

4、做好数据一致性的设计,通过柔性事务使数据达到最终一致

5、通过服务降级或限流,降低高并发情况下对系统的压力

6、某个服务bug或故障导致不可用时,使用熔断,降低对整体系统的影响

7、进行系统监控报警

8、程序做好异常日志打印,并进行错误日志监控及报警



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

public Boolean checkPW(String userId, String pwd, String encryptPwd) {
String salt = getSalt(userId); //根据用户id获取salt
//对明文和salt进行MD5加密,即算出密文
return DigestUtils.md5Hex(pwd+salt).equals(encryptPwd);
}




作业二:

根据当周学习情况,完成一篇学习总结



用户头像

田振宇

关注

还未添加个人签名 2018.05.10 加入

还未添加个人简介

评论

发布
暂无评论
第11周作业