2012 만화 서비스 오픈 후기: 인프라 및 기술 스택

Source

  • Evernote/Technote scraps/2012-04-17 만화 서비스 오픈 후기 네이버 블로그.md

Summary

2012 년 웹 서비스 오픈 당시의 인프라 구축 및 기술 스택 선택 기준을 기록한 문서입니다. 한국 내 AWS 부재와 레이턴시 문제로 인해 NHN Business Platform(NBP) 을 IDC 로 선택했으며, 안정성과 지원 서비스를 중시했습니다. 소프트웨어는 Ubuntu Server, Django, MySQL(InnoDB), Nginx+uWSGI, Memcached 로 구성된 풀 오픈소스 스택을 사용했습니다. 특히 Django 캐싱 프레임워크의 썬더링 허드 문제와 Memcached 의 비영속성 한계에 대한 경험적 분석과 개선 방향을 제시합니다.

Key Points

  • 인프라: 한국 AWS 부재 및 Tokyo 리전 고레이턴시 문제로 NHN Business Platform(NBP) 선택. 이중화 지원, SIM 담당자, CDN 등 안정성 중시.
  • OS: Python 최신 버전 지원 및 개발/운영 환경 일관성을 위해 Ubuntu Server 11.04 x64 선택 (CentOS 대신).
  • Backend: Django 프레임워크 사용. ORM, 템플릿 엔진 내장 및 풍부한 문서/커뮤니티资源优势. django-compressor 및 cache framework 활용.
  • Database: MySQL InnoDB 사용. 트랜잭션 지원 중요. Row count 부재 주의 및 Slow Query 는 Memcached 로 우회.
  • Web Server: Apache+mod_python 대신 Nginx+uWSGI 채택. 정적 파일 처리 성능 및 메모리 효율성 우위.
  • Caching: Memcached 사용 중이나 재시작 시 캐시 미스 문제 존재. Redis(AOF 기반) 로의 전환 검토.
  • Custom Lib: 자체 개발 ANSI C 기반 파일 패키징 라이브러리 (npk) 를 통해 만화 이미지 암호화 및 패키징 수행.