MSA 사례 및 사례 별 MSA 적용 절차 정리
2024. 2. 28. 16:31ㆍ기타
MSA 적용을 위해 MSA 사례를 조사하고 MSA 적용 절차를 정리한 문서입니다. 다양한 추가적으로 조사한 케이스가 생기면 업데이트 될 예정입니다.
사례
- NHN Payco
- 배달의민족
NHN Payco
참고 자료: https://www.youtube.com/watch?v=l195D5WT_tE
1. How?
- Repo 복제(Ctrl + C, V) - 쉽지만 무식한 방법(문제점을 똑같이 안고 감)
- 배포 시간 줄이기?
- 섞여있는 소스를 한땀 한땀 발라낸다 - 오래된 기반 프레임워크
- 시스템 업그레이드의 자유로움?
2. MSA 시작
현재 상황 파악 및 Plan
- 담당자 선정
- 비스 분리 범위 지정(어느 범위까지 MSA로 전환할 것인가?
- 도입 방법은 어떻게 할 것인가?
- 무엇부터 전환할 것인가?
기술 스택 조사
- 다른 사례들을 통한 트렌드 및 기술 조사
- 우리에게 맞는 기술 스택은 무엇인가
3. 사용하고 있는 기능 전수조사

4. 도메인 결합
- 이유: 개발 하면서 소스 중복이 생김
5. 기술 스택
Spring Cloud Netflix
- API Gateway: Zuul
- blocking 기반 동작
- Spring Cloud Gateway와 다른점
- non-blocking 기반
- Service Discovery: Eureka
- 각 서비스의 위치정보 저장
- 이후 Apache Zookeeper 로 통합
- Client side load Balncing: Ribbon
- Circuit Breaker: Histrix
초기 구조
Spring Cloud Netflix 사용 기술
Service Discovery 변경
- 기존에 사용하던 Apache Zookeeper를 재사용
6. 배포 설정 통합
- MSA는 배포의 자동화가 잘 이루어져 있어야 한다.
- Spring Cloud Config Server
- 각 서버들은 설정 파일들이 수정됨에 따라 빌드됨.
- @RefreshScope를 통해 갱신
CI/CD 자동화
- Docker Repository: Nexus Repository Manager 3
- Docker 에서 제공하는 repo 보다 다양한 기능 제공
- Maven Internal Registry(Private)
- Docker Internal Registry(Private)
- Maven Proxy Registry
- Docker Proxy Registry
- apt, bower, npm, pypi, yum …
- Build & Deploy
Monitoring
- nSight(NHN 사내 모니터링 툴)
- Scouter
- Grafana
- Scouter - xlog
2. 배달의 민족
'기타' 카테고리의 다른 글
Intellij Mybatis Mapper 경고(Warring) 표시 제거 (0) | 2024.03.12 |
---|---|
Intellij Plugin 정리 (0) | 2024.03.12 |
Airflow DockerCompose Test (0) | 2023.12.13 |
Chrome version Downgrade (0) | 2023.08.16 |
Google SearchConsole 등록방법 (0) | 2023.07.12 |