极客时间架构师训练营 - week11 - 作业 1
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
答:导致系统不可用的原因包括:
硬件故障
软件缺陷
系统更新与发布
并发压力
网络攻击
外部灾害等
保障系统稳定高可用的方案有:
冗余备份。数据库主从复制,即便一台服务器宕机, 也不影响整个系统对外提供服务。
负载均衡。后台微服务部署多份,在服务更新的时候,让部分服务先下线,再进行升级,在恢复服务,再接入使用。
失败隔离。将后台服务均部署多份,定期检测心跳,下线出问题的服务。
限流降级。在秒杀等高并发场景下,如果系统的访问量超过了系统的承受能力,可以通过限流对系统进行保护。
完善安全防护。采用必要的安全措施,或者采用三方的成熟的安全防护产品。
异地多活。说将数据中心分布在多个不同地点的机房里,每个机房均可以独立对外提供服务,即使某一个机房不可使用,系统也不会宕机,依然保持可用。
请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。
导入两个Jar依赖
版权声明: 本文为 InfoQ 作者【jjn0703】的原创文章。
原文链接:【http://xie.infoq.cn/article/f5b2e17e4d79db6f3698d6468】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论