작성
·
42
0
기존에는 http://localhost:8081 과같이 보내줬는데, 이걸 lb:/MY-FIRST-SERVICE
로 바꿨습니다.
그렇다면, 원래 localhost:8081로 직접 http 프로토콜로 보내줬던건, 유레카를 거치지 않았고, 하드코딩으로 직접 보내줬던 것이고, 그리고 lb:/를 이용하는 것이 유레카에 저장되어 있는, 정보들을 통해 읽어와서 동적으로 보내주는 것으로 이해하였는데, 제가 이해한게 맞을까요?
답변 2
0
안녕하세요, 이도원입니다.
강의에서도 설명 드린것처럼 LB:// 로 시작하는 프로토콜의 경우 직접 통신이 아닌 Service Discovery로부터 서비스의 위치 정보를 검색한 후에, Service Discovery(Eureka 등)를 통해 이동하게 됩니다. 말씀하신 내용이 맞습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. On_Nij님.
Spring Cloud와 관련하여 로드 밸런싱 및 서비스 디스커버리에 대한 개념을 명확히 이해하는 것은 중요합니다.
기존 방식에서 http://localhost:8081
로 직접 URL을 사용하여 요청을 보내는 경우, 이는 하드코딩된 방식으로 특정 포트의 서비스에 직접 접근하는 방법입니다. 이렇게 하면 특정 서버 인스턴스에만 요청이 전달되며, 유레카(Eureka) 서비스 디스커버리나 로드 밸런싱의 이점을 활용하지 못하게 됩니다.
반면에, lb://MY-FIRST-SERVICE
처럼 lb 프로토콜을 사용하는 것은 Eureka와 같은 서비스 디스커버리를 통해 서비스의 위치를 동적으로 찾고, 로드 밸런싱을 통해 여러 인스턴스에 요청을 분산시키는 방법입니다. 이를 통해 가용성과 확장성을 향상시킬 수 있습니다.
다음은 이러한 컨셉에 대한 추가적인 정보 링크입니다:
Spring Cloud Gateway와 Eureka 사용 설명서: Spring Cloud Gateway와 서비스 디스커버리의 상호작용에 대한 공식 문서입니다.
안녕하세요 LB 관련 질문 드려요!: GatewayFilter와 관련된 질문으로, 현재 질문과 유사한 상황에 대한 강사님의 답변이 포함되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.