SlideShare a Scribd company logo
1 of 16
MSA
IT 임익환
목차
MSA
1. 개요
2. MSA 예시
3. MSA 도입 전략
MSA 개요
목차
1. MSA란 무엇인가
2. Monolitic 아키텍쳐의 특징
3. MSA의 특징
MSA란?
 시스템을 여러 개의 독립된 서비스로 나누고
이를 조합하여 기능을 제공하는 디자인 패턴
전통적인 Framework
Monolithic 특징
특징
모든 구성요소가 한 프로젝트 안에 통합된 형태
문제점
 프로젝트 규모가 커질수록, 개발자가 많아질 수록 한계 (conflict)
 하나의 Framework를 사용해야 함
 빌드 / 배포 시간이 오래 걸림 예) 현재 홈페이지
 규모가 클 경우 수정이 어렵다
 “문제 해결보다 코드 해석에 집중하게 된다.”
MSA
MSA 특징
특징
 클라우스, 도커의 유행으로 재조명되었음
 세부사항을 추상화하고 Endpoint로만 통신한다.
장점
 팀 단위로 기술 스택을 다르게 가져갈 수 있음
 Scale-up이 쉽다
 빌드 / 배포가 빠르다
단점
 개발 복잡도가 높다
 배포가 어렵다 (서비스들이 연계되어 동작하기 때문)
유행하는 Framework
MSA 예시
목차
1. MSA를 사용하고 있는 회사
MSA 예시
Frontend 예시
 https://www.naver.com/
Backend
 쿠팡,
MSA 도입 전략
목차
1. 만약 현재 시스템에 MSA를 도입한다면?
설계 전략 Front
Front
 EN, KR 분리 - 의존성 분리 효과를 얻을 수 있다
 그 외의 페이지는 큰 역할이 없기에 분리하면 손해
설계 전략 Back
 하나의 서비스는 하나의 역할만 해야함
비즈니스 로직 별 분리
 USER 서버 - user에 대한 모든 것
 로그인 서버 - 로그인, 가입, 메일인증 등
 GOODS 서버 - 상품 관리, 판매
 파일 서버 - 파일 업로드 다운로드
career, qna, contact 등 구조 개선 필요
예 ) Career과 qna둘다 유저가 요청하는 api
HomepageController.java <<
구조 개선 장단점
장점
 서비스를 하나씩 분리하여 원하는 기술을 도입하기 쉽다.
Mybatis -> JPA
Java -> Kotlin
문제점
 DB도 서비스마다 독립되기 때문에 JOIN하기가 어렵다.
 Table Join에 대한 전략 구상 필요
 Endpoint가 많아진다
 api URL을 한곳으로 모아주는 라이브러리 도입 필요
끝
목차

More Related Content

Similar to MSA 세미나.pptx

Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기jbugkorea
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가VMware Tanzu Korea
 
MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스DoHyun Jung
 
오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장JamGun
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐Terry Cho
 
[오픈소스컨설팅]오픈소스메일시스템
[오픈소스컨설팅]오픈소스메일시스템[오픈소스컨설팅]오픈소스메일시스템
[오픈소스컨설팅]오픈소스메일시스템Ji-Woong Choi
 
[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략Ji-Woong Choi
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureYoonsung Jung
 
2015 Open Cloud Engine Handbook
2015 Open Cloud Engine Handbook2015 Open Cloud Engine Handbook
2015 Open Cloud Engine HandbookuEngine Solutions
 
Developer`s Web Standard
Developer`s Web StandardDeveloper`s Web Standard
Developer`s Web StandardSangHoon Han
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)중선 곽
 
