PlatformUpdated 2025-04-01
Architecture Overview
전체 시스템 구성도 및 브랜드간 공유 레이어 설계.
ArchitectureMulti-tenantJWTNginxPM2
개요
CtrlPlus는 공장, 농장, 로봇을 하나의 플랫폼으로 통합하는 멀티 브랜드 수직 SaaS입니다. 각 브랜드(CtrlFarm, CtrlFactory, CtrlRobot)는 독립된 서비스로 운영되지만 공통 인프라(Auth, Gateway, DB)를 공유합니다.
전체 시스템 구성도
브랜드별 레이어 구조
공통 인프라
| 구성요소 | 기술 스택 | 역할 |
|---|---|---|
| Reverse Proxy | Nginx | 라우팅, SSL, 봇 차단 |
| Process Manager | PM2 | 서비스 무중단 운영 |
| Auth | Spring Boot + JWT | HttpOnly 쿠키 인증 |
| Database | MariaDB | 멀티테넌트 서비스 데이터 |
| Vector DB | PostgreSQL + pgvector | AI 임베딩 저장 |
| Message Broker | MQTT (Mosquitto/EMQX) | IoT 디바이스 텔레메트리 |
요청 흐름
멀티테넌트 설계 원칙
- 테넌트별 스키마 격리 — MariaDB 스키마 단위 분리
- 공통 Auth 서버에서
tenantId클레임 발급 - 각 서비스는
tenantId기반으로 데이터 필터링 - AI 에이전트는 테넌트별 벡터 네임스페이스 분리