우리가 대용량 트래픽에도 안정성 있는 애플리케이션을 제공하려면 어떤 방법이 있을까?
흔히 게임 오픈, 이벤트 시 서버가 터졌을 때 서버를 늘려라라는 말을 하게된다. 모놀리틱 서버에서 같은 서버를 무한정 늘리는 방법이다. 하지만 이게 정말 좋은 방법인가? 지금처럼 클라우드 환경이 아닐 때에는 서버 1대가 무시할 수 없는 수준의 비용이 들었으며 지금도 어느정도 비용이 소모되긴한다.
기업의 입장에선 계속해서 그런 비용이 들어간다면 부담이 될 수도 있으며 무엇보다 각 컴포넌트 별 사용량이 제각각인데 사용량이 적은 컴포넌트도 함께 복제가 되므로 비효율적일 수 밖에 없다. 가장 쉽지만 리스크가 큰 방법! 또한 이렇게 하더라도 요청이 늘어나면 결국 같은 지점에서 병목이 발생해 전체 서버에 영향이 간다.
유지보수 업무를 하는 개발자를 통해 병목지점을 해결하여 성능을 높인다. 그럼 이 병목지점에는 어떤 것들이 있을까?