중화사전망 - 구한말 사전 - 5분 안에 분류 및 일관성 이론을 이해하세요.
5분 안에 분류 및 일관성 이론을 이해하세요.
1. 강력한 일관성
이 일관성 수준은 사용자의 직관에 가장 부합합니다. 그러나 시스템이 작성해야 하는 내용은 사용자 경험이 좋습니다. , 구현은 종종 시스템 성능에 큰 영향을 미칩니다.
2. 약한 일관성
이 일관성 수준은 쓰기가 성공한 후 시스템이 기록된 값을 즉시 읽을 수 없도록 제한하거나 데이터를 얼마나 빨리 사용할 수 있을지 약속하지 않습니다. 일관성은 달성할 수 있지만 특정 시간 수준(예: 두 번째 수준) 이후 데이터가 일관된 상태에 도달할 수 있도록 최선을 다할 것입니다.
3. 최종 일관성
최종 일관성은 약한 일관성의 특별한 경우입니다. 시스템은 특정 기간 내에 데이터 일관성 상태에 도달할 수 있도록 보장합니다. 여기서 최종 일관성을 별도로 언급하는 이유는 약한 일관성에서 매우 존경받는 일관성 모델이면서, 대규모 분산 시스템에서 데이터 일관성에 있어서도 업계에서 높은 평가를 받는 모델이기 때문입니다.
분산 환경의 다양한 문제
분산 시스템 아키텍처는 등장 이후 많은 문제와 과제를 동반해 왔습니다.
1. 통신 예외
중앙집중형에서 분산형으로 진화하는 과정에서 네트워크 자체의 불안정성으로 인해 네트워크 요소가 불가피하게 도입되며, 추가적인 문제도 발생합니다. 분산 시스템은 다양한 노드 간의 네트워크 통신이 필요하므로 모든 네트워크 통신에는 네트워크 가용성 위험이 수반됩니다. 네트워크 광섬유, 라우터, DNS 및 기타 하드웨어 장비 또는 시스템을 사용할 수 없으면 최종 분산 시스템이 원활하게 실패하게 됩니다. 네트워크 통신. 또한, 분산 시스템의 다양한 노드 간 네트워크 통신이 정상적으로 진행될 수 있다고 하더라도 단일 시스템의 작동보다 지연 시간이 더 길어질 것입니다. 일반적으로 현대 컴퓨터 아키텍처에서 단일 시스템 메모리 액세스의 대기 시간은 나노초(보통 10ns) 정도인 반면 일반 네트워크 통신의 대기 시간은 약 0.1~1ms(메모리 액세스 대기 시간의 105배에 해당)라고 생각합니다. ) 이러한 큰 지연 차이는 메시지 전송 및 수신 프로세스에도 영향을 미치므로 메시지 손실 및 메시지 지연이 매우 일반적이 되었습니다.
2. 네트워크 분할
네트워크에 비정상적인 상황이 발생하면 분산 시스템의 일부 노드 사이의 네트워크 지연이 계속 증가하여 결국 모든 노드의 장애로 이어집니다. 분산 시스템을 구성하는 노드 중 일부 노드만 서로 정상적으로 통신할 수 있고 다른 노드는 통신할 수 없는 현상을 네트워크 파티셔닝이라고 합니다. 네트워크 분할이 발생하면 분산 시스템에 로컬 소규모 클러스터가 나타나게 되며, 극단적인 경우 이러한 로컬 소규모 클러스터는 데이터 트랜잭션 처리를 포함하여 원래 전체 분산 시스템을 완료해야 하는 기능을 독립적으로 완료하게 됩니다. 분산 시스템에서는 일관성이 매우 큰 과제를 안겨줍니다.
3. 세 가지 상태
위의 두 가지 사항에 대해 우리는 분산 환경에서는 네트워크에서 다양한 문제가 발생할 수 있다는 것을 배웠으므로 분산 시스템이 요청과 응답을 할 때마다 성공, 실패, 시간 초과라는 고유한 세 가지 상태 개념을 가지고 있습니다. 전통적인 독립형 시스템에서는 함수를 호출한 후 애플리케이션이 성공 또는 실패라는 매우 명확한 응답을 얻을 수 있습니다. 분산 시스템에서는 네트워크가 불안정하기 때문에 대부분의 경우 네트워크 통신이 성공 또는 실패 응답을 받을 수 있지만 네트워크에 이상이 발생하면 일반적으로 두 가지 상황이 발생할 수 있습니다.
(1) 네트워크 문제로 인해 요청이 수신자에게 성공적으로 전송되지 않았으나 전송 과정에서 메시지가 손실되었습니다.
(2) 수신자가 요청을 성공적으로 수신한 후 처리했지만, 발신자에게 응답을 피드백하는 과정에서 메시지 손실이 발생했습니다.
이러한 시간 초과가 발생하면 네트워크 통신 개시자는 현재 요청이 성공적으로 처리되었는지 확인할 수 없습니다.
4. 노드 장애
노드 장애는 분산 환경에서 흔히 발생하는 또 다른 문제입니다. 이는 분산 시스템을 구성하는 서버 노드의 다운타임 또는 "좀비"를 의미합니다. 일반적으로 경험에 따르면 모든 노드에는 장애가 발생할 가능성이 있으며 이러한 현상은 매일 발생합니다.
CAP 이론
고전적인 분산 시스템 이론입니다. CAP 이론은 분산 시스템이 일관성(C: 일관성), 가용성(A: 가용성) 및 파티션 허용오차(P: 파티션 허용오차)의 세 가지 기본 요구 사항을 동시에 충족하는 것은 불가능하다고 말합니다. 최대 2개 항목을 동시에 사용할 수 있습니다.
BASE 이론
BASE는 기본적으로 사용 가능, 소프트 상태 및 최종 일관성이라는 세 가지 문구의 약어입니다. BASE 이론은 CAP의 일관성과 가용성 사이의 균형의 결과입니다. 이는 대규모 인터넷 시스템의 분산 사례를 요약하여 파생되었으며 CAP 정리를 기반으로 점차 발전해 나가고 있습니다. BASE 이론의 핵심 아이디어는 강력한 일관성을 달성할 수 없더라도 각 애플리케이션은 자체 비즈니스 특성에 따라 적절한 방법을 채택하여 시스템의 최종 일관성을 달성할 수 있다는 것입니다.