518
2
부
구현
주요 이점
수평 복제는 비교적 간단하다. 부하를 분산하는 작업은 다른 곳, 즉 메시지 브로커에서 실행되
는 큐나 로드 밸런서를 통해 수행될 수 있으므로 애플리케이션을 업데이트해야 하는 경우는 거
의 없다. 수직 확장을 사용할 수 없다면 일반적으로 이러한 형태의 확장을 다음 단계로 고려
한다.
작업을 복제본에 쉽게 분산할 수 있다고 가정하면, 이는 부하를 분산하고 원시 컴퓨팅 자원에
대한 경합을 줄이는 세련된 방법이다.
제한 사항
앞으로 살펴볼 거의 모든 확장 방법과 마찬가지로 수평 복제는 더 많은 인프라스트럭처가 필요
하므로 당연히 더 많은 비용이 발생할 수 있다. 또한 과잉 상황도 발생할 수 있는데, 예를 들어
실제로 확장 문제가 모놀리식 애플리케이션의 일부에서만 발생하더라도 애플리케이션의 전체
복제본을 여러 개 실행해야 한다.
여기서 대부분의 작업은 부하 분산 메커니즘을 구현하는 것이다. 이 메커니즘은
HTTP
부하
분산과 같은 간단한 것에서부터 메시지 브로커 사용이나 데이터베이스 읽기 복제본 구성과 같
은 보다 복잡한 것에 이르기까지 다양하다. 이와 같은 부하 분산 메커니즘에 의존해 작업을 수
행해야 하므로, 이 메커니즘의 작동 방식과 선택한 특정 방법의 제한 사항을 파악하는 것이 중
요하다.
일부 시스템에서는 부하 분산 메커니즘에 추가 요구 사항을 적용할 수 있다. 예를 들어 동일한
사용자 세션과 연관된 모든 요청이 동일한 복제본으로 향하도록 요구할 수 있다. 이 요구 사항
은 고정 세션
sticky
session
이 ...