본문 바로가기
노트/질문 노트

Replica Set이 무엇인가요?

by 오주현 2021. 12. 7.
반응형

🧐 질문 | 레플리카 셋이 무엇인가요?

 


  • 마스터 서버와 슬레이브 서버의 문제점을 개선, 보완한 기능이 레플리카 셋 입니다.
  • 레플리카 셋에서 실시간으로 사용되는 메인 서버를 Primary(프라이머리)서버라고 합니다.
    • 사용자들은 프라이머리 서버를 통해 데이터를 입력, 수정, 삭제, 조회합니다.
  • 슬레이브 서버의 백업 데이터로 마스터 서버를 복구하기 위해서는 일정 시간동안 서비스를 중지해야 하는 문제점이 발생합니다
    • 실시간 복구 작업을 수행할 수 없다는 뜻 입니다.
    • 프라이머리 서버에 장애가 발생하게 되면 실시간 서비스가 안되기 때문에 치명적인 상황에 놓이게 됩니다.
  • 리프리카 셋에서 두 번째 서버를 Secondary(세컨더리)서버라고 합니다.
    • 프라이머리 서버에 장애가 발생해 서비스를 수행할 수 없을 때 프라이머리 서버의 마지막 수행 작업부터 연석적으로 작업을 수행해 줍니다.
    • 이때부터 세컨더리 서버는 프라이머리 서버가 되고 최초 설정되었던 프라이머리 서버는 복구 후 세컨더리 서버가 됩니다.
  • Secondary For Backup은 세컨더리 서버에 장애가 발생하는 경우를 대비하여 추가 복제 서버를 설정한 경우입니다.

특징


  • 레플리카 셋에서 프라이머리 서버는 2초마다 세컨더리 서버의 상태를 체크하고 동기화를 위한 HeartBeat 작업을 수행합니다.
  • 세컨더리 서버가 중지되더라도 복제 작업만 중지 될 뿐이고 프라이머리 서버에 대한 읽기 작업을 수행하게 됩니다.
  • 만약 프라이머리 서버가 중지되면 세컨더리 서버가 프라이머리 서버가 됩니다.
  • OpLog는 프라이머리 서버가 세컨더리 서버로 복제 작업을 수행하다 장애로 인해 작업을 수행할 수 없을 경우 동기화하지 못 한 데이터를 추후 세컨더리 서버로 반영해 주기 위해 데이터를 백업해 줍니다.
    • OpLog의 기본 크기는 1GB입니다.


반응형

댓글