week11 高可用
系统不可用的原因
1)硬件故障,例如机器宕机,电源故障,硬盘故障等;
2)软件bug,例如内存泄漏,导致服务OOM;
3)系统发布,例如发布失败
4)并发压力,例如请求方QPS突增,导致超过机器负载
5)网络攻击,例如DDOS攻击导致服务不可用
6)外部灾害,例如机房网络故障,电源故障
2.高可用方案
1)FailOver:主备故障转移
2)超时控制:通过P99响应时常确定超时时间
3)降级:保证核心服务的稳定性,可以适当将非核心系统资源挪给核心系统
4)限流:防止突发流量导致的不可用
5)异地多活:防止由于外部灾害或者数据中心故障导致的不可用
密码验证函数
import hashlib,random
storage={}
#加密方法
def get_md5(s):
return hashlib.md5(s.encode('utf-8')).hexdigest()
def checkPW(user, password, secret):
if user not in storage or storage[user] != secret:
return False
return password==get_md5(pw+user)
版权声明: 本文为 InfoQ 作者【burner】的原创文章。
原文链接:【http://xie.infoq.cn/article/b989612c74780021e7d925053】。未经作者许可,禁止转载。
评论 (1 条评论)