[대규모 서비스를 지탱하는 기술] 1장. 대규모 서비스와 소규모 서비스

June·2021년 12월 22일
0

소규모 서비스와 대규모 서비스의 차이

확장성 확보, 부하분산 필요

최근 트렌드는 스케일아웃이다. 스케일아웃은 서버를 횡으로 전개, 즉 서버의 역할을 분담하거나 대수를 늘림으로써 시스템의 전체적인 처리능력을 높여서 부하를 분산하는 방법이다. 반면 스케일업은 하드웨어 성능을 높여 처리능력을 끌어올리는 방법이다.

저가의 하드웨어를 횡으로 나열해서 확장성을 확보하는 것이 스케일아웃 전략이다. 스케일아웃 전략을 채용한 경우에는 비용이 절감되는 반면에 다양한 문제가 발생한다. 예를 들어 사용자 요청을 어떻게 분배할 것인가? 데이터 동기화는 어떻게 할 것인가? 네트워크 통신의 지연시간은 어떻게 생각해볼 수 있을까?

다중성 확보

시스템은 다중성을 지닌 구성, 즉 특정 서버가 고장 나거나 성능이 저하되더라도 서비스를 계속할 수 있는 구성으로 할 필요가 있다.

효율적 운용 필요

서버 대수가 많으면 각 서버를 관리하는 효율적 운용이 필요하다.

대규모 데이터량에 대한 대처

대규모 웹 어플리케이션 운용의 어려움은 대규모 데이터 처리에 집중된다. 어떻게 하면 데이터를 적게 가져갈 수 있을까, 여러 서버로 분산시킬 수 있을까, 필요한 데이터를 최소한의 횟수로 읽어들일 수 있을까 등등.. 이것이 본질적인 과제가 된다.

0개의 댓글