2015-01-15 3 views
0

여러 테넌트를 호스팅하는 서비스를 개발 중입니다. 이 서비스에는 여러 명의 임차인이 사용할 수있는 제한된 크기의 캐시가 있습니다. 개별 테넌트의 캐시 크기를 제한하고 싶지는 않습니다. 왜냐하면 전체 캐시 풀을 효과적으로 사용하지 않기 때문입니다. 하지만 개별 클라이언트에 제한을 두지 않으면 캐시를 남용 할 수 있습니다 (예 : 한 명의 임차인이 다시 검색되지 않을 데이터를 지속적으로 캐시 할 수 있음). 더 나은 접근 방법은 무엇입니까?멀티 테넌트 환경의 캐시

답변

0

IMHO,이 유스 케이스에는 여러 가지 요인이 있습니다. Redis와 같은 캐시 지불 모델을 사용하고 계신 것 같습니다.

세입자를 미리 알지 못하는 경우 어떻게 제한 할 수 있습니까? IFA 세입자가 즉석에서 합산하면 기존 세입자에게 이미 허용 된 캐시 크기를 축소 할 수 없습니다. 이상적으로 캐시는 임차인 ID 키를 기준으로 식별 할 수 있습니다. 따라서 임차인을 위해 캐시에 항목을 추가 할 때 각 저장소의 사용량이 증가합니다.

계량 된 캐시 사용량에 따라 요금을 청구하거나 customLRU 알고리즘을 사용하여 사용되지 않은 캐시를 제거하는 것이 좋습니다.

희망이 도움이됩니다.

관련 문제