Apigee 및 Apigee Hybrid 문서입니다.
Apigee Edge 문서 보기
Apigee는 지속성 및 빠른 검색을 위해 런타임 시 캐시에 데이터를 저장할 수 있는 기능을 제공합니다.
- 데이터는 처음에 L1 캐시라고 하는 메시지 프로세서의 인메모리 캐시에 저장됩니다.
- L1 캐시는 JVM 메모리의 비율로 예약된 메모리 양에 따라 제한됩니다.
- 캐시된 항목은 나중에 모든 메시지 프로세서에 액세스할 수 있는 L2 캐시에 유지됩니다. 자세한 내용은 아래 섹션에서 확인할 수 있습니다.
- L2 캐시에는 캐시 항목 수에 대한 엄격한 제한은 없지만 캐시할 수 있는 최대 항목 크기는 256KB로 제한됩니다. 최적의 성능을 위해 캐시 크기는 256KB가 권장됩니다.
안티패턴
이 특정한 안티패턴은 Apigee 내에서 현재 캐시 크기 제한을 초과할 때의 영향에 대해 설명합니다.
데이터가 256KB를 초과하면 다음과 같은 영향이 발생합니다.
- L2 캐시에서 256KB를 초과하는 항목을 사용할 수 없으므로 각 메시지 프로세서에서 처음 실행되는 API 요청은 원본 소스(정책 또는 대상 서버)에서 독립적으로 데이터를 가져와야 합니다.
- 대용량 데이터(256KB 초과)를 L1 캐시에 저장하면 플랫폼 리소스에 더 큰 부담이 가해지는 경향이 있습니다. 이렇게 하면 L1 캐시 메모리가 더 빠르게 채워지고 다른 데이터에 사용 가능한 공간이 줄어들게 됩니다. 따라서 원하는 만큼 적극적으로 데이터를 캐시할 수 없게 됩니다.
- 항목 수 제한에 도달하면 메시지 프로세서의 캐시된 항목이 삭제됩니다. 이렇게 하면 데이터를 해당 메시지 프로세서의 원본 소스에서 다시 가져오게 됩니다.
영향
- 크기가 256KB를 초과하는 데이터는 L2/영구 캐시에 저장되지 않습니다.
- 원본 소스(정책이나 대상 서버)에 대한 호출을 더 자주 하면 API 요청의 지연 시간이 늘어납니다.
권장사항
- 최적의 성능을 위해 256KB 미만 크기의 데이터를 캐시에 저장하는 것이 좋습니다.
- 256KB를 초과하는 데이터를 저장해야 하는 경우에는 다음을 고려합니다.
- 대규모 데이터 저장에 적합한 데이터베이스 사용
또는
- 데이터 압축
- 대규모 데이터 저장에 적합한 데이터베이스 사용