Week 11 作业
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
系统不可用的原因:
硬件故障
软件bug
系统发布
并发压力
网络攻击
外部灾害
保证系统稳定高可用的方案有哪些
解耦:高内聚,低耦合,降低系统内部的复杂性
隔离:业务与子业务系统隔离,生产者消费者隔离,等
异步编程:多线程,反应式,异步通讯,事件驱动,增强信息的并发处理能力
备份:防止数据因为攻击,软件,硬件等因素丢失用户数据
Failover:数据库主主失效转移,设计无状态服务
幂等:应用服务调用失败后,重新发送到其它服务器
事务补偿:在传统事务的ACID上增加分布式事务的BASE,通过执行逻辑逆操作,做事务回滚
重试
熔断:服务出现故障,响应延迟或失败率增加,资源消耗增加,这是应阻断调用
限流:系统访问量超过了系统的承受能力,可以限流保护
自适应限流
降低:非核心的功能降级处理
异地多活:多个数据中心
请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法
评论 (1 条评论)