>  기사  >  데이터 베이스  >  Redis 스플릿 브레인에는 몇 개의 노드가 있습니까?

Redis 스플릿 브레인에는 몇 개의 노드가 있습니까?

(*-*)浩
(*-*)浩원래의
2019-11-30 10:32:542319검색

Redis 스플릿 브레인에는 몇 개의 노드가 있습니까?

redis 클러스터 분할 브레인이란 무엇입니까?

Redis 클러스터 브레인 분할은 네트워크 문제로 인해 Redis 마스터 노드, Redis 슬레이브 노드 및 Sentinel 클러스터가 서로 다른 네트워크 파티션에 있다는 것을 의미합니다. 이때 Sentinel 클러스터는 마스터의 존재를 감지할 수 없기 때문입니다. , 슬레이브 노드가 마스터 노드로 승격됩니다. (추천 학습: Redis 동영상 튜토리얼)

이때 하나의 두뇌가 두 개로 나뉘는 것처럼 서로 다른 두 개의 마스터 노드가 있습니다.

클러스터 분할 브레인 문제에서 클라이언트가 원래 마스터 노드를 기반으로 계속 데이터를 쓰면 새 마스터 노드가 데이터를 동기화할 수 없게 됩니다. 네트워크 문제가 해결되면 센티넬 클러스터가 해당 마스터 노드를 강등합니다. 원래 마스터 노드에서 슬레이브 노드로 데이터를 동기화하는 경우 이때 새 마스터의 데이터를 동기화하면 많은 양의 데이터 손실이 발생합니다.

해결 방법

redis 구성 파일에는 두 개의 매개 변수가 있습니다

min-slaves-to-write 3<br/>min-slaves-max-lag 10<br/>

첫 번째 매개 변수는 마스터에 연결된 슬레이브의 최소 수를 나타냅니다.

두 번째 매개 변수는 슬레이브가 마스터에 연결하는 데 걸리는 최대 지연 시간을 나타냅니다. master

마스터에 연결된 슬레이브 수가 첫 번째 매개변수보다 적고 핑 지연 시간이 두 번째 매개변수보다 작거나 같으면 마스터는 이 두 매개변수를 구성한 후 쓰기 요청을 거부합니다. 클러스터 브레인 분할이 발생하면 원래 마스터 노드는 클라이언트의 쓰기 요청을 거부하므로 데이터 동기화 후 데이터 손실을 줄일 수 있습니다.

참고: 최신 버전의 redis.conf 파일에 있는 매개변수는

min-replicas-to-write 3<br/>min-replicas-max-lag 10<br/>

가 되었습니다. Redis에서 비동기 복제의 경우 데이터 손실 문제는 이 두 매개변수를 사용할 수도 있습니다.

Redis 관련 기술 기사를 더 보려면 를 방문하세요. Redis 시작하기 튜토리얼 칼럼을 배워보세요!

위 내용은 Redis 스플릿 브레인에는 몇 개의 노드가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.