[msa-perf-lab] MSA 성능 실험 프로젝트 - Flask & Go(Gin)
프로젝트 개요
Flask + Go(Gin) 기반 MSA 아키텍처 성능 실험 프로젝트를 시작한다. 서비스 목적이 아닌 성능 개선 및 측정/검증 프로젝트이며 UI/UX, 도메인, 비즈니스 로직 등을 철저히 제외하고 백엔드 고급 기술 + 성능 개선 및 측정에 목표를 둔다.
프로젝트 목적
- 이력서 & 포트폴리오 업그레이드 및 개인 실력 향상
주요 내용
- Flask & Go(Gin) MSA 아키텍처 설계 및 구현
- Flask & Go(Gin) 서버 간 Rest/gRPC 성능 측정
- Flask 단일 vs Flask & Go 성능 측정 (CPU 집약적 연산, 외부 API 호출, 대용량 데이터 처리 등)
- Docker/Docker compose 활용한 컨테이너 그룹화 및 Kubernetes 연동 컨테이너 오케스트레이션
- PostgreSQL vs MySQL 쿼리 성능 측정 (SELECT, JOIN, 서브쿼리 등)
- DB 인덱스 추가 전/후 성능 측정
- 메시지 큐 비동기 처리 활용 전/후 클라이언트 응답속도 측정
- Redis 캐싱 활용 전/후 성능 측정
- Prometheus, Grafana 활용해 측정 결과 시각화
기술 스택
언어/프레임워크: Python/Flask, Go/Gin
통신 프로토콜: RestAPI + gRPC
Database: PostgreSQL
Cache: Redis
Message Queue: RabbitMQ or Kafka
Infra: Docker/Docker Compose, K8s
Monitoring: Prometheus + Grafana
==========
이론적으로 알고 있어도 실제 써먹어볼 일이 없었던 백엔드 고급 기술들. 써본 적 없기에 취업시장에서 어필할 수 없었고, 내 이력서는 특별할 게 없었다. 때문에, 이번 기회에 철저히 구현, 활용, 검증을 거쳐 이력서에 추가할 것이다.
일단 2주 안에 완성하는 게 목표이긴 한데, 대부분 이론적으로만 알지 써본 적 없는 기술들이라 기간 안에 될 지 모르겠다. 기존 프로젝트 "썬카"를 고도화 할까 생각도 해 봤는데, 런칭하지도 않을 프로젝트 비즈니스 로직에 시간을 쏟는 것 보다는 진짜 "기술"에 집중하는 게 나을 거라고 판단했다.
