架构师训练营 第十一周 作业
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
硬件故障,如磁盘、内存、网卡、网线损坏等
软件BUG
应用或系统配置错误
系统发布没有按正确步骤执行
并发压力高导致系统不可用
网络攻击
外部灾害导致,如地震等自然灾害、火灾等等
保障系统稳定高可用的方案:
原则:保持简单、目标明确、考虑成本和收益
解耦,组件设计遵循高内聚低耦合原则
隔离:业务与子系统隔离、虚拟机与容器隔离、生产者与消费者隔离等
异步编程:反应式编程、事件驱动
备份:集群、数据复制
失效转移
幂等
事务补偿
重试
熔断,某个服务出现故障时,通过断路器阻断对故障服务的调用
限流:计数器算法、令牌桶算法、漏桶算法、自适应限流
降级
异地多活
请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。
评论 (1 条评论)