본문 바로가기

IT 초보코딩의 세계74

[MicroService] MSA의 이해(Micro Service 운영과 관리를 위한 플랫폼 패턴, 애플리케이션 패턴) 4장 ◆ MSA 구성 요소 및 MSA 패턴 ▶ Micro Service 운영과 관리를 위한 플랫폼 패턴 ● MSA 기술 변화 흐름 ⊙ 앞에서 언급한 패턴들은 모두 모노리스 시스템이 여러 조각의 Micro Service로 나눠져서 발생하는 문제들을 해결하는데 추적, 모니터링, 로깅, 인증, 탐색, 유연성, 탄력성 등이 여기에 해당 ⊙ 이러한 문제를 해결하기 위해 초기 MSA 생태계에서는 넷플릭스 OSS나 스프링 클라우드를 이용해 각각의 서비스를 별도로 만들어서 해결하거나 유연성처럼 수 평 확장이 필요한 요소는 AWS laaS 서비스를 이용해 해결했는데 문제마다 상이한 기술로 해결할 수 밖에 없었음 ⊙ 이후 여러 문제의 해결책을 한꺼번에 제공하는 솔루션들이 등장했는데, 바로 쿠버네티스 나 오픈시프트(OpenShi.. 2023. 4. 20.
[MicroService] MSA의 이해(BFF패턴, 인증/인가 패턴, 외부구성 저장소 패턴, 집계 패턴, 모니터링/추적패턴) 3장 ◆ MSA 구성 요소 및 MSA 패턴 ▶ Micro Service 운영과 관리를 위한 플랫폼 패턴 ● BFF 패턴 ⊙ 최근에는 PC뿐만 아니라 다양한 모바일 장비를 사용하기 때문에 다양한 클라이언트를 고려해야 함 ⊙ 이처럼 다양한 클라이언트를 위해서는 특화된 처리를 위한 API 조합이나 처리가 필요한데 이를 위한 해결 방법으로 BFF(Backend for Frontend) 패턴이 있음 ⊙ BFF 패턴은 API 게이트웨이와 같은 진입점을 하나로 두지 않고 Front End의 유형에 따라 각각 두는 패턴 ⊙ Front End를 위한 Back End라는 의미로 BFF(Backend For Frontend)라고 부름 ⊙ 웹을 위한 API 게이트웨이, 모바일을 위한 API 게이트웨이 등 클라이언트 종류에 따라 최.. 2023. 4. 20.
[MicroService] MSA의 이해(컨테이너 오케스트레이션, API 게이트웨이 패턴, 서비스 디스커버리 패턴, 플랫폼패턴) 2장 ◆ MSA 구성 요소 및 MSA 패턴 ▶ 인프라 구성 요소 ● 컨테이너 오케스트레이션 ⊙ 컨테이너 기술을 선택했다면 컨테이너를 관리하기 위한 기술 또한 필요 ⊙ 컨테이너가 많아지면 그에 따라 컨테이너의 자동 배치 및 복제, 장애 복구, 확장 및 축소, 컨테이너 간 통신, 로드 밸런싱 등의 컨테이너 관리를 위한 기능이 필요한데 이러한 기술을 컨테이너 오케스트레이션(Container Orchestration)이라 함 ⊙ 컨테이너 오케스트레이션 도구로는 도커 스윔(Docker Swarm), 아파치 메소스(Apache Mesos) 등이 있으며 최근에는 구글이 자사의 도커 컨테이너 관리 노하우를 CNCF 재단에 제공해서 공개한 쿠버네티스(Kubernetes8가 큰 인기를 끌고 있는데 쿠버네티스를 이용하면 손쉽게 .. 2023. 4. 18.
[MicroService] MSA의 이해(리액티브 선언, MSA 구성요소, MSA 패턴) 1장 ◆ 리액티브 선언: 현대 애플리케이션이 갖춰야 할 바람직한 속성들 ▶ 리액티브 선언의 4가지 요소 ● 응답성(Responsive): 사용자에게 신뢰성 있는 응답을 빠르고 적절하게 제공하는 것을 의미 ● 탄력성(Resilient): 장애가 발생하거나 부분적으로 고장나더라도 시스템 전체가 고장 나지 않고 빠르게 복구하는 능력을 의미 ● 유연성(Elastic): 시스템의 사용량에 변화가 있더라도 균일한 응답성을 제공하는 것을 의미하며 시스템 사용량에 비례해서 자원을 늘리거나 줄이는 능력 ● 메시지 기반(Message Driven): 비동기 메시지 전달을 통해 위치 투명성, 느슨한 결합, 논블로킹 통신을 지향하는 것을 의미 → 4가지 요소는 모두 리액티브 시스템을 만들기 위한 요소이고 각 요소는 상호 보완적 →.. 2023. 4. 18.