728x90 반응형 시스템 설계2 [가상 면접 사례로 배우는 대규모 시스템 설계 기초] 5. 안정 해시 설계 및 apache cassandra 가상 노드 살펴보기 이번 장에서는 수평적 분산 노드 설계를 가능하게 하도록 해시 함수를 통해 데이터를 서버에 분배하는 법을 설명해준다. 안정해시로 구성하는 DB가 Apache Cassandra, Amazon Dynamo DB 등 다양했다. 사실 그 두개의 DB를 잘 모르고 있었는데, 내부 설계를 살펴보고 이런 DB도 있구나 알게된 거 같아 좋은 기회라 생각됐다. 그럼 안정 해시 설계가 왜 나오게 된 건지, 그리고 해당 설계를 사용하고 있는 Apache Cassandra 클러스터에 데이터가 분산되는 방식을 살펴보자. rehash(해시 재분배) 문제우선 가장 기초적인 해시 함수이며 많은 사람들이 배웠을 Mod를 활용한 해시 함수가 예제로 나온다.server index = hash key % 서버 개수이 해시 함수는 서버가 다운.. 2024. 10. 4. [가상 면접 사례로 배우는 대규모 시스템 설계 기초] 처리율 제한 장치의 설계 가상 면접 사례로 배우는 대규모 시스템 설계 기초 책을 읽다가 처리율 제한 장치의 설계 파트를 공부하게 되었다.실제로 회사에서도 이벤트로 인해 사용자가 몰리는 상황에 처리율 제한을 하지 않아 사용자에게 빈 화면이 보이는 이슈가 있었던 적이 있었으며, 이를 방지하고자 서버를 증설한 경험이 있었다. 만일 처리율 제한 장치를 설정함으로써 임계치를 두고 사용자당 이를 넘지 않는 요청에 대해선 응답할 수 있게 처리해도 좋았을 거 같다. 물론 여기에는 트레이드 오프가 따르기 때문에 상황에 알맞은 알고리즘을 적용할 수 있도록 논의가 중요한 거 같다.또한 면접 상황에서 대규모 시스템 설계에 대해 질문받았을 때, 사용자 처리율 제한을 시키고자 하는 방법에 대해 구체적으로 답변하길 바랐던 적이 있어서 이 파트를 읽으면서 .. 2024. 9. 29. 이전 1 다음 728x90 반응형