Master-slave pattern은 장애 대응을 위한 Database 복제 등 병렬처리 및 Disaster Recovery 대응 로직에 주로 이용

春 春 33479 
Created at
Updated at  
576 0 0

개요 및 정의

마스터-슬레이브 아키텍처 패턴은 분산 시스템 설계에서 널리 사용되는 패턴 중 하나로, 작업을 분배하고 실행하는 주체들을 명확히 구분하여 시스템의 안정성과 효율성을 높입니다. 이 패턴은 주로 병렬 처리, 장애 대응 및 재해 복구(Disaster Recovery) 로직 구현에 핵심적인 역할을 합니다.

 

이 패턴은 크게 두 가지 역할로 구성됩니다:

  • 마스터(Master): 작업을 지시하고 분배하며, 슬레이브들의 상태를 관리하고 결과를 통합하는 주체입니다. 시스템의 중앙 제어점 역할을 합니다.
  • 슬레이브(Slave): 마스터로부터 전달받은 작업을 실제 수행하고 그 결과를 마스터에게 보고하는 주체입니다. 여러 개의 슬레이브가 존재할 수 있으며, 이들은 독립적으로 작업을 처리합니다.

비유적으로 설명하자면, 마스터는 업무를 지시하는 '주인'의 역할을 하고, 슬레이브는 지시받은 업무를 성실히 수행하여 결과물을 전달하는 '하인'의 역할을 합니다.

 

구조 및 동작 원리

마스터-슬레이브 패턴의 핵심은 작업의 분리와 책임의 명확화에 있습니다.

  • 작업 분배: 마스터는 들어오는 요청이나 처리해야 할 큰 작업을 더 작은 단위로 분해한 후, 이 작업들을 사용 가능한 슬레이브들에게 할당합니다.
  • 독립적인 작업 실행: 각 슬레이브는 할당받은 작업을 독립적으로 수행합니다. 이 과정에서 슬레이브들은 서로의 작업에 직접적인 영향을 미 주지 않으면서 자신의 역할을 완수합니다.
  • 결과 보고 및 통합: 슬레이브는 작업 완료 후 그 결과나 상태를 마스터에게 다시 보고합니다. 마스터는 필요한 경우 이 결과들을 취합하여 최종 결과물을 생성하거나 다음 단계를 진행합니다.
  • 상태 관리: 마스터는 연결된 슬레이브들의 목록, 현재 작업 상태, 가용성 등을 관리하여 효율적인 작업 분배와 장애 발생 시 대응을 준비합니다.

 

Master-slave pattern은 장애 대응을 위한 Database 복제 등 병렬처리 및 Disaster Recovery 대응 로직에 주로 이용

 

주요 활용 분야

마스터-슬레이브 패턴은 다음과 같은 시나리오에서 특히 유용하게 활용됩니다.

  • 장애 대응 및 재해 복구(DR): 마스터 시스템에 장애가 발생했을 때, 슬레이브 중 하나를 새로운 마스터로 승격시켜 서비스 중단을 최소화할 수 있습니다. 슬레이브 자체가 고장 나더라도 다른 슬레이브들이 작업을 이어받아 시스템 전체의 가용성을 높입니다.
  • 병렬 처리 및 부하 분산: 복잡하거나 시간이 많이 소요되는 작업을 여러 슬레이브에 분산시켜 동시에 처리함으로써 전체 처리 시간을 단축하고, 마스터의 부하를 경감시킬 수 있습니다.
  • 데이터 복제 및 일관성 유지: 데이터의 원본을 마스터가 가지고 있고, 슬레이브들은 이 원본의 복제본을 유지하여 데이터의 신뢰성과 가용성을 확보합니다.

 

예시 1. 데이터베이스 복제 (Database Replication)

