架构师训练营高可用学习总结
可用性指标
引起故障的原因
硬件故障
硬件bug
系统发布
并发压力
网络攻击
外部灾害
高可用的系统架构
解耦
高内聚、低耦合的组件设计原则
面向对象基本设计原则
面向对象设计模式
领域驱动设计建模
隔离
业务与子系统隔离微
服务与中台架构
生产者消费者隔离
虚拟机与容器隔离
异步
多线程编程
反应式编程
异步通信网络编程
事件驱动异步架构
备份
集群设计
数据库复制CAP原理
FailOver
数据库主主失效转移
负载均衡失效转移
设计无状态的服务幂等事务补偿:通过执行业务逻辑逆操作,使事务回滚到事务前状态重试
熔断
当某个服务出现故障,响应延迟或者失败率增加,继续调用这个服务会导致调用者请求阻塞,资源消耗増加,进而出现服务级联失效,这种情况下使用断路器阻断对故障服务的调用。
限流
在高并发场景下,如果系统的访问量超过了系统的承受能力,可以通过限流对系统进行保护。限流是指对进入系统的用户请求进行流量限制,如果访问量超过了系统的最大处理能力,就会丢弃一部分的用户请求,保证整个系统可用,保证大部分用户是可以访问系统的。这样虽然有一部分用户的请求被丢弃,产生了部分不可用,但还是好过整个系统崩溃,所有的用户都不可用要好。
计数器算法(固定窗口,滑动窗口)
令牌桶算法
漏桶算法
自适应限流
实时自动评估QPS业务流量的不确定性与技术方案的自适应性天生一对!
降级
在高并发的时候将非核心的服务暂时关闭
异地多活
高可用系统的运维
发布
自动化测试
自动化部署
持续部署(持续集成-持续交付-持续部署)
预发布验证
代码版本控制
自动化发布
灰度发布
运行监控
监控数据采集
用户行为日志收集
服务器性能监挫
业务运行数据报告
监控管理
高可用的价值观
保持简单,使问题易于发现,快速解决。目标明确,解决特定环境下的具体问题。价值回归,成本收益要合理。
版权声明: 本文为 InfoQ 作者【qihuajun】的原创文章。
原文链接:【http://xie.infoq.cn/article/3f69de2c68da257b79f8870d2】。文章转载请联系作者。
评论