六 总结
高可用 HA(High Availability)是系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。
方法论上,高可用是通过 冗余 + 故障转移 来实现的。
整个制造业系统架构的推荐高可用方案,又是通过每一层的 冗余 + 故障转移 来综合实现的,具体的:
- 客户端层 到 负载均衡层 的高可用,是通过负载均衡层的冗余实现的,具体实践是 keepalived + NGINX 自动故障转移
- 负载均衡层 到 应用服务层 的高可用,是通过应用服务层的冗余实现的,常见实践是 nginx 与应用服务器之间的存活性探测与自动故障转移
- 应用服务层 到 ** 数据库“读”** 的高可用,是通过读库的冗余实现的,常见实践是通过数据库层进行 " 主从复制, 读写分离 ", 应用服务层的 数据库连接池 配置多个读库的 IP 来保证自动故障转移
- 应用服务层 到 ** 数据库“写”** 的高可用,是通过写库的冗余实现的, 具体的实践根据数据库的类型不同而不同.
附录
附录 1: 中英文对照表
中文 | 英文 | 英文缩写 | 备注 |
可用性 | Availability | ||
宕机时间 | Downtime | ||
平均故障间隔时间(Or 平均无故障时间) | Meantime between failure | MTBF | |
平均修复时间 | Mean time to repair | MTTR | |
故障转移 | fail-over | ||
负载均衡 | load balance | ||
主从切换(主用到备用切换) | Active-passive | ||
双工切换 | Active-active | ||
冗余 | redundant | ||
浏览器 | browser | ||
客户端 | client | ||
单体应用 | monolithic application | ||
Web 服务器 | Web Server | ||
轮询 | Round Robin | RR | |
加权循环 | Weighted Round Robin | WRR |