[분산 시스템 공부법] 유튜브 채널 추천, 학습 효과 극대화 하기

분산 시스템(distributed systems) 공부할 때 배워야하는 중요한 개념과 유튜브 영상 추천합니다. 지난번 소개한 책에서 상당히 세세하게 다루는 주제들이지만 책으로 먼저 접하기에는 조금 거리감이 있을 수 있습니다. 유튜브 영상으로 가볍게 시청하면서 개념 이해하는 것을 추천합니다. 📌 개념 이해 전에 알아야 할 분산 시스템이 필요한 이유 https://youtu.be/UEAMfLPZZhE 분산 시스템으로 만들어야 하는/만들지 말아야 하는 가장 기본 개념을 설명해주는 영상입니다. 📌 아래는 제가 뽑은 몇 가지 중요한 기본 개념과 추천하는 영상입니다. 아래 개념은 시스템 디자인 면접에서 많이 언급될 수 있습니다. 특히 1번, 3번, 5번 그리고 6번은 라지 스케일 시스템을 디자인할 때 자주 언급되는 개념입니다. 1️⃣ Replication https://youtu.be/mBUCF1WGI_I 레플리케이션의 의미와 개념을 먼저 알려주고, 문제점과 장점을 예시를 통해 알려줘서 쉽게 이해할 수 있습니다. 기본 개념과 문제점을 이해하고, 가장 중요한 솔루션을 몇 가지 간단하게 배울 수 있습니다. 라지 스케일 디자인할 때 중요한 점이라 꼭 숙지하고, 시스템 디자인할 때 또는 면접 볼 때 큰 도움이 될 수 있는 주제인 것 같습니다. 2️⃣ Quorum https://youtu.be/uNxl3BFcKSA Quorum 아키텍쳐는 분산 시스템에서 자주 언급되는 개념입니다. 이 영상에서 분산 시스템에서 중요한 토픽인 "consistency" (특히 read-after-write consistency) 에 대해 조금 더 깊이 설명해 줍니다. 3️⃣ Consensus https://youtu.be/rN6ma561tak 4️⃣ Linearizability https://youtu.be/noUNH3jDLC0 분산 시스템에서 의미하는 "linearizability"가 뭔지 예시를 보면서 배울 수 있습니다. 분산 시스템을 linearizable하게 만들 수 있는 방법도 설명해 줍니다. 5️⃣ Eventual Consistency https://youtu.be/9uCP3qHNbWw 데이터 베이스 관련 이야기할 때 자주 논의되는 Cap Theorum을 설명합니다. 그리고 레플리케이션에서 주로 언급되는 "eventual consistency" 개념을 예시와 함께 자세하게 설명해줍니다. 이 개념은 꼭 먼저 알려드린 "linearizability"를 이해하고 시청하면 훨씬 더 쉽게 이해할 수 있습니다. 6️⃣ Fault tolerance https://youtu.be/43TDfUNsM3E "Fault tolerance"는 경우에 따라 다르겠지만 분산 시스템 디자인할 때 가장 많은 시간을 할애하는 것 같습니다. "high availability" 분산 시스템을 설계하는 방법에 대해 간단하게 설명해줍니다. 다른 건 몰라도 영상에서 언급하는 "crash recovery"에 대해 잘 이해해두면 좋을 것 같습니다. 📌 추가적으로 입문 단계에서 봐야할 영상 1️⃣ The Byzantine generals problem https://youtu.be/LoGx_ldRBU0 2️⃣ Broadcasting Algorithm https://youtu.be/77qpCahU3fo 그 외 분산 시스템에서 자주 언급되는 다른 토픽 모두 커버하면 좋지만, 입문 단계라면 위 개념 먼저 이해하는 것이 좋을 것 같습니다. 📌 학습 효과 극대화 하기 가장 좋은 방법은 distributed system 엔지니어가 되어 실무를 통해 배운 개념들을 보고 익히는 것입니다. 그렇지 않을 경우, 1️⃣ 영상에 남겨진 코멘트를 읽어보면서 보면서 개념 다지기 (특히 토론 코멘트) 개인적인 학습 방법일 수도 있지만, 토론을 통해 익힌 개념은 절대 잊히지 않는 장점이 있는 것 같습니다. 코멘트를 읽으면 댓글 스레드에서 토론하는 시청자들이 종종 보이는데, 영상 시청 후 이와 같은 코멘트를 함께 읽어보는 것이 좋습니다. 2️⃣ 영상 시청 후 지난번 추천한 책을 읽으면서 좀 더 깊게 파고들기 영상 플레이리스트를 보면 주제를 한눈에 볼 수 있는데, 지난번 소개한 책에서 커버하는 주제와 거의 90% 겹칩니다. 책과 영상을 모두 봤지만, 개인적으로 책을 읽으면 영상보다 좀 더 깊이 설명해주는 부분이 있고, 실제 책을 출판하기 위해 작가가 읽었던 리서치 페이퍼의 레퍼런스가 포함되어 있습니다. 읽다가 좀 더 설명이 필요한 부분은 레퍼런스를 읽고 더 깊이 파고들 수 있는 장점이 있습니다. 3️⃣ 분산 시스템 디자인 면접 영상을 보면서 분산 시스템 개념 대입해보기 가장 중요한 건 개념을 실무에 대입해보는 것입니다. 저의 경우 실무가 책에서 언급된 개념과 일치하기 때문에 큰 도움이 되었던 것 같습니다. 실무를 통해 먼저 배우고 위 영상을 보니, 확실히 개념 이해에 큰 도움이 되었습니다. 실무에서 자주 볼 수 없는 개념이라면, 유튜브에 있는 분산 시스템 디자인 모의 면접 영상을 보면서 개념 대입을 직접 해보는 것이 좋습니다. 4️⃣ 분산 시스템 모의 면접을 통해 개념 모의로 사용해보기 마지막은 직접 해보는 것이 아닐까요? 업무 보면서 개념을 모의로 사용해보는 것이 가장 좋지만, 그렇지 않을 경우 (특히 시스템 디자인 면접 준비할 때), 모의 면접을 통해 직접 사용해보는 것도 큰 도움됩니다. 🪴 함께 읽으면 좋은 글: [개발자가 꼭 봐야 할 책 - 데이터 중심 애플리케이션 설계] https://careerly.co.kr/comments/67004 [자기 개발에 도움되는 개발 도서 효율적으로 읽는 법] https://careerly.co.kr/comments/67007 [개발자의 공부법 - 뭘 공부해야 되지?] https://careerly.co.kr/comments/67013

Distributed Systems lecture series

YouTube

Distributed Systems lecture series

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 9월 11일 오후 10:36

 • 

저장 126조회 6,081

댓글 0