写点什么

架构师训练营第 11 周 - 作业

发布于: 2020 年 08 月 27 日

作业一:

  1. 导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。

导致系统不可用的原因有:

  • 硬件故障

  • 软件bug

  • 系统发布

  • 并发压力

  • 网络攻击

  • 外部灾害

保障系统稳定高可用的方案:

  1. 系统解耦:

  • 高内聚、低耦合的组件设计原则

  • 面向对象的基本设计原则

  • 面向对象设计模式

  • 领域驱动设计建模

  1. 系统隔离:

  • 业务与子系统隔离

  • 微服务与中台架构

  • 生产者与消费者隔离

  • 虚拟机与容器隔离

  1. 异步:

  • 多线程编程

  • 反应式编程

  • 异步通信网络编程

  • 事件驱动异步架构

  1. 备份:

  • 集群设计

  • 数据复制

  1. 失效转移:

  • 数据库主主失效转移

  • 负载均衡失效转移

  1. 异地多活



  1. 请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。

public class Encrypt {

public static void main(String[] args) {
Encrypt encrypt = new Encrypt();
String password = "admin";
String encryptString = "21232f297a57a5a743894a0e4a801fc3";
boolean result = encrypt.checkPW(password, encryptString);
System.out.println("密码验证结果为: " + result);
}

private boolean checkPW(String password, String encryptString) {
String encryptText = encrypt(password);
return StringUtils.equals(encryptText, encryptString);
}

private String encrypt(String password) {
return DigestUtils.md5Hex(password);
}
}



用户头像

还未添加个人签名 2019.01.06 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第11周-作业