上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第1章 高可用概述
1.1 什么是高可用
1.1.1 概述
数据库作为系统建设中的关键之一,其高可用性一直是系统设计的重要环节。同时,由于数据库是有状态的,因此数据库的高可用有其天生的复杂性。本节将深入浅出、循序渐进地带领读者了解PostgreSQL的高可用技术。
IT 系统在设计之初都会对软件、硬件进行高可用设计,使系统能够从故障中快速恢复正常。高可用,一般指一个整体系统内部的不同服务在受软、硬件故障影响的情况下,对外提供不间断服务的能力,是一种系统内部服务的容错能力。
系统内部故障形式不同,例如应用程序、操作系统,以及服务器、路由器等硬件故障都可能会导致服务中断。对一个系统来说,根据部署规模的不同,异常的影响程度也会不同。但是归根结底,单点始终是系统高可用最大的风险,应该在系统设计的过程中避免单点。
假设一个系统全年都能正常提供服务,那么就可以说这个系统的可用性是100%。但这是在理想状态下。一般都用几个“9”来表示系统的可用性,99.99%表示可用性较高,“9”越多,代表可用性越高。高可用要避免使用单点,而数据库的高可用就是用多个实例组成集群,来解决数据的冗余问题。