가장 대표적인 마스터-슬레이브 패턴의 예시입니다.

  • 마스터 DB: 모든 쓰기(Write) 작업(INSERT, UPDATE, DELETE)을 처리하고, 해당 변경 내용을 로그(예: 바이너리 로그)에 기록합니다. 데이터의 원본을 항상 유지하며 일관성을 보장하는 역할을 합니다.
  • 슬레이브 DB: 마스터 DB의 변경 로그를 지속적으로 복제(replication)하여 자신의 데이터베이스에 동일하게 적용합니다. 이를 통해 마스터 DB와 동일한 데이터 복제본을 동기화하여 유지합니다.
    • 주요 역할: 슬레이브는 주로 읽기(Read) 요청을 처리하여 마스터 DB의 부하를 분산시키고, 마스터 DB 장애 시 백업 역할을 수행합니다.
  • 장점: 읽기 처리량(Read Scalability) 증대, 데이터의 고가용성(High Availability) 및 내결함성(Fault Tolerance) 확보, 백업 및 분석 용도로 활용 가능.

 

예시 2. USB 허브 (USB Hub)

USB 허브를 통한 연결 역시 마스터-슬레이브 패턴의 한 형태로 볼 수 있습니다.

  • 마스터 포트 (또는 USB 컨트롤러): 컴퓨터의 USB 포트나 내부 USB 컨트롤러가 마스터 역할을 하여, 연결된 모든 USB 장치(슬레이브)에 대한 통신을 관리하고 전원을 공급합니다.
  • 슬레이브 장치 (USB 기기): USB 허브에 연결된 마우스, 키보드, USB 메모리 등 개별 USB 기기들이 슬레이브 역할을 합니다. 이들은 마스터 포트를 통해 제공되는 기능과 프로토콜을 사용하여 작업을 수행합니다.
  • 관점: 이 예시는 '기능의 복제/확장'이라는 관점에서 마스터-슬레이브를 설명합니다. 즉, 마스터 포트가 제공하는 인터페이스와 기능을 여러 슬레이브 장치가 공유하고 활용할 수 있도록 합니다.

 

장점

마스터-슬레이브 아키텍처 패턴은 여러 가지 중요한 장점을 제공합니다.

  • 정확성 및 일관성: 마스터가 모든 쓰기 작업을 제어하고 슬레이브에 변경 사항을 전파하므로, 시스템 전체적으로 데이터의 정확성과 일관성을 유지하기 용이합니다. 특히 데이터 복제 환경에서 핵심적인 장점입니다.
  • 확장성(Scalability): 슬레이브의 수를 늘림으로써 읽기 처리량(Read Throughput)이나 병렬 처리 능력을 쉽게 확장할 수 있습니다.
  • 내결함성(Fault Tolerance): 마스터 또는 슬레이브 중 하나에 장애가 발생하더라도, 다른 슬레이브들이 작업을 계속 수행하거나, 슬레이브 중 하나를 새로운 마스터로 승격시켜 서비스 중단을 최소화할 수 있습니다.
  • 단순한 관리 모델: 마스터가 중앙에서 모든 슬레이브의 작업을 지시하고 관리하므로, 전체 시스템의 제어 및 관리가 상대적으로 단순합니다.

 

단점 및 고려사항

장점에도 불구하고 마스터-슬레이브 패턴은 다음과 같은 단점과 고려사항을 가지고 있습니다.

  • 마스터의 단일 장애점(Single Point of Failure): 만약 마스터 자체에 치명적인 장애가 발생하면, 새로운 마스터가 선정되거나 장애가 복구될 때까지 전체 시스템이 멈추거나 중요한 쓰기 작업을 처리할 수 없게 됩니다. 이는 시스템의 심각한 가용성 저하로 이어질 수 있습니다.
  • 마스터-슬레이브 간 레이턴시(Latency): 실시간 시스템이나 대규모 시스템에서 마스터가 슬레이브에 변경 사항을 전파하고 슬레이브가 이를 반영하는 데 시간이 소요될 수 있습니다. 특히 비동기 복제 방식에서는 슬레이브가 마스터보다 뒤처지는(lagging) 현상이 발생하여 데이터 일관성 문제(Stale Read)를 유발할 수 있습니다. 슬레이브들이 독립적으로 동작하며 공유되는 상태가 없기 때문에 이러한 문제가 더욱 부각될 수 있습니다.
  • 적용 한계: 이 패턴은 작업을 독립적이고 분리 가능한(separable) 문제로 나눌 수 있을 때 가장 효과적입니다. 만약 작업들이 서로 강하게 결합되어 있거나, 슬레이브들 간에 복잡한 상호작용이 필요한 경우에는 이 패턴의 적용이 어렵거나 비효율적일 수 있습니다.
  • 비용: 고가용성과 확장성을 확보하기 위해 여러 슬레이브 인스턴스를 유지해야 하므로, 시스템 구축 및 운영 비용이 증가할 수 있습니다.
  • 네트워크 대역폭 요구: 마스터에서 슬레이브로 데이터를 복제하거나 작업을 전파할 때 상당한 네트워크 대역폭이 필요할 수 있습니다.
