뭔가 계속 대용량 트래픽에만 초점을 맞추는것 같은데

이건 내 기준으로 신입 때 트래픽이 늘어나면 이렇게 대응했거든,


1) 처음엔 캐시도 없이 배포해봄( 이딴 서비스에 왜 트래픽이 나오는지도 모르겠고 ) 

2) 생각보다 사용자가 있네? 캐시 도입

3) 캐시로도 안되네? 수직 확장 ㄱ(RDB로 개발한 경우), EBS 떼어놓고 인스턴스만 올림. 


존나 큰 서비스 아니면 2까지만 해도 어지간한 MAU 다 커버되고,

3으로도 벌 수 있는 시간이 꽤 많음. 당근마켓 사례만 봐도 알 수 있지.


모놀리식으로 개발해도, 한 어플리케이션 내에서 데이터베이스 여러개 쓰는거 안되는 것도 아니고

다 가능함.


그래서 이게 왜 MSA가 꼭 필요한건가 생각을 많이 해봤는데,

그냥 내가 내린 결론은 물론 트래픽 처리에서 유연성을 가져갈 수 있다도 분명 맞는말인데

그것보다는 대형 개발사들이 MSA를 하게 된 이유는 그냥 독립 배포, 장애 격리 이런것이 더 큰 영향을 미친게 아닐까 함.


어떤 플랫폼을 개발해서 그 안에 서비스가 존나게 많은데, 이게 다 모놀리식 어플리케이션에 쳐박혀 있다고 생각해봐.

그 수많은 서비스 각각 개발하고 있는데 언제 다 통합해서 어떻게 새 버전 배포할지 이런게 머리아프지 않을까

심지어 다른건 개발 다 되었는데, 어디서 병목걸려서 배포 못하고, 시장 요구 못따라가고 도태

배포했는데 어디 서비스에서 장애나서 어플리케이션 다운


이런것 때문에 MSA를 도입했다고 봐야 더 타당하다고 생각함.

트래픽 측면으로만 보면 국내에서 MSA 해야할만큼 트래픽 몰리는 회사가 얼마나 되겄어.