공부를 목적으로 현재 진행중인 프로젝트에 MSA를 적용할 계획이다
사실 이 프로젝트는 규모가 작아 모놀리식 구조에 더 적합하다
하지만 해본다는 것에 의의를 두고 적용을 목표로 공부를 진행중이다
본격적인 적용에 앞서 사용할 기술들은 다음과 같다
Spring Cloud는 시스템을 구축하고 운영하기 위한 스프링 프레임워크 기반의 라이브러리 모음 입니다
특히, 마이크로서비스 아키텍처(MSA)를 구현할 때 주로 사용되며,
서비스 디스커버리, 로드 밸런싱, 분산 설정 관리, 분산 추적, API 게이트웨이 등의 다양한 기능을 포함합니다
Spring Cloud는 Netflix OSS(Netflix의 MSA 노하우가 담긴 오픈소스)를 많이 받아들이게 되었는데 그 중 일부를 Spring Cloud와 통합하여 Spring Cloud Netflix 프로젝트로 제공합니다
Maven 의존성 추가 및 어노테이션 추가 만으로 구성 가능하고 기존 Spring Application과 쉽게 연동할 수 있습니다
-> 현재 SpringBoot를 이용한 프로그램을 제작 중에 있기에 Spring Cloud를 이용해 MSA를 구현해보고자 했다
Spring Cloud Netflix로 제공되는 서비스 디스커버리 서버(Service Discovery Server)로
인스턴스의 상태를 동적으로 관리하는 서버입니다
Eureka Server와 Eureka Client로 구성되어 있습니다
Eureka 외에도 Spring Cloud Netflix에서 제공하는 것은
등이 있습니다
클라이언트에서 여러 개의 마이크로서비스에 효율적으로 접근할 수 있도록 단일 진입점을 제공하는 것
API Gateway가 할 수 있는 일
https://s-core.co.kr/insight/view/spring-cloud-netflix%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94-microservices-architecture-msa%EC%99%80-%EB%84%B7%ED%94%8C%EB%A6%AD%EC%8A%A4/
https://cjw-awdsd.tistory.com/52
https://bcho.tistory.com/1005
https://m.blog.naver.com/kknkh/223410612981
https://s-core.co.kr/insight/view/spring-cloud-gateway-%EA%B8%B0%EB%B0%98%EC%9D%98-api-%EA%B2%8C%EC%9D%B4%ED%8A%B8%EC%9B%A8%EC%9D%B4-%EA%B5%AC%EC%B6%95/
https://velog.io/@sorzzzzy/MSA-MSA%EB%A5%BC-%EC%9C%84%ED%95%9C-%EA%B8%B0%EC%88%A01-Spring-Boot-Spring-Cloud-Docker
https://velog.io/@gun_123/API-Gateway-Pattern