MSA
-
MSA) 서비스 별 각 인스턴스에서 애플리케이션을 Docker 컨테이너화 후, 발생한 Eureka Client 간의 통신 문제SpringBoot 2024. 7. 9. 10:38
개발 서버를 구축하기 위해, 현재 위와 같이MSA의 Eureka 서버를 제외하고, 각 서비스들을 각각의 인스턴스에 Blue/Green 무중단 배포를 적용하여 도커로 컨테이너화 한 상태였습니다. API Gateway 서버와 Batch Service 서버 모두CD가 동작하면 각 서버에 작성한 쉘 스크립트가 실행되어 Blue/Green 무중단 배포를 적용하는 방식입니다. 위와 같이 Blue/Green을 적용을 확인하기 위해 각 마이크로 서비스에 헬스 체크 컨트롤러를 만들어 둔 상태였습니다. 문제각 서비스에서 도커 컨테이너가 정상적으로 올라간 것을 확인한 후,API Gateway 서버에서 Batch Service의 API를 잘 라우팅 해주는지 확인하기 위해아래와 같이 리눅스 상에서 curl 명령을 통해 헬..
-
MSA) Spring Cloud 기반의 MSA 구조에서 Swagger 통합하기 + FastAPI의 Swagger까지SpringBoot 2024. 6. 17. 21:51
들어가며 저번 시간에 FastAPI 서버를 Spring Cloud Eureka에 Client로 등록하는 방법에 이어서,이번에는 각 서비스마다 Swagger를 설정하여 이를 한 곳에서 통합하여 볼 수 있게끔 적용하려고 합니다. MSA 구조에서 프로젝트를 진행하면, 각 마이크로서비스들이 각각의 애플리케이션에서 돌아가기 때문에모놀리식 구조와 다르게 API 문서들을 관리하는데 어려움이 존재합니다. 쉽게 설명해보자면 모놀리식 구조의 경우 하나의 애플리케이션으로 운영 되므로애플리케이션에 Swagger를 하나만 띄우면 되지만 MSA 구조는 서비스들이 독립적으로 분리되어있기 때문에 서비스마다 Swagger를 띄워줘야합니다.이러한 상황에서 Swagger를 통합해주지 않는다면, API를 받아쓰는 프론트 입장에서는 호출하..
-
MSA) Spring Cloud Eureka에 FastAPI 서버를 Client로 등록하기SpringBoot 2024. 6. 1. 00:21
들어가며저희 팀이 계획한 기획에서 python을 활용하여 데이터 분석과 여러 데이터들을 가져와야할 것 같아MSA 구조의 팀 프로젝트를 수행하기 전에, 연습하고 해당 내용을 기록하고자 글을 작성했습니다. Python 기반의 백엔드 프레임워크를 Flask를 쓸지 FastAPI를 쓸지는 정확히 확정이 되진 않았지만,Flask는 작은 프로젝트에서 다뤄본 경험이 있기도 하고 FastAPI가 좋다고들 하는데 사용해보지는 않아서배워볼겸 FastAPI로 진행하고자 합니다. 적용한 내용을 보기 쉽게 그림으로 그려보았습니다. FastAPI를 설치하기 전에, 가상환경 세팅하기# 가상환경을 만들 디렉토리로 이동$ cd {directory}# 가상환경 만들기$ python3 -m venv {venv name}# 가상환경..