본문 바로가기

MSA3

[Photogram] Redis + Resilience4j로 MSA 장애 전파 막기 Photogram은 MSA 기반으로 구성되어 있으며, 게시글 관련 기능은 Post-service, 사용자 정보는 User-service에서 담당하고 있다.게시글 상세 조회 API는 작성자의 정보가 필요하기 때문에, Post-service는 User-service에 사용자 정보를 요청하게 되어 있다. 현재 게시글을 조회하는 플로우는 다음과 같다:사용자가 게시글 상세 조회 요청Post-service는 게시글 데이터 조회작성자 정보를 위해 User-service 호출사용자 정보를 포함한 게시글 응답 반환그런데 이 구조에 문제가 있는데, 만약 User-service가 다운되거나 응답하지 않는 상황이 발생하면, 게시글 조회 API 자체가 실패한다.즉, User-service의 문제로 Post-service도 함께.. 2025. 4. 23.
Photogram 인증 구현하기 Photogram 프로젝트에서는 인증 방식으로 JWT(Json Web Token)를 사용한다.Gateway에서 JWT를 검증 후 요청 헤더에 User-Id를 추가하고 , 마이크로서비스 간에는 이 헤더 값을 통해 인증 여부를 판단한다.https://github.com/setung/photogram  인증 흐름사용자가 로그인 시도user-service에서 로그인 처리로그인 성공 시 JWT 발급JWT를 포함한 요청클라이언트는 이후 요청 시 JWT를 헤더에 담아 Gateway로 전달Gateway에서 JWT 검증JWT의 유효성 확인유효할 경우, JWT에서 userId를 추출하여user-id라는 이름의 헤더로 마이크로서비스에 전달마이크로서비스에서 user-id 판단Gateway가 전달한 user-id 헤더 존재 여.. 2025. 4. 13.
Photogram 아키텍처 Photogram은 Instagram을 모티브로 한 SNS 서비스로, 대규모 트래픽 처리와 MSA 구조 학습을 목적으로 만든 개인 프로젝트이다.실무에서 자주 사용하는 구조와 기술들을 직접 설계하고 구현하면서 아키텍처 감각을 키우는 것이 이 프로젝트의 목표이다.https://github.com/setung/photogram목표MSA 구조 설계 및 구현Kafka 기반 이벤트 처리 경험ElasticSearch를 활용한 태그 기반 검색시스템 설계 및 트래픽 처리 구조 학습기술 스택BackendSpring Boot (Kotlin), Spring CloudDBMySQL, RedisMessagingKafkaSearchElasticSearchStorageAWS S3EmailAWS SESInfraConfig Server.. 2025. 4. 13.
728x90