inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

SOA vs. MSA

SOA 와 MSA 의 가장 뚜렷한 차이는 무엇인가요?

해결된 질문

943

퇴근후치맥

작성한 질문수 10

1

제가 본 대로라면 둘 다 서비스 간의 결합은 낮지만 

통신하는 방법이 다른것(API 통신 / ESB 패턴)과

SOA는 언어나 DB에 대한 종속성이 있고

API는 서비스마다 다른 언어 및 DB를 사용해도 문제없다 정도인것 같은데 이 것 말고도 뚜렷하게 구분되는 둘 만의 특징이 있나요?

soa architecture spring-boot JPA spring-cloud Kafka msa

답변 1

6

Dowon Lee

안녕하세요, 이도원입니다. 

SOA와 MSA의 가장 큰 차이점은 서비스의 경계, 서비스의 크기가 아닐까 합니다. 어떤 기준과 규칙에 의해서 나누어 진다기 보다는 서비스를 구분하고, 독립적인 서비스로써 개발하고 배포할 수 있는지 여부가 중요한 포인트라고 생각됩니다. 또한 SOA에서는 서비스 간의 통신에서 ESB 개념이 사용되어 어느정도의 종속성이 생길 수 있지만, MSA에서 강조하는 것은, 독립적으로 배포가능환 형태의 작은 서비스입니다. 마이크로서비스 간의 통신도 RESTful API, gRPC등의 방식으로 지원하도록 권장합니다. 예를 들어 포털 사이트에 로그인 시 보여지는 "읽지않은 메일이00건" 이라는 메시도 마이크로서비스화해서 개발될 수 있고, 쇼핑몰의 상품 결제시에 보여지는 추천 상품에 대한 부분도 마이크로서비스화 해서 개발가능한 부분입니다. 2가지 경우 모두 해당 기능을 개발하는데 있어서, 다른 서비스와의 종속성 없이 개발, 수정, 배포가 가능하다고 생각됩니다. 

추가 의견 및 질문있으시면, 글 남겨 주세요.

감사합니다. 

kafka 업데이트 강의 듣고 시포요

0

88

2

강의 교안

0

78

2

마이크로서비스간 통신 시, 인증 처리

0

84

2

api gateway 에서 인증 처리

0

66

1

섹션 19 질문드립니다

0

60

2

강의 자료 업데이트

0

85

2

부하분산 강의 섹션

0

58

1

강의자료는 어디에서?

0

76

2

강의 자료는 어디서 다운 받을 수 있나요?

0

113

2

전체 사용자 조회시 오류

0

59

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

113

2

학습 방향

0

96

2

카프카 커넥터 사용 목적 문의

0

87

2

kafka 강의

0

109

2

서비스 디스커버리 종류

0

87

2

강의 자료에 대해서 궁금해요

0

119

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

91

2

Kafka Source Connect 버전 에러

0

90

2

소스커넥터는 사용안한 거 맞죠?

0

82

2

강의자료 업데이트 문의

0

97

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

59

1

강의 업데이트 계획이 궁금합니다.

0

114

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

163

2

어떤 것이 업데이트 된 건가요?

0

166

2