캐싱 및 지속성 개요

이 페이지는 ApigeeApigee Hybrid에 적용됩니다.

Apigee Edge 문서 보기

Apigee 지속성 기능에는 캐시, 키-값 맵, 속성 집합이 포함됩니다. Apigee Hybrid를 사용하는 경우 Kubernetes 보안 비밀을 사용하여 민감한 정보를 유지할 수 있습니다.

기능 사용
캐시 범용 캐싱에 대한 정책을 사용하면 프록시에 필요한 모든 객체를 여러 요청/응답 세션에서 유지할 수 있습니다. 또한 ResponseCache 정책을 사용하여 백엔드 리소스의 응답을 캐시할 수 있습니다. 응답 캐싱은 백엔드 데이터가 주기적으로만 업데이트되는 경우에 특히 유용합니다. ResponseCache 정책으로 백엔드 데이터 소스에 대한 호출을 줄일 수 있습니다.
키-값 맵 키-값 맵(KVM)은 주기적으로 변경될 수 있는 데이터의 일반 런타임 저장소를 제공합니다. 예를 들어 사용자 세션 데이터, 장바구니 등이 있습니다. KVM 항목은 암호화할 수 있습니다.
속성 집합 속성 집합은 자주 변경되지 않는 구성 데이터를 저장하는 데 유용합니다.
Kubernetes 보안 비밀 (Apigee Hybrid 전용) 보안 비밀을 사용하여 사용자 인증 정보와 같은 민감한 정보를 저장합니다.

캐싱

환경 범위 캐시 리소스는 API 프록시 흐름 내에서 캐시 정책이 실행될 때 동적으로 생성됩니다. 캐시 정책에는 PopulateCache 정책, LookupCache 정책, InvalidateCache 정책, ResponseCache 정책이 포함됩니다.

캐시된 항목은 1초 동안 메모리(L1)에 유지됩니다. 이 구성을 변경할 수 없습니다. 1초 후에 캐시된 객체는 캐시가 만료될 때까지 사용 가능한 데이터베이스(L2)에 배치됩니다. 자세한 내용은 인메모리 영구 캐시 수준을 참조하세요. 캐시 정책 구성을 통해 만료 시간과 같은 캐시 세부정보를 관리합니다. 캐시 리소스를 나열 및 삭제할 수 있는 Apigee API가 제공됩니다.

캐시 정책을 사용하는 경우 캐시 키를 구성하여 캐시된 값 키의 고유성을 보장합니다. 구성 가능한 다른 값과 함께 캐시 키는 투입한 것과 동일한 데이터를 안정적으로 가져올 수 있는 방법을 제공합니다. 캐시 크기와 가용성에는 특정 한도가 적용됩니다.

캐시를 사용하여 다음을 수행할 수 있습니다.

  • 지연 시간 및 트래픽 감소: 요청이 더 짧은 시간 안이, 재사용된 표현으로 충족됩니다.
  • 트랜잭션 전체에서 데이터 유지: HTTP 트랜잭션 전체에서 재사용하도록 세션 데이터를 저장할 수 있습니다.
  • 보안 지원: 캐시 항목에 액세스 범위를 설정하여 특정 환경 또는 특정 API 프록시에서만 액세스할 수 있도록 합니다.

백엔드 응답 캐싱

ResponseCache 정책을 사용하여 백엔드 리소스의 응답을 캐시할 수 있습니다.

백엔드 데이터가 주기적으로만 업데이트되는 경우에 특히 유용합니다. ResponseCache 정책으로 백엔드 데이터 소스에 대한 호출을 줄일 수 있습니다.

ResponseCache 정책을 통해 Apigee가 특정 HTTP 응답 캐싱 헤더를 확인하도록 하고 헤더 지시문에 따라 조치를 취할 수 있습니다. 예를 들어 백엔드 대상의 응답에서 Apigee는 Cache-Control 헤더를 지원합니다. 무엇보다도 이 헤더를 사용하여 캐시된 응답의 최대 수명을 제어할 수 있습니다. 자세한 내용은 HTTP 응답 헤더 지원을 참조하세요.

