시스템 설계

    분산 서버에 부하를 고르게 분산하는 방법

    분산 서버에 부하를 고르게 분산하는 방법

    1. 부하 분산이란? Load balancing(부하 분산)이란 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미한다. 이로써 가용성 및 응답시간을 최적화 시킬 수 있다. 출처 : 위키백과 분산 서버임에도 서버마다 가지고 있는 IP주소에 접근하는 도메인 이름이 다 다르면 분산 서버라고 할 수 없다. 같은 도메인 이름으로 접속하여도 사용자는 어떠한 서버에 접속하는지 몰라야 한다. 또한 일부 서버에 장애가 생기더라도 남은 서버에서 트래픽을 처리하여야 하며 트래픽은 모든 서버에 균등하게 분배되어야 한다. 이 글은 이러한 목표를 달성하기 위한 학습을 정리한 것이다. 2. Round Robin DNS란 Round Robin은 최초 서명..

    대용량 트래픽에도 끄떡없는 서버 확장 방법

    대용량 트래픽에도 끄떡없는 서버 확장 방법

    1. 대용량 트래픽을 처리하는 서버 아키텍쳐에 대한 학습 이 글은 내가 온라인 거래 중개 서비스의 API서버를 개발하면서 대용량 트래픽에 대한 학습과 고민의 결과를 정리한 것이다. 학습 목표는 백엔드 개발자로써 대용량 트래픽을 처리하며 신뢰할 수 있고 유지보수성이 좋은 API 서버를 개발하기 위한 기본적인 역량을 갖추는 것이다. 2. 대용량 트래픽을 처리하는 것이 왜 중요한가? IT 서비스는 트래픽으로 수익을 발생시키기 때문이다. 대단히 좋은 제품을 개발하였지만 단 1만명만 사용가능한 경우 1만명에 근접 할수록 속도가 느려지고 그 이상이 될 경우 서버가 다운될 것이다. 이 제품은 처리 가능한 트래픽까지 사용자를 받을 수 있다. 그렇다고 무작정 서버를 과하게 증설하면 컴퓨터 자원을 낭비하는 것이기 때문에 ..