Skip to content

Latest commit

 

History

History
76 lines (49 loc) · 4.67 KB

MySQL VIP 방식과 DNS 방식.md

File metadata and controls

76 lines (49 loc) · 4.67 KB

MySQL VIP 방식과 DNS 방식

VIP 방식

VIP 방식은 하나의 가상 IP 주소(Virtual IP)를 여러 MySQL 서버 중 하나에 할당하여 클라이언트가 이 가상 IP를 통해 데이터베이스에 접속하도록 하는 방식입니다.

VIP 사용하지 않을 때

스크린샷 2024-02-18 오후 8 08 43

일반적으로 MySQL을 사용할 때 위와 같이 Master-Slave 형태로 사용할 것입니다. 그리고 애플리케이션 서버에서 Master MySQL IP 주소를 통해서 접근할 것입니다.


스크린샷 2024-02-18 오후 8 08 43

위의 그림은 만약에 Master 장비에 문제가 생기면 어떻게 될까요? 애플리케이션 서버 코드에서 slave DB의 IP 또는 다른 DB Master 서버 IP로 접근하도록 코드를 변경하고 재배포를 해야 할 것입니다.

즉, 코드 수정하고 재배포 하는 시간동안 DB 순단으로 장애 시간이 될 것입니다.


VIP 사용할 때

스크린샷 2024-02-18 오후 8 08 43

Master DB 앞단에 가상의 IP인 VIP를 추가해줍니다. 각 서버에서는 DB 커넥션 정보를 가져오기 위해 Master에 추가된 VIP를 바라보도록 수정합니다.


스크린샷 2024-02-18 오후 8 08 43

여기서 Master DB 장애가 났을 경우에, Master DB의 VIP를 제거하고 Slave DB에 VIP를 추가합니다.

이렇게 애플리케이션에서 코드 수정 후 추가 배포 없이, DB 커넥션이 Slave DB로 변경하여 운영할 수 있게 진행해줍니다. 기존의 Master DB에 연결되어있던 커넥션들은 서버의 리커넥션 로직에 의해 변경된 VIP로 재접속 할 수 있게 됩니다.


VIP 방식 특징

  • 고가용성: VIP는 주로 고가용성 클러스터에서 사용되며, Master 서버가 다운되면 VIP가 자동으로 Slave 서버로 이동하여 지속적인 서비스 제공을 보장합니다.
  • 장애 조치: 페일오버 시, VIP는 자동으로 다른 서버로 이동하여 클라이언트가 새로운 서버에 접속할 수 있도록 합니다.
  • 네트워크 구성: 네트워크 구성 및 관리가 필요하며, ARP(주소 해석 프로토콜)와 같은 기술을 사용하여 VIP를 재할당합니다.
  • 단일 접속 지점: 클라이언트는 항상 동일한 IP 주소를 통해 접속하므로, 설정이 단순합니다.
  • 장점
    • 빠른 페일오버 및 고가용성 제공.
    • 클라이언트 설정이 단순함.
  • 단점:
    • 네트워크 구성의 복잡성.
    • VIP 이동 시 잠시 동안의 연결 끊김 가능성.

DNS 방식

  • DNS 방식은 도메인 이름 시스템(DNS)을 이용하여 클라이언트가 접속할 MySQL 서버의 IP 주소를 해결하는 방식입니다.

  • 특징

    • 로드 밸런싱: 여러 MySQL 서버를 A 레코드 또는 CNAME 레코드로 등록하여 클라이언트 요청을 여러 서버에 분산시킵니다.
    • 고가용성: DNS 레코드를 변경하여 장애가 발생한 서버를 제외하고 정상 서버로의 접속을 유도할 수 있습니다.
    • TTL(Time to Live): DNS 캐시로 인해 IP 주소 변경 시 즉시 반영되지 않고 TTL에 따라 지연될 수 있습니다.
    • 유연한 설정: 다양한 로드 밸런싱 전략 적용 가능 (예: 라운드 로빈, 지리적 분산 등).
  • 장점:

    • 간단한 설정과 관리.
    • 네트워크 레벨에서의 부하 분산 가능.
  • 단점:

    • DNS 캐시로 인한 지연 문제.
    • 즉각적인 페일오버 어려울 수 있음.

요약

  • VIP 방식은 고가용성을 제공하며, 네트워크 구성 복잡성이 있지만 빠른 페일오버가 가능한 반면, 네트워크 설정이 중요합니다.
  • DNS 방식은 설정이 간단하고 로드 밸런싱에 유리하지만, DNS 캐시로 인한 지연 및 즉각적인 페일오버에는 한계가 있습니다.
  • 두 방식 중 어떤 것을 선택할지는 시스템의 요구사항, 인프라 구조, 그리고 관리자의 선호도에 따라 달라질 수 있습니다. VIP 방식은 보다 즉각적이고 확실한 고가용성을 필요로 하는 환경에서, DNS 방식은 간단한 설정과 넓은 범위의 로드 밸런싱을 필요로 하는 환경에서 적합합니다.