PlatformUpdated 2026-04-03

Backend Springboot Architecture

IoT SaaS Platform Backend Design (FastAPI + Spring + PostgreSQL + Redis + MQTT)

ESP32-S3PlatformIOFreeRTOS

🚀 Spring Boot Backend Architecture

1️⃣ Overview

Spring Boot는 다음 역할을 담당합니다:

  • 인증 / 인가 (JWT + RBAC)
  • 사용자 / 조직 / 테넌트 관리
  • 관리자 API
  • Billing / Subscription
  • 기업 통합 API
  • 감사 로그

👉 AI / 대용량 데이터 처리는 FastAPI로 분리 가능


🏗 2️⃣ Tech Stack

Core

  • Spring Boot 3.x
  • Spring Security 6
  • JPA (Hibernate)
  • PostgreSQL
  • Redis
  • MQTT Client (Paho)
  • Lombok
  • MapStruct

Optional

  • QueryDSL
  • Spring Batch
  • Kafka
  • Keycloak (외부 인증)

🔐 3️⃣ Security Architecture

JWT 인증 흐름


SecurityConfig 기본 구조

Java

🏢 4️⃣ Multi-Tenant 구조

전략 1️⃣ tenant_id Column 방식 (추천)

모든 주요 테이블에 tenant_id 추가

Java

Hibernate Filter 적용 가능

Java

🗄 5️⃣ Core Entity 설계

User

Java

Device

Java

📡 6️⃣ MQTT 연동

Spring Boot에서 MQTT 구독:

Java

Topic 설계

iot/{tenantId}/{deviceId}/telemetry iot/{tenantId}/{deviceId}/event iot/{tenantId}/{deviceId}/control

🔄 7️⃣ Service Layer 구조

controller/ service/ repository/ dto/ mapper/ config/ security/ mqtt/

예시 Service

Java

📊 8️⃣ Redis 전략

사용 목적:

  • Refresh Token 저장
  • 로그인 세션 관리
  • Rate Limit
  • Device 상태 캐시

📈 9️⃣ 확장 전략

단계별

단계구조
초기단일 Spring Boot
성장Auth 분리
확장Microservices
대규모Kafka + Event Driven

🐳 🔟 Docker 구성

YAML

☸ 1️⃣1️⃣ Kubernetes 구조

  • spring-api deployment
  • worker deployment
  • redis
  • postgres
  • ingress

🛡 1️⃣2️⃣ 보안 전략

  • HTTPS 필수
  • Role 기반 접근
  • Tenant Isolation
  • API Rate Limit
  • 감사 로그 저장

🧠 1️⃣3️⃣ FastAPI와 역할 분리 전략

SpringFastAPI
인증AI 분석
Admin대용량 데이터
BillingML 모델
RBAC실시간 분석

🏁 Conclusion

Spring Boot는:

  • 엔터프라이즈 인증
  • 멀티테넌트 SaaS
  • 기업 통합 API
  • 보안 중심 설계

에 최적화된 백엔드입니다.