一、硬件
1、服务器
  

2、网络架构
  

二、软件
1、基础组件
| 组件名称 | 高可用方式 | 最少节点数 | 
| 负载均衡(Tenginx) | corsync+pacemaker互为主备 多组集群通过DNS轮循实现一个大集群 | 2 | 
| DNS | 主从集群 | 2 | 
| RabbitMQ | 原生HA镜像集群 | 3 | 
| Zookeeper | 原生分布式集群 | 3 | 
| Kafka | 原生分布式集群 | 3 | 
| ES | 原生分布式集群 | 3 | 
| OpenLDAP | 主备 | 2 | 
| Confluence | 主备 | 2 | 
|   |   |   | 
2、数据库
1)数据库架构和备份策略
| 组件名称 | 高可用方式 | 最低节点数 | 备份策略 | 
| mysql | 主从 | 1主1从 | 每天全备+日志实时同步(备份保留10天) | 
| mysql | MGR | 3节点 | 每天全备+日志实时同步(备份保留10天) | 
| pg | 主从 | 1主1从 | 每天全备+日志实时同步(备份保留10天) | 
| redis | sentinel | 1主1从 | 主从数据同步 | 
| redis | cluster | 2分片1副本 | 主从数据同步 | 
2)数据库架构故障
| 故障表现级别 | 故障表现描述 | 架构 | 日志 | 复制模式 | 备份 | 是否满足高可用 | 
| 1 | 崩溃,数据丢失 | mysql,postgresql 单节点。 | mysql:未开启binlog。 postgresql: 开启日志级别minimal | 无 | 无 |   | 
| 2 | 崩溃,新数据丢失 | mysql,postgresql 单节点。 | mysql:未开启binlog。 postgresql: 开启日志级别minimal | 无 | 每天全备 |   | 
| 3 | 崩溃,没有数据丢失 | mysql,postgresql 单节点。 | mysql: 开启binlog 级别 statement 及以上。postgresql: 开启日志级别archive 及以上 | 无 | 每天全备+日志实时同步。 |   | 
| 4 | 主从切换,服务不可用。 | mysql,postgresql 主从 无高可用,需手动切换。 | mysql:开启binlog 级别 row。 postgresql: 日志级别hot_standby 及以上。 | 异步复制 | 每天全备+日志实时同步 |   | 
| 5 | 主从切换,用户有明显的感知。服务器基本完全可用。 | mysql:haproxy/nginx+proxysql+mysql(mha) postgresql: 待定。 | mysql:开启binlog 级别 row。 postgresql: 日志级别hot_standby 及以上。 | 异步复制。 | 每天全备+日志实时同步。 |   | 
| 6 | 主从切换,用户有很小或无明显感知。服务基本完全可用。 | mysql:haproxy/nginx+proxysql+mysql(mha) 或:mgr(待测试) postgresql: haproxy/nginx+pg_poolII+postgresql(repmgr) 待定。 | mysql:开启binlog 级别 row。 postgresql: 日志级别hot_standby 及以上。 | mysql半同步复制postgresql同步复制。 | 每天全备+日志实时同步。 |   | 
    
    










