📚 개발 도서/데이터 중심 애플리케이션 설계
-
[데이터 중심 애플리케이션 설계] 분산시스템의 골칫거리📚 개발 도서/데이터 중심 애플리케이션 설계 2025. 3. 2. 22:12
결함과 부분 장애단일 시스템은 결정적이다. (하드웨어가 올바르게 동작하면, 같은 연산은 항상 같은 결과를 낸다.)↔ 분산 시스템은 비결정적이다. (부분장애 → 어떨 때는 동작, 어떨 때는 실패)컴퓨터는 구현 기반이 되는 불분명한 물리적 현실을 감추고 수학적 완벽함을 갖고 동작하는 이상화된 시스템 모델을 보여준다.하지만, 네트워크로 연결된 여러 컴퓨터에서 실행되는 소프트웨어를 작성할 때는 근본적으로 상황이 다르다. 분산 시스템에서는 더이상 이상화된 시스템 모델에서 동작하지 않는다. 분산 시스템에서는 시스템의 어떤 부분은 잘 동작하지만 다른 부분은 예측할 수 없는 방식으로 고장날 수 있다.이를 부분 장애(partial failure)라고 한다. 부분 장애는 비결정적이라서 예측하기 어려운 문제를 일으킨다.클라..
-
[데이터 중심 애플리케이션 설계] 응답 시간 (p50, p95, p99)📚 개발 도서/데이터 중심 애플리케이션 설계 2023. 4. 13. 01:21
“전형적인” 응답 시간을 알고 싶다면 평균은 좋은 지표가 아니다. 얼마나 많은 사용자가 실제로 지연을 경험했는지 알려주지 않기 때문이다. 일반적으로 백분위를 사용하는 편이 좋다. 응답 시간 목록을 가지고 가장 빠른 시간부터 제일 느린 시가가지 정렬하면 중간 지점이 중앙값(median)이 된다. 사용자가 보통 얼마나 오랫동안 기다려야 하는지 알고 싶다면 중앙값이 가장 좋은 지표다. 중앙값 == 50분위(p50)사용자 요청의 절반은 중앙값 응답 시간 미만으로 제공되고, 나머지 반은 중앙값보다 오래 걸린다.사용자가 여러 개의 요청을 보내면 최소한 하나의 요청이 중앙값보다 느릴 확률이 50%보다 높다. 특이 값이 얼마나 좋지 않은지 알아보려면 상위 백분위를 살펴보는 것도 좋다.95분위, 99분위, 99.9분위가..
-
[데이터 중심 애플리케이션 설계] BASE와 ACID📚 개발 도서/데이터 중심 애플리케이션 설계 2023. 4. 12. 00:04
BASEBasically Available, Soft State, Eventually Consistent데이터 가용성과 데이터 처리 성능이 향상되도록 한다!Basically Available(가용성) : Master 서버에 장애가 발생해도, 여러 Slave 서버로 인해 무중단 서비스가 가능하다. (가용성을 제공한다.)Soft State(소프트 상태) : 각각의 데이터가 도달한 시점에 데이터가 갱신된다. (유연한 상태를 가진다.)Eventually Consistent(결과적 일관성)→ 시스템 부하 및 네트워크 속도에 따라 서버에 복제하는 시간이 다를 수 있으나, 최종적으로는 모든 서버에 데이터가 복제된다.복제 메커니즘에 의해 모든 서버에 데이터 복제가 동시에 실행될 수 없다.ACIDAtomicity, Co..