대용량 데이터 서비스를 운영하기 위해서는 서버 부하의 원인을 파악하고, 이를 해결할 수 있어야 합니다. 이는 제가 주로 하는 대용량 데이터를 처리할 수 있는 ML 모델링 및 최적화 시뮬레이션에서도 중요한 이슈이기 때문에 이번 기회에 정리하게 되었습니다.
Lamda Architecture은 Batch Layer, Serving Layer Speed Layer로 구성되어 있으며, batch단위의 데이터와 real-time 데이터를 효율적으로 처리하는 방안을 제시합니다.
Front-End Layer, Web Services, Data layer 각각의 영역에서의 Scalibilty에 대해 다루고, 더 나아가 Caching, Asynchronous Processing, Searching for Data에 대해서 심도있게 다루고 있습니다.
이 글은 HTTP-based systems (websites, REST APIs, SaaS, and mobile application backends)에 관련된 Scalability를 다루고 있습니다.