[TIL] 원티드 프리온보딩 백엔드 인턴십 Week4) 22일차, 0910
✔️ 오늘 한 일
- 7차 오프라인 세션 참여
- 자원 서버 Swagger 연동
- 자원 서버 더미데이터 생성
- gRPC 통신 구현 시도
👀 오늘의 이슈
- gRPC 9090 포트 문제
- 문제
- 자원 서버의
application.yml
에 client port를 50052로 설정했음에도 불구하고, 서버를 실행할 때마다 콘솔에 gRPC 포트가 9090
으로 표시되었다. 이로 인해 인증 서버와 자원 서버 간의 통신이 실패했다.
- 원인
- 의존성 문제
- 자원서버에
client
의존성이 누락된 상태였다.
- 포트 설정 문제
- 인증 서버의
server: port
번호와 자원 서버의 client: server: address
번호가 일치해야 하지만, 내가 설정한 포트 번호는 서로 달랐다.
- 해결
- 자원 서버의
build.gradle
에 gRPC 클라이언트 의존성을 추가하고, application.yml
을 수정했다.
💡 Today I Learned
- gRPC의 서버 포트 설정은 테스트 프로파일과 분리해야 한다.
- 문제
- gRPC 의존성을 추가한 후 서버 실행 시 여러 오류가 발생했고, 실제로는 정상적으로 통과되는 테스트도 실패했다는 메시지가 출력되었다.
- 원인
application.yml
의 grpc: server: port:
설정 위치가 문제였다.
- 로컬 환경과 테스트 실행 환경에서 동일한 gRPC 포트를 사용하게 되어 포트 충돌이 발생했다. gRPC 포트 설정이 기본 프로파일(로컬과 테스트 환경에서 공통으로 사용되는 프로파일)에 있었기 때문이다.
- 해결
- gPRC 포트 설정을 로컬 프로파일로 이동함으로써 충돌을 방지하고, 문제를 해결했다.