Back Ground

마이크로 서비스 아키텍처 본문

카테고리 없음

마이크로 서비스 아키텍처

Back 2019. 2. 19. 16:06



마이크로 서비스 아키텍처는 근래의 웹기반의 분산 시스템의 디자인에 많이 반영되고 있는 아키텍처 스타일로, 

특정 사람이 정의한 아키텍처가 아니라, 분산 웹 시스템의 구조가 유사한 구조로 설계 되면서, 개념적으로만 존재하던 개념이다.




모놀리식 아키텍처


마이크로 서비스 아키텍처를 이해하려면 먼저 모노리틱 아키텍처 스타일에 대해서 이해 해야 한다.

모노리틱 아키텍처 스타일은 기존의 전통적인 웹 시스템 개발 스타일로, 

하나의 애플리케이션 내에 모든 로직들이 모두  들어가 있는"통짜 구조".


육각형 내부에 있는 비즈니스로직을 기준으로 외부 서비스(DB 액세스, 메시징, API 등)와 분리하기 위해 어댑터를 둔 모습


Modular, but still monolithic, architecture used as basis for sample microservices application

출처 : https://www.nginx.com/blog/introduction-to-microservices/ 


 or 



출처 : https://bcho.tistory.com/948



이렇게 만들어진 애플리케이션은 하나 결과물로 패키징되어 배포된다. 

이런 형태를 모놀리스 애플리케이션(monlihic application)이라고 한다.

통으로 묶어서 배포되는 형태.(통짜 구조)


예를 들어 자바의 경우 웹 애플리케이션이라면 WAR파일로 

빌드되어 톰캣(Tomcat)이나 제티(Jetty)같은 WAS에 배포할 것이고, 

일반 애플리케이션이라면 실행 가능한(executalbe) JAR파일로 묶여 배포한다.






마이크로서비스 아키텍처 


'작은 서비스'라는 이름에서도 알 수 있듯이, 

마이크로 서비스는 하나의 큰 애플리케이션을 서비스 단위로 작게 나누고,

서비스들끼리 서로 통신하는 형태의 아키텍처 패턴이다.

하나로 뭉쳐있어서 문제니깐 잘게 나눴다고 보면 된다.



https://www.nginx.com/blog/introduction-to-microservices/



출처 : https://www.nginx.com/blog/introduction-to-microservices/



콜 관리, 고객 관리 등 서비스 단위로 나누고 각각의 서비스들은 API 형태로 제공 된다.





출처 : https://futurecreator.github.io/2018/09/14/what-is-microservices-architecture/





Comments