Tags Architectural Patterns Master-Slave Architectural pattern Master-slave pattern replication 마스터-슬레이브 마스터-슬레이브 아키텍쳐 패턴 마스터-슬레이브 패턴 아키텍쳐 아키텍쳐 패턴 Facebook X
Comments 0
Similar posts
  1. Client-server pattern은 TCP/IP를 통해 데이터를 주고 받는 이메일, 웹하드 등이 주로 이용하는 아키텍쳐
    556
  2. Pipe-filter pattern은 컴파일러와 같이 통해 연속되는 필터링 기법을 통한 분석을 하는 아키텍쳐에 주로 이용
    493
  3. Layered pattern은 PC App, 쇼핑몰(이커머스) 웹사이트 등이 주로 쓰는 아키텍쳐 패턴
    278
  4. Broker pattern은 Apache ActiveMQ, Apache Kafka, RabbitMQ 등 메시지 미들웨어 같은 아키텍쳐에 주로 이용
    523
  5. Peer-to-peer pattern은 BitTorrent와 같이 파일공유 솔루션이나 P2PTV, PDTP와 같은 멀티미디어 프로토콜에 주로 이용
    471
  6. Event-bus pattern은 Push Notification Service, 안드로이드 앱 개발에 주로 응용되는 아키텍쳐
    544
  7. MVC(Model-view-controller) pattern은 Django, Rails와 같은 웹 어플리케이션 개발에 주로 응용되는 아키텍쳐
    604
  8. Blackboard pattern은 오늘날 NLU(Natural Language Understanding)이나 차량인식 등에 응용되는 아키텍쳐
    766
  9. Interpreter pattern은 SQL 또는 통신프로토콜을 기술하는 언어 구현시 주로 이용되는 아키텍쳐
    491
  10. 아키텍쳐 패턴이란 - 소프트웨어 디자인 패턴
    487
  11. 아틀라시안 뱀부(Atlassian Bamboo)를 활용한 CI(Continuous Integration) 환경 구축
    491
  12. 플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 - InnoDB는 인메모리 캐싱을 하는 고성능 솔루션
    238
  13. 넷플릭스 서비스 오토스케일링 아키텍쳐
    407
  14. AWS 기반 서버 없는 아키텍쳐(Server-less back-end architecture)
    327
  15. 마이크로 서비스 아키텍쳐 (MSA, Micro Service Architecture)의 장단점 및 구현 방법
    706
  16. Machine Learning Tool의 종류와 용도
    632
  17. 자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 - 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다
    480
  18. 구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼
    278
  19. EIDR(Entertainment IDentifier Registry) - 콘텐츠 ID 표준화를 이끄는 미디어/엔터테인먼트 서비스 연관 국제 표준 단체
    605
  20. 인텔이 주장하는 데이터 센터 아키텍쳐의 미래는 Software-Defined Infrastructure(SDI)
    288
  21. 집단지성을 활용하는 Collaborative Filtering(CF) 알고리즘 - 추천 알고리즘으로 많이 이용되고 있지만, 한계도 알아야 해
    589
  22. 서버 인프라 설계시 장애를 고려하여 만드는 Single Infra, Active-Stand-by,Active-Active, Active-Stand-by/Active-Active+DR Center
    456
  23. 2-Tier 아키텍쳐와 3-Tier 아키텍쳐의 다른점
    348
  1. 카나리 배포 vs A/B 테스팅
    163
  2. 바이브코딩은 나의 명확한 의도(Vibe)와 AI의 폭발적인 생산성을 결합하여, 어제는 불가능했던 일을 오늘 현실로 만드는 혁신적인 과정
    903
  3. 그림으로 보는 CI/CD Pipeline
    333
  4. ChatGPT로 그려보는 그림 - 행복한 토끼를 그려 본다
    113
  5. Google Docs/Slide에서 화살표 -> 를 → 로 자동 변환하는 꿀팁
    1,683
  6. 엑셀 스프레드시트 프린트 범위 설정하기
    486
  7. 샤오미 YI 웹캠 덕분에 카메라에 녹화된 아버지의 모습을 복원하여 볼 수 있어 감사
    258
  8. Delphi Community Edition - 비영리/개인 개발자에게 완전 무료
    754
  9. 멀티도메인(Multi-domain) SSL 인증서 무료로 만드는 방법
    345
  10. CENTOS 7.x에 ffmepg 설치하는 방법
    310
  11. 삼성 wyz070 SIP Phone 설정 방법
    956
  12. ffmpeg으로 mov file을 mp4로 변환하는 방법
    415
  13. Windows Live Writer로 글 올릴 때 프로그램이 freeze되는 현상 해결 방법
    921
  14. HP EliteBook 8440p 시리즈 노트북 PC - 8440p 에 장착된 메모리 정보
    552
  15. 삼성 MG900 블루투스 헤드셋 페어링 방법 (EO-MG900)
    1,145
  16. 추억의 스타크래프트 사무실에서 한판 뜨기 - IPX가 안되어 방법을 찾아 보았습니다
    615
  17. 갑자기 컴퓨터가 너무 느려져 내가 한 일 - 백신프로그램 하나를 제외한 나머지를 다 지우니 해결
    229
  18. 코드리뷰도 생산성 있게 - Visual Studio Code를 이용하여 코드리뷰 중 JIRA에 이슈 등록하는 방법
    303
  19. 구입 후 만족스러웠던 맥북프로 케이스 - insquare 2017 맥북프로 13/15 터치바 케이스
    648
  20. 원격 폴더를 외장 하드처럼 자유롭게 써 보자 - 마운틴덕(Mountain Duck)
    584
  21. CentOS에서 포트 여는 방법 - iptables를 이용하여 80포트, 22번 포트 등을 열어
    284
  22. CentOS 6.x에 APM(Apache+PHP+MySQL) 설치 및 초기 설정 방법
    397
  23. 논문/특허 인용여부를 검색해주는 웹사이트
    236
  24. LED 리폼으로 보다 밝은 거실/부엌 만들고, 더불어 전기요금 절감에 도전
    213
  25. SK 텔링크 선불전화 충전 방법
    223
  26. 스마트 TV에 이어 스마트폰까지 진출한 중국의 동영상 업체 LeTV
    257
  27. 엑셀(EXCEL) 사용시 한자(중국어)를 한글로 번역하는 방법
    533
  28. 서버 해킹 도대체 누가?
    315
  29. 8K 고화질 영상 - 섬세한 화질과 현란한 색상에 매료되
    217
