第十一周 - 命题作业
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
导致系统不可用的原因有:硬件故障、软件 bug、系统发布、并发压力、网络攻击、外部灾害。
保障系统稳定高可用的方案有:
1) 架构思路
* 解耦 - 即逻辑层面进行隔离;
* 高内聚、低耦合的组件设计原则
* 面向对象基本设计原则
* 面向对象设计模式
* 领域驱动设计建模
* 隔离 - 物理层面进行隔离;
* 业务与子系统隔离
* 微服务与中台架构
* 生产者消费者隔离
* 虚拟机与容器隔离
* 异步
* 多线程编程
* 反应式编程
* 异步通信网络编程
* 事件驱动异步架构
* 备份
* 集群设计
* 数据库复制
* CAP 原理
* Failover(失效转移)
* 数据库主主失效转移
* 负载均衡失效转移
2) 原则思想
* 幂等
* 事务补偿
* 重试
* 熔断
* 限流
* 降级
* 异地多活
请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。
PasswordUtil.java
PasswordUtilTest.java
运行结果
评论