架构师训练营第十一周作业
作业一:
1 导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
1)系统不可用,系统故障有外部原因和内部原因。内部原因有软件问题,运维问题,硬件故障等。外部原因有恶意攻击,网络不可以等。
2)提高系统可用性方案:
解耦:架构及组件设计,减少部署故障
隔离:物理隔离,保证核心业务,子业务独立,依赖于架构,微服务方案和容器部署
异步:消息系统(kafka 等),同时还提高性能
备份:CAP 原理,主备部署
失效转移: 保证恢复后正确性,
幂等及重试:保证重试正确性
补偿机制:重试失败后,达到最终一致
熔断:防止雪崩效应
限流:滑动窗口控制
降级:非核心业务关闭
异地多活:
2 请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文),返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。
复制代码
作业二:
根据当周学习情况,完成一篇学习总结
本周相对简单,深入学习还要参考相关文档。
1 安全架构
2 高可用
3 监控
案例:
log 日志级别,配置
数据库 sql,访问评论,是否用 cache
响应超时,多线程要注意死锁,互斥锁
缓存参透
应用发布,必须监控,服务启动顺序
评论