第11周作业
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
不可用原因
硬件
机器/网络故障
软件
bug
配置/操作错误
环境
请求太多
保障可用性
硬件
冗余
软件
自动测试
监控告警
熔断
限频
转移
环境
提供降级能力
请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。
func checkPW(userId, rawPass, expectEncryptPass string) bool {
encryptPassWithSalt := append(md5.Sum([]byte(rawPass))[:], []byte(userId)...)
return expectEncryptPass == fmt.Sprint("%x", md5.Sum(encryptPassWithSalt))
}