본문 바로가기

반응형

MSA

MSA 가상머신, 컨테이너 VM VS 도커 VM은 각 게스트 OS가 따로 있어 커널, 라이브러리 전부 포함 성능 손실이 발생할 수 있고 이미지가 매우 커 배포, 부팅 속도가 오래걸린다. 그에 반면 컨테이너는 호스트 OS를 같이 쓰기 때문에 손실 위험성이 적으며 배포, 부팅속도가 매우 빠르다 개발 환경 그대로 다른 서버로 복제가 용이하며 컨테이너에는 애플리케이션 구동을 위한 라이브러리와 실행파일만 존재함으로 용량도 매우 작다. 도커는 컨테이너 생성시 필요한 요소들 도커 이미지에 모아두는데 이미지 내용은 여러개의 계층으로 된 바이너리 파일이다. 도커 컨테이너는 도커 이미지로 생성되며 격리된 시스템 자원과 네트워크를 사용할 수 있는 독립된 공간을 의미한다. Dockerfile로 이미지 생성을 자동화 할 수 있으며 빌드 명령어, 컨테이너.. 더보기
MSA 관심사 - 내부/외부 아키텍처 MSA는 여러 서비스간의 연계를 통해 시스템을 구축하는 SOA의 범주에 있다고 볼 수 있다. (SOA :통합 DB를 쓰면서 엔터프라이즈 서비스에서 모든 동작과 서비스를 제공하는 시스템을 의미함) MSA와 SOA의 가장 큰 차이는 저장소를 같이 쓰는지 각자 쓰는지이다. MSA를 구성하기 위해선 많은 시스템을 구축해야 된다. 각각의 레벨에서 기본적으로 구성해야되는 요소들이 패턴화되어 있고 각 영역의 패턴에 맞춰 사용할 플랫폼을 결정하면 된다. 보통 마이크로서비스 아키텍처를 정의할때 아래의 화면처럼 많이들 표현하고 있다. 마이크로서비스 빌드부터 시스템 구성에 대한 흐름을 아래 화면을 통해 살펴볼 수 있다. [참고자료 및 강좌] https://www.inflearn.com/course/%EC%8B%A4%EB%A.. 더보기
MSA 아키텍처 스타일 이벤트 기반 아키텍처 스타일 MSA의 기본이며 많이 사용되는 아키텍처는 이벤트 기반 아키텍처 스타일이다. 이벤트 기반 아키텍처 스타일은 확장성이 뛰어나고 고성은 애플리케이션 개발에 널리 쓰이는 비동기 분산 아키텍처다. 동기랑 비동기의 차이는 업무 처리 속도이다. 예를 들어 커피숍에 1명이 주문과 커피내리는 행위를 다 한다고 생각하면 1시간 동안 처리할 수 있는 주문량은 매우 적을 것이다. 하지만 주문자와 바리스타를 따로 고용하여 서로 맡은 업무만 처리하도록 하면 훨씬 많은 양의 주문를 받을 수 있고 손님이 몰릴때 상황에 맞게 주문자를 늘리거나 바리스타를 늘려 모든 주문량을 소화할 수 있게 확장할 수도 있을 것이다. 이벤트 기반 아키텍처는 다른 아키텍처에 내장이 가능한다. 그 예로 이벤트 기반 마이크로서비.. 더보기
MSA 개념 마이크로서비스 개념이 나오게 된 배경 서비스 변경 빈도가 잦아지면서 변화된 비즈니스 환경에 민첩하게 대응할 수 있는 구조의 필요성이 높아지면서 그런 구조를 갖춘 아마존의 비즈니스 환경에 대한 관심을 갖게 되었다. 현재 아마존은 MSA 환경 덕분에 요구사항에 즉각적으로 대응할 수 있으며 그 서비스 변경 속도는 대략 11초 밖에 소요되지 않는다. MSA에 가장 기본이 되는 개념은 클라우드 인프라이다. 물리서버는 인프라를 구축하는데 많은 비용과 시간을 투자해야 된다. 하지만 클라우드 인프라는 신규 또는 구축되어 있는 인프라를 구성을 빠르게 진행할 수 있다. 그리고 클라우드 인프라의 또다른 장점은 사용량에 따라 리소스 확보가 가능하다는 점이다. 서버의 리소스를 확장하는 방법에는 두가지가 있다. 수직 확장, 수평.. 더보기

반응형