[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개HYUN-JOO LEE
 
서버 아키텍처 이해를 위한 프로세스와 쓰레드
서버 아키텍처 이해를 위한 프로세스와 쓰레드서버 아키텍처 이해를 위한 프로세스와 쓰레드
서버 아키텍처 이해를 위한 프로세스와 쓰레드KwangSeob Jeong
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?NAVER Engineering
 
[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장sung ki choi
 

Similar to MSA 세미나.pptx (20)

Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기
 
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
Sencha ExtJS를 활용한 Big Data Platform 개발 사례 Sencha ExtJS를 활용한 Big Data Platform 개발 사례
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가
 
Bounded Context
Bounded ContextBounded Context
Bounded Context
 
MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스
 
오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
 
[오픈소스컨설팅]오픈소스메일시스템
[오픈소스컨설팅]오픈소스메일시스템[오픈소스컨설팅]오픈소스메일시스템
[오픈소스컨설팅]오픈소스메일시스템
 
[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
2015 Open Cloud Engine Handbook
2015 Open Cloud Engine Handbook2015 Open Cloud Engine Handbook
2015 Open Cloud Engine Handbook
 
Developer`s Web Standard
Developer`s Web StandardDeveloper`s Web Standard
Developer`s Web Standard
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
 
[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개
 
서버 아키텍처 이해를 위한 프로세스와 쓰레드
서버 아키텍처 이해를 위한 프로세스와 쓰레드서버 아키텍처 이해를 위한 프로세스와 쓰레드
서버 아키텍처 이해를 위한 프로세스와 쓰레드
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
 
2020.02.06 우리는 왜 glue를 버렸나?
2020.02.06 우리는 왜 glue를 버렸나?2020.02.06 우리는 왜 glue를 버렸나?
2020.02.06 우리는 왜 glue를 버렸나?
 
[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장
 

MSA 세미나.pptx

  • 2. 목차 MSA 1. 개요 2. MSA 예시 3. MSA 도입 전략
  • 3. MSA 개요 목차 1. MSA란 무엇인가 2. Monolitic 아키텍쳐의 특징 3. MSA의 특징
  • 4. MSA란?  시스템을 여러 개의 독립된 서비스로 나누고 이를 조합하여 기능을 제공하는 디자인 패턴
  • 6. Monolithic 특징 특징 모든 구성요소가 한 프로젝트 안에 통합된 형태 문제점  프로젝트 규모가 커질수록, 개발자가 많아질 수록 한계 (conflict)  하나의 Framework를 사용해야 함  빌드 / 배포 시간이 오래 걸림 예) 현재 홈페이지  규모가 클 경우 수정이 어렵다  “문제 해결보다 코드 해석에 집중하게 된다.”
  • 7. MSA
  • 8. MSA 특징 특징  클라우스, 도커의 유행으로 재조명되었음  세부사항을 추상화하고 Endpoint로만 통신한다. 장점  팀 단위로 기술 스택을 다르게 가져갈 수 있음  Scale-up이 쉽다  빌드 / 배포가 빠르다 단점  개발 복잡도가 높다  배포가 어렵다 (서비스들이 연계되어 동작하기 때문)
  • 10. MSA 예시 목차 1. MSA를 사용하고 있는 회사
  • 11. MSA 예시 Frontend 예시  https://www.naver.com/ Backend  쿠팡,
  • 12. MSA 도입 전략 목차 1. 만약 현재 시스템에 MSA를 도입한다면?
  • 13. 설계 전략 Front Front  EN, KR 분리 - 의존성 분리 효과를 얻을 수 있다  그 외의 페이지는 큰 역할이 없기에 분리하면 손해
  • 14. 설계 전략 Back  하나의 서비스는 하나의 역할만 해야함 비즈니스 로직 별 분리  USER 서버 - user에 대한 모든 것  로그인 서버 - 로그인, 가입, 메일인증 등  GOODS 서버 - 상품 관리, 판매  파일 서버 - 파일 업로드 다운로드 career, qna, contact 등 구조 개선 필요 예 ) Career과 qna둘다 유저가 요청하는 api HomepageController.java <<
  • 15. 구조 개선 장단점 장점  서비스를 하나씩 분리하여 원하는 기술을 도입하기 쉽다. Mybatis -> JPA Java -> Kotlin 문제점  DB도 서비스마다 독립되기 때문에 JOIN하기가 어렵다.  Table Join에 대한 전략 구상 필요  Endpoint가 많아진다  api URL을 한곳으로 모아주는 라이브러리 도입 필요