天天看点

运维高可用架构设计

一、硬件

  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同步复制。 每天全备+日志实时同步。