시스템 설계 5

[Review] 시스템 디자인 스터디 7주차 후기

안녕하세요!K-DEVCON (이하 “데브콘”) 그로스 매니저 박종훈입니다. 이 글에서는 10/30 (목)에 진행된 스터디에서 나눈 이야기를 정리합니다. 이번 시간에는 “유튜브 시스템 설계”에 대한 이야기를 나눴습니다. 유튜브는 많은 사람들이 사용하는 서비스입니다. 유튜브와 같은 서비스에서는 영상을 어떻게 효율적으로, 그리고 안정적으로 제공 해줄 수 있을지에 대한 많은 고민이 필요합니다.[0] 기본 개념 설명코덱(codec)은 어떠한 데이터 스트림이나 신호에 대해, 인코딩이나 디코딩, 혹은 둘 다를 할 수 있는 하드웨어나 소프트웨어를 일컫습니다. (위키) 우리가 컴퓨터(PC, 스마트폰 등)에서 다루는 영상은 다양한 형태(포맷)로 저장이되어 관리됩니다.따라서 한 기기에서 사용한 포맷이 다른 기기에서는 지원..

[Review] 시스템 디자인 스터디 6주차 후기

안녕하세요!K-DEVCON (이하 “데브콘”) 그로스 매니저 박종훈입니다. 이 글에서는 10/23 (목)에 진행된 스터디에서 나눈 이야기를 정리합니다. 이번 시간에는 “검색어 자동완성 시스템 설계”에 대한 이야기를 나눴습니다. 검색은 일상생활에서 많이 사용하는 서비스입니다. 하지만 그 기술을 깊게 다룰 기회는 많지 않습니다. 오늘 스터디에서는 단순 설계에서 더 나아가 실제로 사용되고 있는 기술들을 좀 더 깊게 다뤄보고 싶었지만, 알아야 하는 배경지식이 많아 쉽지만은 않았습니다. 그래서 최대한 이 글을 작성해보며 내용을 정리하고 넘어가고자 합니다. [1] 기본적인 시스템 설계일반적으로 시스템 디자인 설계 면접관련 자료들에서는 검색어 자동완성을 설계 할 때 트라이(Trie) 자료구조 사용하여 설계를 진행합..

[Review] 시스템 디자인 스터디 5주차 후기

안녕하세요!K-DEVCON (이하 “데브콘”) 그로스 매니저 박종훈입니다.🙋🏻‍♂️ 이 글에서는 10/16 (목)에 진행된 스터디에서 나눈 이야기를 정리합니다. 이번 시간에는 “채팅 시스템 설계” 이야기를 나눴습니다.[1] 채팅 시스템 설계채팅 시스템은 우리가 매일 쓰는 시스템 중 하나입니다. 메시지를 보내고, 파일을 공유하는 이 모든 과정이 너무나 자연스럽고 당연하게 느껴집니다. 하지만 이 편리함 뒤에는 우리가 상상하기 어려운 거대한 기술적 복잡성이 숨어있습니다. 전 세계 수많은 사용자가 동시에 주고받는 수십억 개의 메시지를 안정적으로 처리하기 위해, 엔지니어들은 어떤 문제와 마주하고 또 어떻게 해결했을까요? 기본적인 시스템 설계 채팅 시스템의 기본적인 설계는 다음과 같습니다. 상태 서비스(sta..

[Review] 시스템 디자인 스터디 4주차 후기

안녕하세요!K-DEVCON (이하 “데브콘”) 그로스 매니저 박종훈입니다.🙋🏻‍♂️ 이 글에서는 10/2 (목)에 진행된 스터디에서 나눈 이야기를 정리합니다. 이번 시간에는 “뉴스피드 설계” 이야기를 나눴습니다.뉴스피드 설계뉴스피드는 홈 페이지에 지속적으로 업데이트 되는 스토리들입니다. 사용자 정보 업데이트, 사진, 비디오, 링크, 앱 활동, 팔로우, 페이지, 좋아요 등 다양한 정보가 포함됩니다. 뉴스피드 시스템 설계는 유명한 면접 문제 중 하나입니다. 뉴스피드 시스템 설계에서는 빠른 응답을 위해 Cache를 적극적으로 사용하는 것이 특징입니다. 실제로 트위터의 경우 Redis를 적극적으로 사용한 것을 발표자료를 통해 엿볼 수 있습니다. (Timelines at Scale) 우리는 먼저 책에서 나오는..

[Review] 시스템 디자인 스터디 3주차 후기

안녕하세요!K-DEVCON (이하 “데브콘”) 그로스 매니저 박종훈입니다🙋🏻‍♂️ 이 글에서는 9/25 (목)에 진행된 스터디에서 나눈 이야기를 정리합니다.이번 시간에는 “웹 크롤러 설계” 과 “알림 시스템 설계” 이야기를 나눴습니다. — [1] 웹 크롤러크롤러 만들어본 경험 있는지, 현재 회사에서 관련되어 사용하는 부분이 있는지에 대해서 이야기를 나누며 시작 하였습니다. 커머스 도메인에 계신 한 분이 공유해주신 사례가 최저가 보상 서비스에 크롤링을 사용한다고 하셨습니다.최저가 보상이 단순 마케팅 용어인 줄 알았는데, 실제로 크롤링 기능으로 구현되는 사례라 흥미로웠습니다. 한 사이트만 크롤링하는 것은 비교적 간단합니다. 패턴을 잘 찾아서 크롤링을 하도록 하면 되는데요.반면에 정해지지 않은 사이트들..