시스템 설계
분산 서버에 부하를 고르게 분산하는 방법
1. 부하 분산이란? Load balancing(부하 분산)이란 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미한다. 이로써 가용성 및 응답시간을 최적화 시킬 수 있다. 출처 : 위키백과 분산 서버임에도 서버마다 가지고 있는 IP주소에 접근하는 도메인 이름이 다 다르면 분산 서버라고 할 수 없다. 같은 도메인 이름으로 접속하여도 사용자는 어떠한 서버에 접속하는지 몰라야 한다. 또한 일부 서버에 장애가 생기더라도 남은 서버에서 트래픽을 처리하여야 하며 트래픽은 모든 서버에 균등하게 분배되어야 한다. 이 글은 이러한 목표를 달성하기 위한 학습을 정리한 것이다. 2. Round Robin DNS란 Round Robin은 최초 서명..
대용량 트래픽에도 끄떡없는 서버 확장 방법
1. 대용량 트래픽을 처리하는 서버 아키텍쳐에 대한 학습 이 글은 내가 온라인 거래 중개 서비스의 API서버를 개발하면서 대용량 트래픽에 대한 학습과 고민의 결과를 정리한 것이다. 학습 목표는 백엔드 개발자로써 대용량 트래픽을 처리하며 신뢰할 수 있고 유지보수성이 좋은 API 서버를 개발하기 위한 기본적인 역량을 갖추는 것이다. 2. 대용량 트래픽을 처리하는 것이 왜 중요한가? IT 서비스는 트래픽으로 수익을 발생시키기 때문이다. 대단히 좋은 제품을 개발하였지만 단 1만명만 사용가능한 경우 1만명에 근접 할수록 속도가 느려지고 그 이상이 될 경우 서버가 다운될 것이다. 이 제품은 처리 가능한 트래픽까지 사용자를 받을 수 있다. 그렇다고 무작정 서버를 과하게 증설하면 컴퓨터 자원을 낭비하는 것이기 때문에 ..