Skip to main content

Posts

Showing posts from April, 2025

MCP 아키텍처 선언 — 플랫폼의 새로운 청사진

MCP 아키텍처 선언 — 플랫폼의 새로운 청사진 요약: 기존 구조를 완전히 폐기하고, REINDEERS의 모든 시스템은 MCP(Modular Cloud Platform) 형태로 재설계되었다. 각 모듈은 독립 배포, 자동 복구, 글로벌 라우팅이 가능하며, Tencent Cloud 기반의 멀티 리전 구조로 운용된다. 1. MCP(Modular Cloud Platform) 개요 MCP는 REINDEERS의 핵심 인프라 아키텍처로, 모든 기능을 독립된 모듈로 분리하고, 각 모듈이 자체 CI/CD 파이프라인을 통해 배포되며, 장애 시 자동으로 재배포 및 복구되는 구조를 목표로 설계되었다. 모듈화: 모든 서비스(API, AI, 물류, 결제, WMS 등)는 컨테이너 단위로 격리 복제: 리전 간 데이터 실시간 복제 (DTS + GTID 기반) 자동화: Drone CI/CD, COS 업로드, CDN 캐시 자동 무효화 보안: IAM 최소 권한, HTTPS + mTLS 내부 통신, VPC 내 Private Endpoint 2. 글로벌 인프라 구조 — 홍콩 메인 / 서울 DR REINDEERS MCP는 Tencent Cloud 상에 구축되어 있으며, 홍콩(ap-hongkong)을 메인 리전, 서울(ap-seoul)을 재해복구 리전으로 구성한다. 데이터는 TencentDB for MySQL 의 DTS(Data Transmission Service) 를 통해 실시간으로 비동기 복제된다. 아키텍처 구성 [Global Routing] DNSPod Geo Routing (TTL=60s, Health Monitor Enabled) ↓ [ap-h...

새로운 출발을 위한 점검 — 4년의 코드를 다시 열어보다

새로운 출발을 위한 점검 — 4년의 코드를 다시 열어보다 요약: 기존 AWS 싱가포르 기반의 React + Java 구조를 완전히 해체하고, Tencent Cloud 로 전환했다. 프런트는 Nuxt + Vue3 로 재구성, 배포는 Drone CI/CD 와 COS/CDN 자동화로 처리한다. 백엔드는 내부 전용 서비스로 비공개 운영한다. 1. 초기 상황 — AWS 싱가포르, 복잡하게 얽힌 실험의 흔적 REINDEERS 초기 버전은 AWS ap-southeast-1 (Singapore) 리전 위에서 운영되었다. 하지만 이는 서비스 운영을 위한 구조가 아니라 “학습” 중심의 환경에 가까웠다. EC2, S3, RDS, CloudFront, Lambda 등 AWS 주요 기능이 모두 혼재했지만, 어떤 구성요소도 서로 명확히 연결되어 있지 않았다. 인프라 구성 예시 (기존 AWS) VPC (10.0.0.0/16) ├── Subnet-Public (10.0.1.0/24) │ ├── EC2: react-build-server │ └── EC2: spring-api-server ├── Subnet-Private (10.0.2.0/24) │ ├── RDS: mysql-v1 │ └── ElasticCache: disabled └── SecurityGroup: default (80/443 open to 0.0.0.0/0) IAM은 Root Key로 접근했고, Auto Scaling Group은 설정만 되어 있을 뿐 실제 트리거가 비활성화되어 있었다. CloudFront는 S3 버킷에 연결되어 있었지만, TTL(캐시 수명) 설정이 24시간으로 고정되어 실시간 반영이 어려웠다. API 응답 속도는 태국에서 평균 620ms, 말레이시아에서 710ms...