분산시스템
-
분산 시스템 디자인ML engineer/System designs 2023. 1. 19. 01:17
🕓 3 mins read 작게든 크게든 소프트웨어 개발자라면 언젠가는 시스템 디자인의 각 요소들을 한번쯤은 접할 일이 생깁니다. 학생때 배우는 내용이거나, 채용 면접을 준비하면서 본 내용이거나, 직접 각 요소를 핸들링 해야하는 입장일 수 도 있겠죠. 어떤 경우든, 미리 다음의 큰 요소들은 머리속에 정리가 되어있다면, 제법 scalable한 시스템을 시스템을 디자인 하는데에 도움이 될것입니다. - 기본적으로 CS 배경 지식이 없다면, Karan Pratap Singh님의 시스템 디자인 프라이머도 한번 보시면 좋습니다. # 기본 요소 기본 요소라고 굳이 부르는 이유는, 향후에 시스템 디자인을 할때 다음 요소들을 한번 숙지 하고 나면, 시스템 각 요소의 구체적인 설계나 기능 명세를 모르더라도 전체 시스템의 기..
-
Consistency Model의 종류ML engineer/System designs 2023. 1. 2. 21:55
🕓 4 mins read # Consistency 분산 시스템 환경에서 consistency는 여러 가지 의미를 가질 수 있습니다. 한 가지는 각 레플리카 노드가 특정 시간에 항상 동일한 데이터 view를(동일한 read 결과를 내뱉는 것) 가지는 것을 의미하는걸 수 있죠. 또 다른 의미로는 여러 read request에 대해서 가장 최근에 write 된 값을 리턴하는 것을 의미할 수 있고요. Consistency를 보장하는 방법도 다양하기 때문에 이 두 가지 외에도 consistency에 대한 정의가 달라질 수 있습니다. 일반적으로 consistency model은 추상화된 개념으로 분산 시스템 내에서 read, write, modification등에 대해 어떤 동작이 적합한지 따져 볼 수 있도록 정의..