목록2024/07/19 (2)
종우의 삶 (전체 공개)
프로젝트 진행 과정에 발생한 트러블 슈팅을 정리해본다. 프로젝트 진행 중에 있던 내용으로, 최종 프로젝트 상태와 문제 발생 당시의 상태는 다를 수 있음. 증상 : 회원 가입 로직을 진행할 때, 입력한 메일 주소로 인증 메일을 보낸다.그리고 링크를 클릭하면 회원가입이 정상적으로 완료되는 형태이다. 링크를 클릭한 순간 DB에 정상적으로 회원의 데이터가 저장이 된다. 회원 가입시 필요한 데이터는 다음과 같이 입력한다.{ "customerName": "testname", "password": "1234", "email": "test@email.com", "address": "무명도 무명시 도로명주소", "addressDetail": "0000호"} 링크를 클릭하면, 입력받은 데이터를 ..
MSA로 전환하면서 간단한 아키텍처 다이어그램을 다시 그려보았다. 기본적인 로직은 아래와 같다. 이전 포스트에서 설명했다시피 Eureka로 묶인 서비스들은 API Gatway로 들어온 요청들을 처리하게 된다. 그 과정에서 서로의 서비스를 불러오고, 다른 서비스의 DB를 조회해야 할 필요가 생긴다. Kafka를 고려하기도 했지만, 요청을 보내고 반드시 응답이 돌아와야 다음 로직이 가능하기 때문에 Kafka와 같은 메시지 브로커는 적합하지 않다고 생각했다.이러한 단순한 데이터 전송은 동기적으로 처리되어야 한다. 그래서 간단한 Feign Client를 사용하여 서비스 간 통신을 진행해보았다. 사례 1) 특정 상품을 주문에 추가하려 할 때이러한 상황이 주어졌다고 생각해보자. 주문을 하기 위해서는 우선 상품을 ..