수평 스케일링

    Application Architecture

    Application Architecture

    개발자의 입장에서 봤을 때, 서버에서 요청을 처리하려면 개발자가 먼저 코드를 빌드, 배포해야한다. 물론 서버 컴퓨터에도 디스크가 있지만 한계가 있으므로, 데이터베이스처럼 storage를 분리해서 네트워크로 연결시키는 경우가 많고, 이를 distributed storage라고 한다. 사용자 입장에서 보면, 사용자 브라우저가 서버에 요청해서 프론트의 경우 JS 코드를 반환할 거고 백엔드의 경우 API요청을 해서 데이터를 JSON 등의 형태로 받을 것이다. 그런데 사용자가 많아진다면, 서버가 병목현상때문에 느려지거나, 메모리 용량에 한계가 있을 수도 있다. 그래서 하나의 해결책으로 해당 서버컴 하나의 CPU나 메모리를 좋게 할 수 있는데, 이를 vertical scaling이라고 한다. 하지만, 컴퓨터 한대..