High Availability (HA)


고가용성이란 ( High Availability ) ?

  • 오랜기간 동안 지속적으로 운영될 수 있도록 설계한 시스템

  • 하나의 컴포넌트가 실패할 경우 자동으로 다른 컴포넌트가 그 역할을 대신 수행할 수 있도록 설계한 시스템

  • 분산 시스템을 많이 사용하는 요즘, 중요한 정보등을 유지하기 위해 고가용성을 제공하는 것이 필수가 되었다.

  • 클러스터링, 로드밸런싱, 레플리케이션 등 다양한 기술이 사용된다.


클러스터링 ( Clustering )

  • 여러 대의 컴퓨터(서버)를 하나의 시스템처럼 운영하여 고가용성, 부하 분산, 확장성을 제공하는 기술이다.

  • 이들 서버는 “클러스터”를 형성하며, 서로 상태를 확인하고, 필요한 경우 작업을 서로에게 할당하거나 인계할 수 있다.

  • 예를들어 여러개의 Application 서버에 Redis 로 글로벌적인 Session 을 거는것도 클러스터링이라고 할 수 있다.

로드밸런싱 ( Load Balancing )

  • 로드밸런싱은 네트워크 트래픽이나 요청을 여러 서버나 리소스 간에 균등하게 분배하는 기술이다.

  • 이를 통해 개별 서버에 가해지는 부하를 줄이고, 전체 시스템의 가용성과 응답성을 향상시킨다.

  • 로드밸런서는 들어오는 요청을 여러 서버에 분산시키며, 서버의 현재 부하나 상태를 고려하여 최적의 서버에 요청을 할당한다.

  • 이 방식은 웹 서버, 애플리케이션 서버 등 다양한 시스템의 고가용성과 확장성을 지원하는 데 핵심적인 역할을 한다.

  • 예를들어 여러개의 Application 서버를 두고, 사용자가 접근 할 때 어느 Application 서버로 보내줄지 정해주는 것이 로드밸런서이다.

레플리케이션 ( Replication )

  • 레플리케이션은 데이터나 정보를 시스템 내의 여러 위치에 복제하여 저장하는 과정을 말한다.

  • 이를 통해 데이터의 안정성과 가용성을 높일 수 있다.

  • 예를 들어, 데이터베이스 레플리케이션은 주 데이터베이스의 내용을 하나 이상의 복제본 데이터베이스에 동기화하여,

  • 주 데이터베이스에 문제가 생겼을 때 복제본을 사용하여 서비스를 계속할 수 있도록 한다.

image






results matching ""

    No results matching ""