더북(TheBook)

마이크로서비스 아키텍처는 기본적으로 분산 아키텍처입니다. 분산 처리를 하면 흔히 부하 분산을 먼저 떠올립니다. 서비스 초기에는 “우리 서비스는 아직 사용자가 많지 않으니 분산 아키텍처는 필요 없어.”라고 생각하기 쉽습니다. 그러나 하드웨어 결함, 네트워크 문제, 버그, 운영상의 실수 등 부하 문제 외에도 다양한 이유로 프로세스는 언제든지 종료될 수 있습니다.

모놀리식 아키텍처는 모든 기능을 프로세스 하나로 구성하기 때문에 이러한 장애 상황에 매우 취약하고, 장애가 발생하면 전체 서비스가 중단되기 때문에 피해 또한 심각합니다. 아키텍처를 변경하는 작업은 기술적으로 어렵고 신중하게 해야 합니다. 그래서 네트워크 스위치 장비 등을 이용해 모놀리식 아키텍처는 그대로 유지하면서 이중화를 구성하는 방식을 많이 사용합니다. 하지만 이 방식은 비용이 많이 발생하고 효율적이지 못하다는 단점이 있습니다. 먼저 소프트웨어 수준의 분산 처리 방법을 알아보고, 마이크로서비스 아키텍처에 적용하는 방법도 살펴보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.