MSA 5

[MSA] Resilience4j 의존성 설정 및 주의할 점들 (부제: io.github에서 제공하는 의존성 사용)

Open -> Half-Open)와 주의할 점" data-og-description="오늘은 마이크로서비스 아키텍쳐를 학습하면서 알게된 서킷브레이커의 상태 변화에 대해 자세히 포스팅해보려고 한다. 상태가 어떤 상황에서 어떻게 변하는지, 각 상태는 어떤 상황을 말하는" data-og-host="developer-jinnie.tistory.com" data-og-source-url="https://developer-jinnie.tistory.com/82" data-og-url="https://developer-jinnie.tistory.com/82" data-og-image="https://scrap.kakaocdn.net/dn/ddAV2g/hyWKvhNnp9/7KYrkUKV19cBAcwrtUngY1/img..

Architecture/MSA 2024.08.07

[리팩토링] MSA 구조에서의 인증/인가 처리

[프로젝트][MSA] API Gateway 작성으로 모듈 별 연결하기우선 지금 진행하고 있는 api gateway와 각 도메인들을 모듈별로 구분해놓고, 각 모듈은 각기 다른 포트 번호를 가지고 있는 구조이다. 오늘은 api gateway 모듈에서 게이트웨이 설정으로 각 모듈 별 apdeveloper-jinnie.tistory.com문제 배경원래 로그인 시 필자가 담당하는 유저 모듈에서 JWT 토큰을 발급하고 이를 통해 인증을 처리하였으나, 다른 모듈로 요청이 전달될 때 인증 및 인가 정보를 제대로 전달받지 못하는 문제가 발생했다!이로 인해 유저 정보가 필요한 다른 모듈에서 기능이 작동되지 않는 상황.. 해결 방안 문제를 해결하기 위해서 우리 팀원들이 고려한 두 가지 방안은 이렇다  :모든 모듈에서 인증/..

[프로젝트][MSA] API Gateway 작성으로 모듈 별 연결하기

우선 지금 진행하고 있는 api gateway와 각 도메인들을 모듈별로 구분해놓고, 각 모듈은 각기 다른 포트 번호를 가지고 있는 구조이다. 오늘은 api gateway 모듈에서 게이트웨이 설정으로 각 모듈 별 api 주소를 전부 8080 포트에서 뿌려주도록 변경해 볼 예정이다. 의존성 추가일단 스프링 클라우드 사용을 위한 의존성 추가를 해주자!ext { set('springCloudVersion', "2023.0.0")}dependencies { testImplementation 'org.springframework.boot:spring-boot-starter-test' // 스프링 클라우드 implementation 'org.springframework.cloud:spring-c..

[프로젝트] 인텔리제이 깃 클론/pull 후 모듈 인식 불가 해결

문제프로젝트 초기 설정 중, 함께 피쳐 별 모듈을 나누고 깃을 클론 후 application.yml 파일을 설정하려고 하는데 풀 받은 필자의 인텔리제이 파일에서 나눠놓은 모듈을 모듈로 인식 못 하는 문제가 발생했다. 원인깃에서 풀 받으면 루트 파일의 모듈은 인텔리제이에서 알아서 찾아주는데, 그 외 따로 설정한 모듈은 알아서 찾지 못해서 인식을 못하는 것으로 추측했다. 따로 인식을 위한 추가 절차가 필요해보였다.  해결 시도 및 해결1. Import module 하기 👉 실패 모듈로 인식시키기 위해 상단 메뉴 File > Project Structure ... 로 이동해서 모듈을 import 하는 걸 시도해봤는데 왜인지 필자의 인텔리제이에서는 그대로 모듈로 인식을 못했다. 2.  해당 모듈의 build...

[프로젝트] 모놀리식과 MSA: MSA 구조 채택 이유

들어가며이번 프로젝트에서 모놀리식 아키텍쳐 대신 MSA 구조를 선택하기로 하면서, 모놀리식 아키텍쳐와 MSA는 어떻게 다르고 왜 이런 의사결정을 하기로 했는지 현재 프로젝트에 빗대어 기술해보려고 한다! 🔎모놀리식 아키텍쳐란? 모놀리식 아키텍처( Monolithic Architecture )는 소프트웨어 프로그램의 전통적인 모델로, 자체 포함 방식이며 다른 애플리케이션과 독립적인 통합된 유닛으로 만들어진다. “모놀리스"라는 단어는 거대하고 빙하 같은 것을 의미하는 경우가 많은데, 소프트웨어 설계의 모놀리식 아키텍처도 크게 다르지 않다. 즉, 한 문장으로 간단히 정리해 보면!MSA가 등장하기 이전에 하나의 서비스로 하나의 애플리케이션을 만드는 것이 모놀리식 아키텍쳐이다. 모놀리식 아키텍쳐의 장점 모놀리식 ..