高可用 HA
高可用性 HA(High Availability)指的是通过尽量缩短因日常维护操作计划和突发的系统崩溃(非计
划)所导致的停机时间,以提高系统和应用的可用性,它与被认为是不间断操作的容错技术有所不同。
HA 系统是目前企业防止核心计算机系统因故障停机的最有效手段。
(1)网络高可用
由于网络存储的快速发展,网络冗余技术被不断提升,提高 IT 系统的高可用性的关键应用就是网络
高可用性,网络高可用性与网络高可靠性是有区别的,网络高可用性是通过匹配冗余的网络设备实
现网络设备的冗余,达到高可用的目的。比如冗余的交换机,冗余的路由器等;
(2)服务器高可用
服务器高可用主要使用的是服务器集群软件或高可用软件来实现;
(3)存储高可用
使用软件或硬件技术实现存储的高度可用性,其主要技术指标是存储切换功能,数据复制功能,数
据快照功能等。当一台存储出现故障时,另一台备用的存储可以快速切换,达到存储不停机的目的。
基于互联网的大数据量的处理,通常分为以下阶段:
第一阶段,所有数据都装入一个数据库,当数据量大了肯定就会出现问题
第二阶段,缓存机制,如加上缓存 Memcached,但缓存也是治标不治本,数据量太大了也是不行
第三阶段,master-slave 模式,进行主从数据库,master 提供写,slave 进行读,这个适合于有
写造成数据库卡的方法
第四阶段,垂直分库
第五阶段,进行水平分库
数据库出现瓶颈,以 Mysql 为例:
1.对 Mysql 进行优化
2.缓存,主流缓存 Memcached,Redis 等
3.mysql 读写分离+ 主从复制
4.Oracle
5.Oracle 读写分离+ 主从复制
6.Oracle Partition 分区
7.Oracle RAC 集群(终级解决方案)
主要方案:水平拆分,库表散列
备选方案:Mysql 主从复制与读写分离
通常 MySQL 通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离( MySQL-
Proxy)来提升数据库的并发负载能力;
高可用分布式系统:资源隔离,限流与过载保护,熔断,优雅降级,容错,超时控制,监控运维等。
$