인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Users Microservice - Routes 테스트

8000번 포트 404에러 & 유레카 등록된 인스턴스

작성

·

429

0

  1. 유레카에 등록된 게이트웨이 서비스의 인스턴스 아이디도 따로 설정을 해줘야하는지 문의드립니다. 자꾸 저렇게 뜨네요..

  1. 포트 8000번으로 요청시에 404 에러가 뜹니다. 어떤 부분을 수정해야할까요?

     

    <사용자 조회시>

     

    <로그인시>

     

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

먼저 Eureka에 등록되는 서비스명은 기본적으로 사용하시는 PC환경이나 OS 마다 다르게 표시 될 수 있습니다. 올려주신 정보는 사용하시는 Windows PC의 호스트명 (DESKTOP-~ 으로 시작하는)에 서비스 명이 추가 된 경우인데, 이 부분은 user-service의 경우 아래와 같은 설정으로 변경해서 사용하고 있습니다.

eureka:
  instance:
    instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}}

두번째로 APIGATEWAY-SERVICE를 이용해서 user-service를 호출할 때는 http://127.0.0.1:8000/user-service/users 와 같이 호출하려는 user-service의 endpoint 앞에 user-service라는 prefix를 붙여야 합니다. 이 부분은 apigateway-service의 appilcation.yml 등록 된 정보를 확인하시면 아실 수 있는데, 아래와 같이 설정되어 있다는 것은 Path로 /user-service/login으로 호출 되면, lb://USER-SERVICE가 서비스를 대응할 수 있도록 연계하는 설정이라고 보시면 됩니다.

      routes:
        - id: user-service
          uri: lb://USER-SERVICE
          predicates:
            - Path=/user-service/login
            - Method=POST

마지막으로 127.0.0.1:57368/users와 127.0.0.1:57787/login API는 다른 PORT인것으로 보아, suesr-service를 직접 호출하신 것인지, 재시작해서 실행하신 것이지 확인해 보시면 좋을 것 같습니다. 127.0.0.1:57368/users로 전체 등록 된 사용자 목록(회원 가입을 통해 가입 된)이 보이는 것으로 보아, 127.0.0.1:57368/login으로 확인할 경우 user-service에서의 직접 로그인 테스트하는 부분도 가능할 것 같습니다.

질문하신 내용과 다른 답변이 있으면 다시 글 남겨주시기 바랍니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. solyi님의 질문에 답변해 드리겠습니다.

  1. 유레카에 등록된 게이트웨이 서비스의 인스턴스 아이디 설정: 유레카에 서비스를 등록할 때 인스턴스 아이디를 명시적으로 설정할 필요가 있는지 여부에 대한 질문이신 것 같습니다. 일반적으로, 유레카 클라이언트가 유레카 서버에 등록될 때 인스턴스 아이디는 자동으로 생성되지만, 특정 패턴이나 명시적인 값을 사용하기 원할 때는 인스턴스 아이디를 직접 설정할 수 있습니다. “Eureka LoadBalancing”에서 다루는 내용처럼 eureka.instance.instance-id를 통해 인스턴스 아이디를 설정할 수 있으며, 이를 통해 각 인스턴스를 더 명확하게 식별할 수 있습니다.

  2. 8000번 포트로 요청 시 404 에러: 포트 8000번으로 요청했을 때 404 에러가 발생하는 경우는 여러 원인이 있을 수 있습니다. 가장 흔한 원인 중 하나는 Spring Gateway의 라우트 설정이 올바르지 않아 요청된 경로를 올바른 서비스로 전달하지 못하는 경우입니다. “섹션 2.API Gateway Service 중 Spring Cloud Gateway-프로젝트 생성 부분 중 수행이 안됩니다.”에서 비슷한 문제가 논의되었습니다. 이 경우에 Spring Cloud Gateway의 설정을 다시 확인해보시고, 특히 routes 설정 부분에서 경로를 올바르게 매핑했는지, 목적지 URI가 올바른지 검증해 볼 필요가 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기