모씨 서비스 구성에 대해
두줄요약
AWS와 다중 데이터베이스를 조합한 모씨 서비스의 운영 구성을 소개했습니다. 캐시·검색·비동기 처리와 성능 제약 대응 사례를 정리했습니다.
구조와 흐름
- AWS EC2·Ubuntu 기반 애플리케이션 서버와 ELB Auto Scaling 구성
- Flask 기반 메인 시스템, Django 기반 관리 시스템, Nginx·uWSGI·gevent 조합
- Celery 비동기 작업과 RabbitMQ 클러스터, Redis 캐시-DB 지연 동기화 파이프라인
선택 이유
- PostgreSQL 메인 데이터 저장소, MariaDB 해시태그 검색, MongoDB 로그성 데이터 분리
- S3 이미지 저장과 CloudFront CDN 배포
- CloudSearch와 MongoDB 지리 질의에서 Elasticsearch 중심 검색으로 전환
트레이드오프
- AWS 종속성 최소화 기조와 S3·CloudFront·ELB 등 필요한 관리형 서비스 활용
- MariaDB의 utf8mb4·인덱스 길이 제약을 통제된 모델링으로 수용
- MongoDB의 복잡한 쿼리·인덱스 증가에 따른 쓰기 성능 저하 주의
성능/운영 포인트
- EC2 CPU credit·EBS IOPS 한계 사전 검토 필요
- PostgreSQL 오토배큠·커넥션 풀링·커널 리소스 튜닝과 PgBouncer 활용
- ELB idle timeout 제약으로 RabbitMQ 로드밸런싱을 HaProxy로 분리
- New Relic 및 구성 요소별 도구를 통한 성능 모니터링

