임차인 격리 및 한계
임차인 격리 및 한계는 다중 임차인 아키텍처의 기초입니다. 목적: 따라서 한 임차인의 행동은 다른 임차인의 데이터, 보안 및 SLO에 영향을 미치지 않으며 리소스는 공정하고 예측 가능하게 분배됩니다. 아래는 데이터 수준에서 컴퓨팅 계획 및 사고 관리에 이르는 실제 솔루션 맵입니다.
1) 위협 모델 및 대상
위협
세입자 간 데이터 유출 (논리/캐시 별/로그를 통한).
"시끄러운 이웃": 한 클라이언트의 급증으로 인한 성능 저하.
특권 확대 (액세스 정책 오류).
빌링 드리프트 (사용 불일치 및 충전).
캐스케이드 실패 안전 시나리오 (하나의 사고로 인해 많은 사람들이 다운 타임으로 이어짐).
목표
데이터와 비밀의 엄격한 격리.
한계 제한/할당량 및 공정 계획.
투명한 감사, 관찰 및 청구.
세입자 당 사고 현지화 및 빠른 복구.
2) 절연 레벨 (엔드 투 엔드 모델)
1. 데이터
'테넌트 _ id' in 키 및 색인, 행 레벨 보안 (RLS).
암호화: KMS 계층 구조 → 테넌트 키 (KEK) → 데이터 키 (DEK).
효율성 (Pool) 을 위해 RLS가있는 공통 클러스터 인 요구 사항이 높은 별도의 체계/DB (Silo).
세입자 당 보존 정책 및 "잊을 권리", 암호화 파쇄 키.
2. 계산
CPU/RAM/IO 할당량, 임차인 당 작업자 풀, 가중 대기열.
GC/힙 격리 (JVM/런타임 컨테이너/설정), 병렬 처리 한계.
임차인 당 자동 스케일링 + 후압.
3. 네트워크
세분화: 개인 엔드 포인트/VPC, '테넌트 _ id' 별 ACL.
국경의 요율 제한 및 임차인 연결 한도.
계획/우선 순위를 고려하여 DDoS/봇으로부터 보호하십시오.
4. 운영 및 프로세스
임차인 마이그레이션, 백업, DR, 기능 플래그.
사건- "마이크로 블라스트 반경": '테넌트 _ id' 에 의한 융합.
3) 액세스 제어 및 임차인 컨텍스트
권한: OIDC/SAML; 토큰에는 'tenit _ id', 'org _ id', 'plan', 'scopes' 가 있습니다.
AuthZ: RBAC/ABAC (프로젝트, 부서, 지역의 역할 + 속성).
국경의 맥락: API 게이트웨이는 테넌트 컨텍스트를 추출하고 검증하며 제한/할당량으로 보충하며 트레일에 기록합니다.
"이중 잠금" 의 원리: + RLS 서비스/데이터베이스 정책 확인.
4) 데이터: 체계, 캐시, 로그
계획:- 공유 스키마 (행 수준): 최대 효율성, 엄격한 RLS가 필요합니다.
- 스키마 당: 격리/운영성 트레이드 오프.
- Per-DB/cluster (Silo): VIP/규제 용.
캐시: 키 접두사의 테넌트: {id}:... ', 계획에 따른 TTL, 캐시 스탬피드 보호 (잠금/조기 새로 고침).
로그/메타 데이터: PII의 전체 가명, '테넌트 _ id' 의 필터, 다른 테넌트의 "접착" 로그 금지.
5) 트래픽 및 운영 제한
기본 역학
토큰 버킷: 매끄러운 버스트, 매개 변수화 '속도 '/' 버스트'.
새는 버킷: 안정화 처리량.
고정 창/슬라이딩 창: 시간 창의 단순/정확한 할당량.
동시성 한계: 동시 요청/bs에 대한 한도.
신청할 곳
국경에서 (L7/API 게이트웨이) - 기본 보호 및 "빠른 고장".
두 번째 회로와 "공정한 공유" 를위한 핵심 (서비스/대기열).
정책
테넌트/플랜/엔드 포인트/운영 유형 (공개 API, 대량 수출, 관리 조치).
우선 순위 인식: VIP는 중재에서 더 많은 '버스트' 와 무게를 얻습니다.
안전한 퇴각을위한 이데올로기 키.
샘플 프로필 (개념)
초보자: 50 req/s, 버스트 100, 2 병렬 수출.
사업: 200 req/s, 버스트 400, 5 수출.
엔터프라이즈/VIP: 1000 req/s, 버스트 2000, 전담 근로자.
6) 쿼타 및 공정 계획 (공정성)
리소스 할당량: 스토리지, 객체, 메시지/분, 작업/시간, 대기열 크기.
가중 박람회 Queuing/Deficit Round Robin: 공동 근로자에 대한 "가중" 액세스.
임차인 당 작업자 풀: 시끄러운/중요한 고객을위한 엄격한 격리.
입학 제어: 할당량이 소진되면 실행 전 고장/저하.
백오프 + 지터: 버스트가 동기화되지 않도록 지수 지연.
7) 임차인 당 관찰 및 청구
필요한 태그는 '테넌트 _ id', '플랜', '지역', '엔드 포인트', '상태' 입니다.
임차인 당 SLI/SLO: p95/p99 대기 시간, 오류율, 가용성, 활용도, 채도.
사용 지표: CPU 작동/바이트/두 번째 카운터 → 애그리 게이터 → 송장.
청구 demmpotence: 국경에서의 스냅 샷, 이중 쓰기/이벤트 손실에 대한 보호.
세그먼트의 대시 보드: VIP/규제/신규 임차인.
8) 사건, 저하 및 DR "세입자 별"
'테넌트 _ id' 에 의한 융합: 나머지에는 영향을 미치지 않고 특정 테넌트의 긴급 종료/스로틀 링.
우수한 분해: 읽기 전용 모드, 샌드 박스 대기열, 지연된 작업.
임차인 당 RTO/RPO: 각 계획의 복구 및 손실 목표.
드릴: 시끄러운 테넌트가 차단되고 DR이 확인 된 정규 "게임 일"
9) 준수 (거주, 개인 정보 보호)
이 지역에 임차인을 고정; 명확한 교차 지역 흐름 규칙.
키/데이터 액세스 감사, 관리자 로깅.
임차인 당 보존 및 데이터 내보내기 관리.
10) 미니 참조: 조립하는 방법
요청 흐름
1. Edge (API 게이트웨이): SL → extrax 'tenant _ id' → 토큰 유효성 → 요율/할당량 → 트레일을 적용합니다.
2. 정치 엔진: 경로 및 한계에 대한 문맥 '테넌트 _ id/계획/기능' → 결정.
3. 서비스: RLS → 캐시에서 접두사가있는 데이터베이스로 작업하는 권한 + 레이블 'tenant _ id' → 확인
4. 사용 수집: 운영/바이트 → 애그리 게이터 → 청구 카운터.
데이터
전략 별 스키마/DB (행 레벨/스키마 당/DB 당).
KMS: 테넌트 키, 회전, 삭제시 암호화 파쇄.
컴퓨팅
무게가있는 대기열, 임차인 당 근로자 풀, 동시성 한도.
임차인 당 지표에 의한 자동 스케일.
11) 의사 정치 (오리엔테이션)
yaml limits:
starter:
req_per_sec: 50 burst: 100 concurrency: 20 exports_parallel: 2 business:
req_per_sec: 200 burst: 400 concurrency: 100 exports_parallel: 5 enterprise:
req_per_sec: 1000 burst: 2000 concurrency: 500 exports_parallel: 20
quotas:
objects_max: { starter: 1_000_000, business: 20_000_000, enterprise: 100_000_000 }
storage_gb: { starter: 100, business: 1000, enterprise: 10000 }
12) 사전 판매 점검표
- 진실의 단일 출처 '테넌트 _ id'; 모든 곳에서 던져지고 기록됩니다.
- DB 레벨 + 서비스 점검 (이중 잠금) 에서 RLS/ACL을 사용할 수 있습니다.
- 임차인 당 암호화 키, 암호화 파쇄 문서화.
- 국경과 내부의 한계/할당량; 버스트와 "버스트" 를 테스트했습니다.
- 공정한 큐잉 및/또는 전담 VIP 근로자; 모자 не동시성.
- 임차인당 SLO 및 경고; 세그먼트 별 대시 보드.
- 사용 수집은 demmpotent입니다. 청구 롤업이 확인되었습니다.
- DR/사고는 세입자에게 국한됩니다. '테넌트 _ id' 에 의한 융합 작업.
- 현금/로그는 세입자로 나뉩니다. PII 마스크.
- 마이그레이션/백업/내보내기 절차는 세입자 기반입니다.
13) 전형적인 오류
RLS는 "서비스" 사용자-누출 위험에 의해 비활성화/우회됩니다.
단일 글로벌 리미터 → "잡음 이웃" 및 SLO 위반.
접두사가없는 공유 캐시/대기열 → 데이터 교차점.
청구는 최고점에서 손실 된 통나무로 계산됩니다.
테넌트 융합 부족-캐스케이드가 떨어집니다.
문제가있는 '테넌트 _ id' 를 막을 수있는 능력없이 "한 번에 급락했습니다".
14) 빠른 전략 선택
규제/VIP: Silo 데이터 (DB 당), 전담 근로자, 엄격한 할당량 및 거주지.
Mass SaaS: 공유 스키마 + RLS, 국경에서의 강력한 한계, 내부의 공정한 대기.
"잡음/맥동" 로드: 계획에 따라 큰 '버스트' + 하드 동시성 캡, 역압 및 우선 순위.
결론
세입자와 한계의 격리는 경계와 정의에 관한 것입니다. 데이터에 대한 스택, RLS 및 암호화, 국경 및 핵심, 공정한 스케줄러, 관찰 및 현지화를 통해 '테넌트 _ id' 를 지우십시오.이 모든 것이 각 테넌트에 대한 보안, 예측 가능한 품질 및 투명한 청구를 제공합니다. 적극적인 플랫폼 성장.