[서평] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2
이 시리즈의 1권이 인상 깊어서 바로 구매하여 보게된 2권입니다.
2권에서는 근접성 서비스, 주변 친구, 구글 맵, 분산 메시지 큐, 지표 모니터링 및 경고 시스템, 광고 클릭 이벤트 집계,호텔 예약 시스템, 분산 이메일 서비스, S3와 유사한 객체 저장소, 실시간 게임 순위표, 결제 시스템, 전자 지갑, 증권 거래소 등을 다루고 있습니다. 1권처럼 인터뷰용이라고 하나 인터뷰 관련 내용은 간략한 요구조건 정의 정도라고 볼 수 있고 나머지는 개략적인 설계에 대해서 나와 있습니다. 개략적인 설계를 설명하면서 핵심 알고리즘은 좀 더 자세히 설명하는 형식을 취하고 있습니다.
책의 내용은 글로벌 빅테크 기업들의 백엔드 서비스를 어떻게 만드는지를 잘 설명하고 있는 듯 합니다. 책의 내용이 대규모 시스템을 대상으로 한 관계로 대부분의 내용은 분산 처리를 활용하여 최고의 안정성과 성능을 내는 설계를 설명하고 있습니다. 또한 최근의 백엔드 흐름에 맞추어 모든 것을 직접 개발하는 방식보다는 유명 오픈 소스 제품을 이용하여 구현하는 방법을 설명하며 때때로 설계관련 패턴을 이야기 하고 있습니다. 이런 부분에서는 관련 지식이 부족하여 관련 제품과 패턴을 많이 찾아보고 많이 배웠던거 같습니다. 어느 부분에서는 빅데이터 아키텍처 관련 부분이 나와서 생전 처음으로 빅데이터 아키텍처도 찾아보고 배웠습니다.
이 책을 읽고 다음과 같은 부분들이 좋았습니다. 우선 대규모 설계를 어떻게 해야 하는지를 잘 설명하고 있어서 배울 것이 많아서 좋았습니다. 무심코 생각했을 부분들을 최신 기술로 대규모 분산처리 백엔드를 어떻게 설계해야 하는지를 잘 설명하고 있습니다. 실제로 비슷한 서비스를 백엔드로 만든다면 이렇게 만들어야 겠다는 영감을 주는 책입니다. 다음으로 이 책이 설명하는 핵심 알고리즘은 해당 시스템이 이런 알고리즘이나 분산처리를 이용하겠구나 라는 것을 배울 수 있어 좋았습니다.
아쉬움 점은 2권은 1권만큼 인상적이지는 않은거 같습니다. 1권이 최신 백엔드의 분산 처리의 기본이 되는 내용을 잘 설명하고 있다면 2권은 한권의 책이 나왔다면 1권 책 뒤에 있을만한 확장적인 설명인거 같은 여러 분야의 시스템을 설명하고 있습니다. 뭐랄까 1권같은 깊은 인상은 아니었습니다.
그럼에도 불구하고 백엔드 개발자라면 1권 읽었다면 2권도 꼭 읽어볼만한 책인거 같습니다.