RabbitMQ의 **virtual host(vhost)**는 단일 broker 내에서 논리적 격리 — queue, exchange, 권한을 위한 별도의 네임스페이스 — 를 제공합니다. 하나의 RabbitMQ 인스턴스가 여러 격리된 애플리케이션이나 환경을 제공할 수 있게 합니다.
virtual host란
VIRTUAL HOST (vhost) → RabbitMQ broker 내의 논리적으로 격리된 네임스페이스:
→ 각 vhost는 자체 queue, exchange, binding을 가짐 (다른 vhost와 격리됨)
→ 자체 권한(PERMISSION) (vhost별로 user에게 접근 권한 부여)
→ 하나의 물리적 broker 내의 별도 "가상 broker"와 같음
→ 단일 RabbitMQ 인스턴스를 격리된 환경으로 분할
왜 virtual host를 쓰는가
✓ 격리(ISOLATION) → 하나의 broker에서 애플리케이션/팀/환경 분리 (queue/exchange가
간섭하거나 충돌하지 않음)
✓ 멀티테넌시(MULTI-TENANCY) → 여러 앱이 broker를 공유하면서 분리 유지
✓ 환경 → 예: dev/staging을 위한 별도 vhost (공유 broker에서)
✓ 접근 제어 → vhost별로 user에게 권한 부여 (보안/분리)
✓ 조직화 → 관련 메시징 리소스 그룹화; 이름 충돌 회피
