현재 팀의 아키텍처에서 사용자가 늘어났을 때 문제가 될 수 있는 부분을 설명하고, 이를 개선할 수 있는 방법에 대해 작성한다.

• 만명, 10만명, 1,000만명이 사용해도 서비스할 수 있도록 팀의 인프라 아키텍처 개선 방향

현재 인프라 아키텍쳐 구조

현구조

현구조

문제가 될 수 있는 부분

<aside> ❓ 천만 사용자의 요청을 처리할 수 없다.

</aside>

요청을 처리하는 서버의 성능을 늘린다.

비용적인 부분을 고려하여 scale out 방식으로도 증설한다

<aside> ❓ 여러 서버를 운영할 때 발생하는 수 있는 문제점은 없는가?

</aside>

<aside> ❓ 공유되는 자원은 어떻게 해결할 것인가요?

</aside>

저희 서비스에서는 세션을 통해 인가 관리를 하고 있습니다.

인메모리라는 특성상 서버를 증설하여 사용하면 자원 공유와 관련하여 문제가 발생 할 수 있습니다.

이를 해결하는 방식으로는 아래와 같이 크게 4가지 존재합니다.

  1. 토큰 방식 사용
  2. Sticky session 적용
  3. Session Clustering 적용
  4. 공유 storage 사용