ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 중심 애플리케이션 설계
    책/데이터 중심 애플리케이션 설계 2023. 2. 12. 20:35

     

    요약

    분산시스템에서 일어날 수 있는 문제들

    • 네트워크로 패킷을 보낼땐 패킷은 손실되거나 임의대로 지연될 수 있다는 것을 항상 기억 해야 합니다.
    • 분산 시스템에 올라간 노드는 서로의 시간이 일치하지 않을 수 있습니다.
    • 노드의 응답 시간은 상당기간 동안 반환 되지 않을 수 있습니다. 이 경우, 다른 노드에 의해 죽었다고 판단될 수 해당 노드는 재시작 될 수도 있습니다. 다시 살아났더라도 멈췄다는 사실을 알지 못할 수 있습니다.

    부분 실패 가 생길 수 있다는 사실이 분산 시스템의 뚜렷한 특성입니다.

    대부분의 시스템은 노드에 장애가 발생했는지 알 수 있는 정확한 메커니즘이 없어서 대부분의 분산 알고리즘은 원격 노드를 아직 쓸 수 있는 지 결정하기 위해 타임아웃을 사용합니다.

    단일 노드에서는 오히려 이런 합의 알고리즘등을 생각하지 않아도 되니 여러가지 이점이 있을 수 있습니다.

    하지만 단일 노드에서는 장애가 발생했을 때 서비스 자체가 멈추는 문제도 발생하고, 짧은 지연 시간의 문제를 해결할 수 없다.

    9장에서는 이런 분산시트엠의 문제에 대처하도록 설계된 알고리즘을 살펴봅니다.

    추가로 알아보면 좋을 것들

    • 노드끼리의 시간은 어떻게 공유 될 수 있을까?
      • NTP 라는 프로토콜이 있는걸 확인했는데 이 방법에 대해 확인해보면 좋을 듯 하다

    댓글