4장. 3scale의 고가용성 지원을 위한 외부 Redis 데이터베이스 구성

중요

Red Hat은 외부 Redis 데이터베이스를 사용하는 3scale 구성을 지원합니다. 그러나 공식적으로 제로 다운타임에 대한 Redis 설정, 3scale의 백엔드 구성 요소 구성 또는 Redis 데이터베이스 복제 및 샤딩을 지원하지 않습니다. 콘텐츠는 참조용으로만 제공됩니다. 또한 Redis cluster mode는 3scale에서 지원되지 않습니다.

HA(고가용성)는 OpenShift Container Platform(OCP)에서 대부분의 구성 요소에 대해 제공됩니다.

참고

Red Hat 3scale API Management 배포에서 데이터베이스를 외부화하는 경우 애플리케이션에서 격리하고 데이터베이스 수준에서 서비스 중단에 대한 탄력성을 제공합니다. 서비스 중단에 대한 탄력성은 데이터베이스를 호스팅하는 인프라 또는 플랫폼 공급자가 제공하는 SLA(서비스 수준 계약)에 따라 다릅니다. 이는 3scale에서 제공되지 않습니다. 선택한 배포에서 제공하는 데이터베이스를 외부화하는 방법에 대한 자세한 내용은 관련 문서를 참조하십시오.

Red Hat 3scale API Management의 HA에 대한 외부 데이터베이스 구성 요소는 다음과 같습니다.

  • backend-redis: 통계 스토리지 및 임시 작업 스토리지에 사용됩니다.
  • system-redis: 3scale의 백그라운드 작업을 위한 임시 스토리지를 제공하며, system-app Pod의 Ruby 프로세스에 대한 메시지 버스로도 사용됩니다.

backend-redissystem-redis 모두 Redis Sentinel 및 Redis Enterprise에서 지원되는 Redis 고가용성 변형에서 작동합니다.

Redis Pod를 중지하거나 OpenShift Container Platform에서 중지하면 새 Pod가 자동으로 생성됩니다. 영구 스토리지는 Pod가 계속 작동하도록 데이터를 복원합니다. 이러한 시나리오에서는 새 pod가 시작되는 동안 약간의 다운타임이 발생합니다. 이는 여러 마스터 설정을 지원하지 않는 Redis의 제한 때문입니다. Redis가 배포된 모든 노드에 Redis 이미지를 사전 설치하여 다운타임을 줄일 수 있습니다. 이렇게 하면 Pod 재시작 시간이 빨라집니다.

다운 타임에 대한 Redis를 설정하고 3scale에 대한 백엔드 구성 요소를 구성합니다.

사전 요구 사항

  • 관리자 역할이 있는 3scale 계정입니다.

4.1. 제로 다운타임으로 Redis 설정

3scale 관리자로서 다운타임이 필요하지 않은 경우 OCP 외부에서 Redis를 구성하십시오. 3scale Pod의 구성 옵션을 사용하여 설정하는 방법은 여러 가지가 있습니다.

  • 자체 관리 Redis 설정
  • Redis Sentinel 사용: Redis Sentinel 문서 참조
  • Redis는 서비스로 제공됩니다.

    예를 들면 다음과 같습니다.

    • Amazon ElastiCache
    • Redis Labs
참고

Red Hat은 위에 언급된 서비스를 지원하지 않습니다. 이러한 서비스에 대한 언급은 Red Hat의 제품 또는 서비스를 보증한다는 의미는 아닙니다. 사용자는 Red Hat이 귀하의 외부 콘텐츠 사용 (또는 의존)으로 인해 발생할 수있는 손실 또는 비용을 부담하지 않는 것에 동의합니다.