피드로 돌아가기
Set per-customer send quotas with agent policies
Dev.toDev.to
Backend

Policy-Workspace 계층 구조를 통한 Multi-tenant 쿼터 관리 최적화

Set per-customer send quotas with agent policies

Qasim2026년 6월 28일13intermediate

Context

모든 고객에게 동일한 캡을 적용하는 단일 Quota 시스템으로 인한 인프라 과부하 및 Enterprise 고객의 요구사항 충족 불가 문제 발생. 애플리케이션 레벨에서 개별 계정의 전송 횟수와 저장 용량을 직접 추적함에 따른 데이터 불일치 및 운영 복잡도 증가.

Technical Solution

  • Policy → Workspace → Grant로 이어지는 계층적 상속 구조를 설계하여 쿼터 관리의 복잡도 제거
  • 쿼터를 개별 계정 속성이 아닌 Tier별 Policy 속성으로 정의하여 신규 테넌트 프로비저닝 시 Bucket 할당 방식으로 단순화
  • limit_count_daily_email_sent, limit_storage_total 등 핵심 제약 사항을 서버 사이드에서 강제하여 애플리케이션 로직의 분리 달성
  • 429 Too Many Requests 및 403 Forbidden 응답을 통한 Declarative한 리소스 제어 체계 구축
  • Workspace 단위의 Policy 교체만으로 데이터 마이그레이션 없이 즉각적인 Tier 업그레이드 구현

- 쿼터 관리 시 Application-level 카운터보다 Resource-level의 Declarative Policy 도입 검토 - Multi-tenant 설계 시 개별 설정(Per-tenant)이 아닌 그룹 기반 정책(Policy-based) 상속 구조 적용 - 스토리지 및 보관 주기(Retention) 제어를 백그라운드 Pruning 프로세스로 자동화하여 관리 오버헤드 감소

원문 읽기