데이터베이스는 복잡하고 장애가 발생할 수 있는 움직이는 부분이 많습니다. 동시에 대규모 시스템의 장애는 피할 수 없습니다. 이러한 장애는 스택의 언제 어디서나 발생할 수 있습니다. 그렇다면 이 모든 것이 미션 크리티컬 앱에 어떤 의미가 있을까요? 앱을 24시간 365일 계속 실행하려면 데이터베이스의 가용성이 높아야 하며 어떤 재해에도 복구할 수 있어야 합니다. 단일 노드, 랙 또는 전체 데이터센터에 장애가 발생하더라도 데이터베이스는 다운타임 없이 계속 작동해야 합니다. 미션 크리티컬 앱의 경우, 이는 데이터베이스가 충족해야 하는 높은 장애물이지만 장애는 선택 사항이 아닙니다.
여러 조직에서 미션 크리티컬 앱을 위해 프로덕션 환경에서 Couchbase Server를 성공적으로 사용하고 있습니다. 이 블로그에서는 고가용성 및 재해 복구 기능 등 Couchbase Server 2.5에서 발표한 "랙 인식"이라는 흥미로운 새 기능을 포함하여 Couchbase Server의 안정성을 높여주는 다양한 기능을 소개합니다. Couchbase Server 2.5에 대해 자세히 알아보려면 웨비나에 등록하세요. 여기
복제가 충분하지 않은 이유는 무엇인가요?
데이터 복제는 고가용성의 핵심이지만 그 자체만으로는 충분하지 않습니다. Couchbase에서는 각 문서가 최대 3회까지 복제됩니다(사용자가 구성한 복제 계수에 따라 다름). 그러나 데이터베이스 시스템의 고가용성을 위해서는 데이터뿐만 아니라 하드웨어, 소프트웨어, 데이터 등 모든 시스템 구성 요소가 고가용성을 갖춰야 합니다.
간단히 말해, 두 개 이상의 하드웨어가 있다고 해서 고가용성이 보장되는 것은 아닙니다. 하드웨어에 장애가 발생하더라도 시스템은 계속 작동할 수 있어야 합니다. 소프트웨어 구성 요소에 장애가 발생하더라도 계속 작동할 수 있어야 합니다. 예를 들어 Couchbase Server 2.5 이전 버전에서는 복제본 데이터가 클러스터의 모든 노드에 무작위로 배포되었으며, (N개의 노드가 포함된 클러스터의) 각 노드는 데이터 파티션의 약 1/N을 차지했습니다. 이러한 파티션의 복제본은 나머지 N-1 노드에 균등하게 분배되었습니다. 이러한 데이터 분포로 인해 물리적 랙에 장애가 발생하면 랙의 노드에 기본 데이터 파티션과 일부 파티션의 복제본 데이터가 모두 포함되어 있어 데이터를 사용할 수 없게 될 수 있습니다. 확실히 뭔가 다른 것이 필요했습니다...
카우치베이스 서버 2.5의 랙 인식
Couchbase 클러스터가 커지면 Couchbase 서버 노드를 둘 이상의 랙에 분산해야 합니다. 고가용성을 유지하려면 전체 랙의 장애에도 클러스터가 살아남도록 할 수 있습니다. 이렇게 하면 하나의 랙에 장애가 발생해도 데이터의 모든 사본을 사용할 수 없게 되지 않습니다.
카우치베이스 서버 2.5의 랙 인식 기능, 노드를 다음과 같이 구성할 수 있습니다. 서버 그룹 그룹에 속한 모든 서버가 단일 랙에 있는 경우입니다. 서버를 서버 그룹으로 그룹화하면 복제 데이터 파티션이 기본 파티션과 같은 랙에 있지 않게 됩니다. 예를 들어, 각각 3개의 서버 노드를 포함하는 3개의 서버 그룹이 있습니다. 클러스터에는 2개의 복제본(데이터 사본 3개)이 있고 복제본 사본은 서로 다른 랙에 있습니다. 모든 서버 그룹에는 동일한 수의 서버 노드가 있으므로 구성이 균형을 이룹니다.
<!-
<!-
->
<!-
그림 1: 카우치베이스 서버의 균형 잡힌 랙 인식 구성
->
랙에 장애가 발생하여 서버 노드가 장애 조치되면 다른 랙의 복제본이 활성으로 승격되어 앱이 데이터에 액세스할 수 있습니다.
-><!-그림 2: Couchbase Server의 랙 인식
->
다른 데이터베이스와 달리 Couchbase Server에서 랙 인식을 구성하는 것은 간단합니다. 서버 그룹을 생성하고 서버 노드를 특정 서버 그룹에 할당하기만 하면 됩니다. Couchbase Server의 랙 인식은 다음을 통해 구성할 수 있습니다. 관리 콘솔 를 사용하거나 REST 인터페이스.
랙 인식 또는 데이터센터 간 복제?
허리케인, 지진, DNS 장애, 번개 폭풍, 팻 핑거 등이 기존 데이터센터 인프라에서 발생한 대부분의 대규모 정전의 주요 원인이었습니다. 이러한 사건들은 우리에게 더 많은 것이 필요하다는 것을 가르쳐 줍니다. 안정성을 위한 플랜 B.
플랜 B는 재해 복구뿐만 아니라 고가용성을 갖춰야 합니다. 고가용성(HA)은 다운타임이 거의 없이 데이터를 사용할 수 있도록 보장하는 반면, 재해 복구(DR)는 재해에 대비하고 복구하는 것입니다.
점점 더 많은 기업이 미션 크리티컬 앱을 실행하기 위해 Couchbase를 사용함에 따라, 앱을 계속 실행하려면 노드 장애와 랙 장애를 넘어서는 것이 중요하다고 생각했습니다. 전체 데이터센터에 장애가 발생하더라도 앱의 데이터베이스는 계속 작동해야 합니다. Couchbase Server의 데이터센터 간 복제를 사용하면 복구 요구 사항에 가장 적합한 서로 다른 지역에 있는 두 데이터센터 간에 액티브-액티브 방식으로 데이터를 복제할 수 있습니다. Couchbase 2.5에서는 데이터센터 간 복제 채널 보안을 위한 지원을 추가하여 보안을 강화했습니다.
랙 인식은 Couchbase Server의 고가용성 기능인 반면, 데이터센터 간 복제는 재해 복구 기능입니다. 그렇다면 랙 인식 또는 데이터센터 간 복제가 필요할까요? 네, 둘 다 필요합니다!
2.5에 대해 자세히 알아보고 싶으신가요?
Couchbase Server 2.5는 가용성과 안정성 외에도 보안 및 연결 관리 영역에 몇 가지 멋진 기능을 추가한 흥미로운 릴리스입니다. 이러한 기능에 대해 자세히 알아보려면 예정된 출시 웨비나에 지금 등록하세요.
<!-
->
이러한 개선 사항 외에도 지원되는 모든 플랫폼에서 사용자 환경을 개선하는 몇 가지 다른 성능 및 안정성 수정 사항이 있습니다. 이번 릴리스에 대해 자세히 알아보려면 다음 문서를 참조하세요. 여기.
2.5를 사용해 보세요! 여기에서 다운로드: https://www.couchbase.com/download