728x90
11번가 Spring Cloud 기반 MSA로의 전환 - 지난 1년간의 이야기
Why MSA in 11st?
2016년말 11번가는...
- 초대형 거대 Monolithic System
- 8년넘게 사용해 온 낙후된 S/W Stack
- 너무나 커진 200만 라인의 공통 모듈
- 폭증하는 트래픽으로 수년내에 감당하기 힘들것으로 예상되는 부하
이로 인해...
- 많은 개발팀의 코드를 한번에 배포
- 매주 목요일 밤샘 정기 배포, 잦은 장애
- 개발자들이 새로운 기술을 접해 볼 기회 원천 봉쇄
- JAVA 1.6, Spring 2.x or 외주 개발 Framework
- IDE에 띄우는 것 조차 버거운 개발 환경
- 200만 라인의 공통 코드로 인해 항상 메모리 부족
나의 과감한 수정은 전사 장애다!
어떻게 MSA를 도입할 것인가?
어떻게 서버 분리를 진행할 것인가?
- 잘 사용 되지 않는 코드까지 수정할 필요가 있을까?
- 새로운 Architecture에 대한 검증과 운영 경험 축적이 필요
- 재개발 중에도 Biz 요구사항은 계속 반영 되어야 한다
Project Vine
11번가 점진적 MSA 전환 Project
- Strangler Application Pattern
- 열대 우림 지역의 Strangler Vine에서 차용
- Legacy 교살 전략
- 새로운 Application은 독립된 API 서버로 개발
- Legacy와 함께 운영
- 위의 과정을 반복
Hybrid MSA in 11st
- 업무 도메인 별로 (혹은 더 잘게) 서버 분리
- Legacy 코드에서는 새로운 API 서버들을 호출
- 기존 코드와 새로운 API 호출은 DB Flag를 통해서 Switchable 하게
MSA 플랫폼 Solutions 선정
728x90
댓글