의학에서 Split-Brain은 뇌 내부의 통신 기능 장애 상태를 말합니다. 뇌의 절반은 다른 절반의 행동을 인식하지 못합니다. 분산 컴퓨팅에서 Split-Brain은 클러스터의 활성 서버 간의 통신 손실을 나타냅니다. 이 경우 모든 하위 클러스터는 서로 간의 모든 동기화 및 하트비트 연결을 잃습니다.
기능하는 두뇌와 마찬가지로 분산 시스템에서 Split-Brain이 발생할 가능성은 정확히 동일합니다. 이러한 재난이 분산 시스템에 닥치면 시스템 관리자에게 정말 공포가 될 것이며 복구할 수 없습니다. 사용하지 않는 이상 NCache 분산 캐시로. 그래야만 희망이 있습니다.
스플릿 브레인 NCache 클러스터
NCache 클러스터 내 통신을 위해 상호 연결된 서버로 자가 치유 동적 클러스터를 생성합니다. 그러나 다른 분산 시스템과 마찬가지로 NCache 클러스터는 또한 직면할 수 있습니다 스플릿 브레인 하나 이상의 캐시 서버가 나머지 클러스터에서 연결이 끊어지고 하위 클러스터를 형성하는 문제. 그리고 뇌와 마찬가지로 클러스터는 반으로 나뉘며 각각은 상대방의 존재에 대해 아무것도 모릅니다.
NCache 세부 정보 분할 브레인 아키텍처 분할 뇌 복구 NCache
5개 노드의 클러스터를 예로 들어 보겠습니다. 클러스터는 잘 작동하고, 캐싱하고, 통신하고, 처리하지만 갑자기 네트워크 결함이 발생하여 완벽하게 실행되는 클러스터를 둘로 나눕니다.
클러스터에서 이런 일이 발생하면 클러스터의 두 절반은 다른 절반이 다운되었다고 가정하고 독립적으로 작동하기 시작하여 독립적인 하위 클러스터가 생성됩니다.
이 동작은 동기화 없이 클라이언트에 의해 업데이트되는 데이터의 자체 복사본을 갖는 양쪽 절반으로 이어집니다. 이는 애플리케이션에 캐시 작업 실패 및 데이터 무결성 문제가 있을 때 분산 캐시를 사용하는 목적을 무효화합니다.
NCache 세부 정보 분할 브레인 아키텍처 분할 뇌 복구 NCache
어떻게 NCache 스플릿 브레인에서 복구하시겠습니까?
Split-Brain에서 복구하는 첫 번째 단계는 클러스터에서 감지하는 것입니다. 그리고 당신에게 행운을, NCache 스플릿 브레인 발생을 자동으로 감지하는 기능이 있습니다. 방법은 다음과 같습니다.
NCache 클러스터를 구성하는 모든 캐시 서버에서 클러스터 구성원을 유지합니다. 따라서 서버 간 연결이 끊어질 때마다 전체 클러스터에 알림이 전송됩니다. 양쪽 절반(하위 클러스터)은 살아남은 클러스터라고 가정하고 저장된 데이터와 독립적으로 작업을 시작합니다. 성능을 방해하지 않도록 개별적으로 행동하는 것 외에도 하위 클러스터는 초기 클러스터를 다시 결합하기 위해 "잃어버린 클러스터"와 다시 연결하려고 계속 시도합니다. 그 동안 두 하위 클러스터는 클러스터의 상태를 나타내는 이벤트를 Windows 이벤트 로그에 기록합니다. 하위 클러스터는 특정 서버와의 연결이 끊어졌음을 이메일 알림을 통해 캐시 관리자에게 알릴 수도 있습니다.
이 시점까지 어느 쪽도 자신이 분할 두뇌를 만났다는 사실을 실제로 깨닫지 못합니다. 네트워크 연결이 복구되고 나서야 클러스터 분열의 원인을 마침내 이해하게 됩니다.
연결이 복원되고 서버가 서로 통신을 시작하면 누가 "승자" 클러스터가 될지 결정해야 합니다. 승자 클러스터는 기본적으로 다음 정렬 기준을 충족하는 클러스터입니다.
- 최대 노드 수를 포함하는 하위 클러스터입니다. 이것은 최소한의 데이터 손실을 보장하기 위해 수행됩니다.
- 두 부클러스터의 크기가 같은 경우 코디네이터 노드의 IP 주소가 작은 부클러스터가 승자클러스터로 간주된다.
일단 결정되면 "패자" 클러스터를 다시 시작하는 것은 승자 클러스터의 책임이며 redis새로운 노드 사이에서 데이터를 공물합니다. 이 모든 것을 통해 redis패자 클러스터는 데이터를 잃게 되지만 긍정적인 측면에서 승자 클러스터는 데이터를 유지합니다.
NCache 세부 정보 분할 브레인 아키텍처 분할 뇌 복구 NCache
스플릿 브레인 자동 복구 활성화
기본적으로 Split-Brain Auto Recovery 기능은 NCache 사용할 수 없습니다. 데이터가 완전히 손실될 수 없는 경우 이 기능을 활성화해야 합니다. 다음은 활성화할 수 있는 방법입니다. 스플릿 브레인 자동 복구 클러스터를 위해.
사용 NCache 웹 관리자
다음을 사용하여 캐시 클러스터에 대해 Split-Brain Recovery를 쉽게 활성화할 수 있습니다. NCache 웹 관리자. 에 제공된 도움말을 따릅니다. 분할 브레인 자동 복구 활성화 이 기능을 사용하려면
캐시 구성 파일 사용
분할 브레인 복구는 다음을 통해 활성화할 수 있습니다. NCache 구성 파일. 수동으로 편집 캐시 구성 여기에 언급된 단계에 따라 파일을 만드십시오. 수동으로 편집 NCache Split-Brain 복구를 위한 구성.
1 2 3 |
<cache-settings...> <split-brain-recovery enable="True" detection-interval="60"/> </cache-settings> |
NCache 세부 정보 분할 브레인 아키텍처 분할 브레인 자동 복구 활성화
간단히 말해서…
때때로 데이터를 처리하는 중에 캐시 클러스터에 클러스터를 하위 클러스터로 나누는 네트워크 결함이 발생합니다. 이 분할은 아무리 논리적이더라도 여전히 캐시된 데이터에 위협이 됩니다. 이 전체 시나리오는 의학 용어인 Split-Brain Syndrome과 유사합니다. 이 증후군이 클러스터에 미칠 수 있는 손상을 수정하려면 NCache Split-Brain Auto Recovery 기능의 형태로 해결 방법을 제공합니다. 당신이 가지고 있다면 NCache 클러스터가 반으로 나뉜 후에는 클러스터 관리에 대해 걱정할 필요가 없습니다. NCache 항상 하루를 저장합니다.