단기 범용 캐싱

범용 캐싱에 대한 정책을 사용하면 프록시에 필요한 모든 객체를 여러 요청/응답 세션에서 유지할 수 있습니다.

PopulateCache 정책, LookupCache 정책, InvalidateCache 정책을 사용하여 런타임에 캐시된 데이터를 채우고 검색하고 플러시합니다.

예를 들어 다음 항목을 임시로 저장할 수 있습니다.

  • 세션 관리를 위한 세션 ID
  • 발신 통화의 사용자 인증 정보(예시: API 키 또는 OAuth 액세스 토큰)
  • 앱에 대해 페이지로 나눠야 하는 응답 콘텐츠

런타임에 캐시 정책에서 사용자가 지정한 프록시 변수 및 구성된 캐시 간에 값을 복사합니다. 값이 캐시에 배치되면 사용자가 지정한 변수에서 캐시로 값이 복사됩니다. 캐시에서 검색할 때 프록시에서 사용할 수 있도록 값을 변수로 복사합니다.

코드가 있는 예시는 예시: 범용 캐싱을 참조하세요.

Apigee API로 캐시 관리

캐시 API를 사용하여 캐시를 나열하고 삭제할 수 있습니다.

키 값 맵(KVM)이 있는 장기 지속성

구조화된 데이터를 암호화하거나 암호화하지 않은 상태로 무기한 저장하려면 임의의 키-값 쌍이 포함된 키-값 맵(KVM)을 만들고 채웁니다. 예를 들어 다음 항목을 저장할 수 있습니다.

  • IP 주소를 국가 코드로 연결하는 맵
  • 액세스가 허용/거부된 IP 주소 목록
  • 긴 URL을 단축 URL로 연결하는 맵
  • 할당량 수 및 OAuth 토큰 만료 시간과 같은 환경별 데이터

KVM은 조직, 환경, apiproxy와 같은 세 범위 중 하나를 사용할 수 있습니다. 예를 들어 조직의 모든 API에서 키-값 쌍이 사용되는 경우 조직 범위에서 KVM을 만듭니다. 또는 특정 API 프록시만 키/값에 액세스할 수 있어야 한다면 apiproxy 범위에서 KVM을 만듭니다. 자세한 내용은 키 값 맵으로 작업을 참조하세요.

속성 집합

속성 집합은 데이터를 저장하는 키-값 쌍의 커스텀 컬렉션입니다. API 프록시가 실행될 때 이 데이터를 검색할 수 있습니다.

일반적으로 속성 집합을 사용하여 구성 데이터와 같이 API 프록시 로직에 하드 코딩하지 않은 만료되지 않는 데이터를 저장합니다. 흐름 변수에 액세스할 수 있는 프록시의 모든 위치에서 속성 집합 데이터에 액세스할 수 있습니다.

속성 집합의 일반적인 사용 사례는 이런저런 환경과 연결된 값을 제공하는 것입니다. 예를 들어 테스트 환경에서 실행되는 프록시에 해당되는 구성 값으로 환경 범위 속성 집합을 만들고 프로덕션 환경에 대한 또 다른 속성 집합을 만들 수 있습니다.

자세한 내용은 속성 집합 사용을 참조하세요.

Kubernetes 보안 비밀

(Apigee Hybrid만 해당) 이미 민감한 데이터의 커스텀 Vault에 있는 보안 비밀 관리에 Kubernetes를 사용하고 있는 경우 Kubernetes 보안 비밀을 사용하는 것이 좋습니다. KVM 데이터와 마찬가지로 API 프록시 흐름 변수에 있는 Kubernetes 보안 비밀 데이터에 액세스할 수 있습니다. 자세한 내용은 Kubernetes 보안 비밀에 데이터 저장을 참조하세요.