안정성(안정적인 연결)을 위한 기술
안정성
- 특정 기능을 언제든 균일한 성능으로 수행할 수 있는 특성
- 가용성, 고가용성 : 안정성의 정도를 나타내는 용어
가용성(availablity)
- 컴퓨터 시스템이 특정 기능을 실제로 수행할 수 있는 시간의 비율
- 전체 사용 시간 중 정상적인 사용 시간의 비율
- 정상적인 사용 시간을 업타임(uptime), 정상적인 사용이 불가능한 시간을 다운타임(downtime)이라 한다면
$$
가용성 = 업타임 / 업타임 + 다운타임
$$
- 가용성이 99.999% 이상이어야 안정적이라고 부를 수 있다.
- 가용성을 높이기 위해서는 다운타임을 낮추어야하며, 문제가 발생하더라도 기능할 수 있도록 결함 감내(fault tolerance) 능력을 키워야한다.
이중화
- 결함을 감내하기 위한 대표적인 방법으로, 백업을 마련하는 방법
- 서버, 네트워크 인터페이스, 스위치와 같은 물리적 장비 뿐만 아니라 DB, 웹 서버 등도 이중화가 가능하다.
- 위 대상들은 단일 장애점(SPoF : Single Point Of Failure)으로, 문제가 발생할 경우 시스템 전체가 중단될 수 있는 대상이다.