https://memodayoungee.tistory.com/157 [MSA] Spring Boot 프로젝트에서 MSA 실습하기(Spring Cloud) - 1 Spring 기반 프로젝트에서 MSA를 구현하기 위해서 Spring Cloud에 대해 알 필요가 있다. Spring Cloud : 개발자가 분산 시스템에서 일부 공통 패턴(예: 구성 관리, 서비스 검색, 회로 차단기, 지능형 라우팅, memodayoungee.tistory.com Spring Cloud를 활용해서 Eureka Server, API Gateway, Eureka Client 개발까지 완료했습니다. 이번에는 Kafka를 활용해서 Service끼리 통신하는 방법에 대해서 실습하겠습니다. RabbitMQ를 사용할 수 있겠지만, 개인적으로 ..
Spring 기반 프로젝트에서 MSA를 구현하기 위해서 Spring Cloud에 대해 알 필요가 있다. Spring Cloud : 개발자가 분산 시스템에서 일부 공통 패턴(예: 구성 관리, 서비스 검색, 회로 차단기, 지능형 라우팅, 마이크로 프록시, 제어 버스, 일회성 토큰, 글로벌 잠금, 리더십 선택, 분산)을 신속하게 구축할 수 있는 도구를 제공한다. 세션, 클러스터 상태) 쉽게 말해 분산 시스템에서 필요한 다양한 기능들을 제공하고 있으며, MSA를 구성할 때 유용하게 사용되는 서브 프로젝트이다. 위의 그림을 살펴보면, MSA를 구축하기 위해서 API 게이트웨이가 요청을 처리하고 그 요청을 처리할 서비스에게 다시 그 요청을 위임해준다. 이와 같은 프로세스가 구축되기 위해서는 호출할 서비스를 찾는 매..
모놀리식 아키텍처란? 모놀리식 아키텍쳐(Monolithic Architecture, MA): 하나의 통합된 코드 베이스로 여러 비즈니스 기능을 수행하는 전통적인 아키텍처 스타일이다. 단일 애플리케이션 내에 서비스의 모든 로직이 들어가 있는 구조이다. 쉽게 말해 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합돼 있는 구조를 의미한다. 그림과 같이 다양한 서비스들이 단일 애플리케이션 안에 포함되어 있는 구조라고 생각하면 된다. 단일 DB와 연결해서 사용하고 보안, 설정등 모두 공통으로 사용하기 때문에 개발 속도가 빠르다. 모놀리식 아키텍쳐의 장점 간단한 유지보수 단일 코드 베이스를 가지고 있기 때문에 변경 사항을 적용하고 유비보수하는 것이 상대적으로 간단하다. 이로 인해 코드의 일관성을 ..