STOVE DEVCAMP 3기/MSA
-
[MSA] Spring Cloud Gateway로 API 게이트웨이 구축하기STOVE DEVCAMP 3기/MSA 2023. 3. 10. 03:10
📌 Spring Cloud Gateway 1) 스프링 클라우드 게이트웨이란 스프링에서 제공하는 API 게이트웨이 구축을 위한 라이브러리 중 하나임 API 게이트웨이가 추상적인 개념이라면, 스프링 클라우드 게이트웨이는 구현체 느낌 2) 구성 요소 크게 3가지 구성요소가 존재함 Route 고유ID, 목적지 URI, Predicate, Filter로 구성됨 게이트웨이로 요청된 URI의 조건이 참일 경우, 매핑된 해당 경로로 요청을 전달해줌 Predicate 주어진 요청이 조건을 충족하는지 테스트하는 구성요소 각 요청 경로에 대해 충족해야 하는 1개 이상의 조건자를 정의할 수 있음 만약 정의된 모든 Predicate에 매칭되지 않는다면 HTTP 404 Not Found를 반환함 Filter 요청 및 응답에 대한..
-
[MSA] 클루터 MSA 도입 과정STOVE DEVCAMP 3기/MSA 2023. 3. 10. 02:49
1) 도메인 분리 및 클라우드 환경 배포 클루터가 제공하는 핵심 기능을 중심으로 유저 / 알림 / 트윗으로 도메인을 분리함 도메인별 서버를 구성해 사내 인프라를 사용해 쿠버네티스 클러스터에 배포함 참고 https://helloworld.kurly.com/blog/ddd-msa-service-development/ 2) 이후 구조 수립 과정 A. 초기 구조 설명 API 게이트웨이(스프링 클라우드 게이트웨이), 서비스 레지스트리(유레카), Config 서버(스프링 클라우드 컨피그)와 중앙 저장소(github repository)로 구성하였음 마이크로서비스간 통신은 Feign Client를 사용한 HTTP 통신을 수행하도록 구성하였음 API 게이트웨이 도입 이유 > 기존 구조의 단점 서비스의 개수가 증가함에 ..
-
[MSA] 클루터 MSA 도입 회고STOVE DEVCAMP 3기/MSA 2023. 3. 10. 02:46
📌 MSA 도입 배경프로젝트 시작 전 백엔드 팀원들과 중점적으로 고려한 3가지 사항백엔드 팀원들 간의 효율적인 작업 수행구현 기능별 의존성을 줄여 자유로운 기술 선택서비스 규모가 커짐에 따라 기능 및 서버 확장이 쉬운 아키텍처 구성 이를 바탕으로 서비스별 독립된 구성을 제공하는 MSA 기반 아키텍처 도입하기로 함 📌 MSA 도입을 통한 기대효과작업 효율성각 서비스는 독립된 배포 단위를 가지므로, 병렬적인 작업과 테스트가 가능함기술 선택의 자율성제공하고자 하는 서비스(회원/트윗/알림)가 다양하고 개별 마이크로서비스로 구성되어 자유로운 기술스택 선정이 가능함서버 확장성소셜 네트워크 서비스인 '클루터'에서 가장 트래픽이 많을 것으로 예상되는 기능은 트윗 작성 및 피드 조회이므로, 해당 기능을 포함하고 있는..