멀티테넌트 설계 고려 요소 설명
다중 테넌트 환경 설계에서 가장 먼저 결정해야 하는 건 데이터 격리 수준입니다. 테넌트별 DB 분리, 스키마 분리, 공유 테이블 + 테넌트 ID 구분 세 가지 방식이 있고 보안 요구사항과 비용 사이의 트레이드오프가 다릅니다. 그다음은 성능 격리입니다. 한 테넌트가 대량 트래픽을 발생시킬 때 다른 테넌트에 영향이 가는 '노이지 네이버' 문제를 막기 위해 리소스 제한과 우선순위 큐 설계가 필요합니다.
인증과 권한도 테넌트 경계가 명확히 분리되어야 합니다. 앞으로도 격리 수준, 성능, 보안 세 축을 함께 설계하는 방식을 유지하겠습니다. 설계 초기에 격리 수준을 결정하지 않으면 나중에 마이그레이션 비용이 큽니다. 앞으로도 격리 수준, 성능, 보안 세 축을 함께 설계하는 방식을 유지하겠습니다.
멀티테넌트 설계에서 격리 방식을 초기에 결정하지 않으면 나중에 마이그레이션 비용이 급격히 올라갑니다. 리소스 격리와 데이터 격리는 요구사항과 비용 사이의 트레이드오프를 명확히 판단해야 합니다.