Recently updated
  1. 떡꼬치 양념이 착! 중독성 대박 두툼한 매콤 통스팸김밥 만들기
    13
  2. 살 안 찌는 레몬즙, 많이 마시면 위험한 의외의 이유
    31
  3. 겨울철 꿀차 효능과 매일 마시면 살찔까? 오해와 진실
    37
  4. 실바 넘은 극한 몰빵 배구, 귀화 준비 인쿠시 홀로 48득점 폭주
    41
  5. 히트곡을 딸과 함께 부르는 박남정 박시은 부녀 동반 무대
    77
  6. 계란찜 뚝배기 그릇에 하는 방법
    325
  7. 라면 사리와 라면 스프로 만드는 라면 피자
    486
  8. 순두부와 라면의 알싸한 조화로 만들 수 있는 순두부 찌게 라면
    382
  9. 모션데스크 공간 200% 활용하기: 엔지니어가 찜한 페그보드 데스크 오거나이저 리뷰
    149
  10. 삼성전자 3분기 영업이익 107조 돌파! 국내 최초 '분기 100조원' 시대 열었다
    90
  11. 야! 남규리님 프로야구 레전드 시구 봤던 사람 있냐?
    512
  12. 내 유튜브 알고리즘을 점령한 남규리 여인의 향기 쇼츠 추천
    75
  13. 씨야 데뷔 20주년 콘서트로 전한 남규리의 반가운 근황
    76
  14. 요즘 다시 반복해서 듣고 있는 클론의 음악에서 느껴지는 김태영님의 피쳐링 파워
    65
  15. 솔직해서 더 매력적인 아일릿 원희의 성격 알아보기
    89
  16. 걸그룹 베스티 '연애의 조건', 13년 만의 역주행 신화 분석
    94
  17. YG '베이비몬스터'의 모든 것: 7인 멤버 프로필부터 앨범 활동 역사까지 완전 정리
    98
  18. 보험에서 질병당일 입원금 보상 받는 방법
    399
  19. 사고시 가입 된 보험에서 통원비가 지급되는 경우
    187
  20. 상해의료실비란?
    239
  21. 일본 예능부터 샤넬쇼까지 완벽 소화! 독보적인 일본어 실력 보여준 아일릿 원희
    73
  22. 호랑이 감독 김연경 - 인쿠시와 함께 갓생 댄스 폭발
    71
  23. 군인들을 설레이게 했던 군통령 - 걸스데이
    123
  24. 베이비몬스터 아사 일본 현지 근황
    153
  25. 지마켓의 재미난 컨셉 광고
    101
  26. 재결성한 터보, 그 이후의 행보와 최근 근황
    77
  27. 한때 소셜미디어를 흔들었던 나루토 댄스 챌린지
    63
  28. 성경 역사와 세계사를 한눈에 비교해보는 아담의 역사 지도 연표 추천
    107
  29. 외계에서 온 우뢰메 - 에스퍼맨의 목소리는 지금 들어도 뭔가 어색한
    86
  30. 중국 6대2 무규칙 매치, 링 줄로 몰아붙인 압도적 경기 전개
    81
  31. 공부가 하고 싶었던 가난한 소년 - 하고자 하는 의지만 있다면 원하는 바를 이룰 수 있어
    204
  32. 돌아온 인쿠시와 신인감독 김연경! 벌써부터 설레는 원더독스 기대평
    128
  33. 별 이유 없이 혼인신고를 미루어 왔는데 최근 남편이 부정한 관계에 있는 여자와 먼저 혼인신고를 한 경우, 정식 결혼한 저는 어떻게 됩니까?
    265
  34. 전광훈 목사가 빤스목사로 불리우는 이유
    412
  35. 자녀배상책임 보험 가입시 배상 범위
    280
  36. 태아보험 가입시 저체중아 인큐베이터 특약
    300
  37. 추석 아침 식사와 혈당 관리의 중요성 - 아침 공복에 피해야 할 대표 명절 음식 3가지
    88
  38. 교통사고 합의는 보험회사와 언제까지 합의해야 하는가? 소멸시효?
    468
  39. 사고로 인하여 장해가 발생하면 소송이 필요할수도 있는가?
    247
  40. 사고시 보험사들의 장해 판단 유형
    213
  41. 각종 사고 발생시 합의금 계산 방법
    345
  42. 세무조정의 개념적 이해
    220
  43. 결산조정사항의 개념 및 분류
    294
  44. 불길속의 영웅
    92
  45. 외국인인척 하고 통인시장 가보기
    132
  46. 재고자산의 평가방법을 신고치 않을 경우 받는 영향
    260
  47. 법인세의 중간예납이 가지는 의미
    218
  48. 매콤달콤 황금비율 라면 떡볶이 (라볶이) 레시피
    502
  49. 참치로 간단히 만드는 매운탕
    639
  50. 라면으로 고로케 만드는 방법
    365