25%
66,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Gateway 관련 질문이ㅛ
실습 따라서 하다가 문득 궁금해서 질문남깁니다. 이전 강의에서 말씀하셨는지 찾기어려워서 .. Cloud Gateway 애플리케이션을 Eureka Server에 등록하는 이유가 뭔가요? 인스턴스로 등록할 각 서비스들만 구독 시켜둬도 운영은 가능한게 아닌가요..? 직접 해보니fetch-registry, register-with-eureka 를 false 로 해도 되기는 하더라구요. 따로 적어둔거를 봤는데 fetch-registry, register-with-eureka 를 true로 하는 것이 유레카 서버로 부터 갱신된 인스턴스 정보들을 받기 위함이라고 적어두긴했는데 맞는건가요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Greeting 클래스를 만들지 않고 필드로 넣어도 되나요?
Greeting 클래스를 만들지 않고 UserController에서 직접적으로 private String message 필드를 선언하여 @Value()로 값을 넣어줘도 문제 없나요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
arm64 기반 docker-compose kafka
docker-compose-single-broker.yml 파일 각 service에 platform: linux/arm64 추가로 설정했는데도 format 에러가 발생합니다. (amd / arm) 일단 아래의 arm64용 kafka 깃헙을 참조했는데 elyalvarado/kafka-docker-arm64: Dockerfile for Apache Kafka (github.com) docker-compose 실행 시 'docker build --platform linux/arm64'와 같이 platform 설정하는 방법은 없나요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Docker network 생성 중
안녕하세요. 강의 내용중에 network 구성하면서요. docker network create --gateway 172.18.0.1 --subnet 172.18.0.0/16 ecommerce-network gateway하고 subnet 지정하지 않고 만들 경우 직접 IP 지정해서 container 띄울 경우 오류가 발생할 수 있다는게 이해가 잘 안됩니다...
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
후속강의
후속강의가 언제쯤 나오나요? 나온다고 들었습니다.
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요. user-service/users/{userId}를 postman으로 호출할때 질문드립니다.
postman에서 get방식으로 전송하실 때 처음에 /user-service/users로 회원가입을 실행한 후 /user-service/login로 로그인을 하면 생성되는 token을 복사해서 /user-service/users/{userId} 에 Authorization의 Bearer Token에 token을 복사해 넣은 후에 postman을 실행하여야 하는 건지 여쭤보고싶습니다. 이전강의나 이번강의에도 가려진 상태로 진행되어 정확하게 모르겠네요. 일단 login 시 생성되는 token을 집어넣고 postman 실행 시 401 오류가 발생하며, JWT token is not valid라는 log와 Global Filter end : response id -> 401 UNAUTHORIZED라는 log가 찍혀 인증의 문제가 맞는것 같아 질문드립니다.
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
yml 에서 설정정보를 읽을 때 키 값 문의드립니다.
안녕하세요. 강의 잘 보고 있습니다 yml 파일의 속성 값을 읽을 때 server.port --> env.getProperty("local.server.port"); greeting.message --> env.getProperty("greeting.message"); 이렇게 server.port 를 읽을 때 local 이라고 붙여주는 이유가 궁금합니다..
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
k8s 환경에 spring cloud gateway 접목이 어떻게 하면 가능할까요??
안녕하세요 ! 궁금한게 있습니다~ k8s 환경으로 구축한다고 했을때, spring cloud gateway 를 접목시키고 싶을 경우 (인증에 관련해서 filter 와 같은 기능을 이용한다면 더 편이할 것으로 보이므로) 어떻게 적용하면 될지 감이 오지 않습니다... 어떻게 보면 ingress 의 역할과 spring cloud gateway의 역할이 약간 겹치는 부분도 있고요.. ingress 에 spring cloud gateway를 붙일 수 있나요? 아니면 별도의 pod로 띄워놓고, ingress -> (무조건) gateway 로 가도록 하고, gateway에서 default filter를 적용한 후, predicates 조건에 맞춰서 uri: lb:// 이용하게 하나요? (ingress -> gateway -> 다른 svc/pod 로 이동? )
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
KafkaProducer와 OrderProducer 차이
안녕하세요. Producer 구조 관련해서 문의드립니다. 어디선가 이해를 못하고 있는건지... order-service에서 catalogs-service 호출할때 KafkaProducer를 만들어서 send할때 그냥 topic, orderDto만 jsonString 형식으로 보냈는데 왜 OrderProducer에서는 스키마, 필드 등 형식을 만들어서 send하는지요? 둘다 Topic에 전달하는건 같고... 차이점은 다른 서비스에 전송(catalogs-service)하냐 자신(order-service)에게 전송하냐 차이가 보이는데 결국 Topic에 전송하는거라.. 같은게 아닌가 합니다.
- 해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring Cloud Gateway & Spring Cloud Load Balancer 질문
안녕하세요 강사님 강의를 보면서 많은 도움이 되었습니다. Spring Cloud Gateway - Load Balancer 1,2 강의를 보고나서 궁금한 점이 있어서 글을 남깁니다. 강의에서 보면 Spring Cloud Gateway에서 load balance를 처리하셨는데, 따로 Spring Cloud Load Balancer 의존성 추가없이, 단지 lb://MY-FIRST-SERVICE로만 처리하여 Load balance 기능이 작동되는 것을 확인했습니다. 그렇다면 Spring Cloud Load Balancer가 Spring cloud Gateway 안에 내장되어 있는건가요? 아니면 Spring Cloud Load Balancer는 완전히 다른 모듈이고, Spring Cloud Gateway안에 있는 독자적인 loadbalance기능이 있다고 생각해야되는 걸까요? 만약 내장되어 있다면, 강의에 있는 프로젝트와 같은 상황에서 Spring Cloud Load Balancer를 따로 처리할 필요가 없는건가요? Spring Cloud Load Balancer의 용도에 대해서 고민이 되어 글을 남깁니다. 감사합니다.
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
RewritePath 질문 있습니다
(?<segment>.*) /$\{segment}와 같은 문법은 어디에서 찾을수 있을까요? 특수문자는 정규식으로 보이는데 이해가 잘 가지않고 segment도 어디에서 참조되는지 잘 모르겠습니다.. routes의 uri에 작성된 lb 키워드도어떻게 참조가능한지도 알려주시면 감사하겠습니다..
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
MSA 패턴 및 관련 질문입니다.
안녕하세요 강사님. 먼저 강의를 수강하여 개발 방법론에 많은 지식과 방법을 경험하여 견문을 넓히게 되어 감사드립니다. 고민보다 전문분께 질문이 빠른 방법일 듯 하여 글을 올립니다. 질문 사항으로, 마이크로 아키텍처기반으로 기존 여러 모놀리식 시스템을 대체 설계하려합니다. 기능과 서비스들은 대략 구상되었고, 중요 부분이 분산 시스템에서의 트랜잭션 및 데이터 일관성 처리에 대한 문제 일 것 같습니다. 이에 데이터 동기화 및 처리 관련한 질문입니다. - 1. 카프카 커넥터를 사용하는 것이 시스템의 데이터 허브의 기능을 위해 거의 표준적인지요? - 2. 데이터 처리에 있어 해결을 위해 CQRS / SAGA 아키텍쳐 패턴들을 설명해주셨는데, SAGA 패턴을 위해 워크 플로나, OrchestratorService 등 별도 서비스를 추가 구현하여 카프카와 연계가 필요한 내용이 맞는지요? - 3. 위에 SAGA 데이터 처리에 대한 Spring 기반 처리되는 참고할 샘플이 있을 지요? - 4. 적은 서비스 사이에서는 규칙된 카프카 토픽가지고 강의해주신 내용만으로도 동기화 및 예외 처리가 단순하여 데이터 처리가 가능할 듯 생각 되는데요, 차후 많은 서비스 사이에서 SAGA 패턴이 구현되지 않으면, 트랜잭션 / 일관성과 실패처리에 대한 안정성을 확보하기 어려운지요. 궁금한게 많네요 강사님, 도움을 주시어 감사합니다.
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
maven이 아니라 gradle로 진행중이신 분들
```// maven 기준 > mvn spring-boot:run \ -Dspring-boot.run.jvmArguments='-Dserver-port=9003' // gradle 기준 (4.9 이상)> ./gradlew bootRun --args='--server.port=9003' // java jar 기준 > java -jar "-Dserver.port=9003" ./user-service.jar // 참고: gradle로 jar 만들려면.. > ./gradlew build //실행후 project의 최상단 디렉토리/build/libs에서 jar확인// gradle로 boot 실행하기> ./gradlew bootRun```알아서 잘 하시리라 생각되지만 조금이라도 시간절약이 되실까하여 올려봅니다
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring API Gateway 에서 feign client
API Gateway 에 AuthorizationHeaderFilter를 구현중에 있습니다. 1. token을 parsing 해서 나온 subject가 user service에 있는 username 이라서 gateway service에서 user service를 호출하기 위한 feign client를 구현하고, 이를 AuthorizationheaderFilter에서 주입하려고 했는데요. circular reference에러가 발생합니다. 구글에 찾아보니 spring bug로 gateway filter에서는 feign client를 사용할 수 없다는 얘기가 있던데, 실제로 사용할 수 없는건가요? 2. ApiGateway에 application.yaml를 만들어놓고, 특정 method에 filter 항목에 AuthorizationHeaderFilter를 지정해서 그 method 요청이 오면 filter가 걸리는 것을 확인했습니다. 그런데, 제가 구상하는 시스템에서는 실제로 Front end에서 gateway로 요청이 오는 것에는 filter를 걸고, 내부적으로 service 간 통신할 때 gateway로 들어오는 request에 대해서는 token이 필요하지 않기 때문에 filter를 걸고싶지 않은데요. 이를 구현하기 위한 아이디어를 얻고 싶습니다.
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
API Gateway와 웹 서버 차이
안녕하세요. API Gateway 공부하면서 간단한 질문이 있어 이렇게 올립니다. 라우팅 처리나 필터 처리하는 것이 웹서버의 역할과 크게 다르지 않아 보이는데 API Gateway와 웹서버(apache, nginx... ) 차이점이 어떻게 되는지 궁금합니다.
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
zuul 은 부하분산 기능은 없는지 궁금합니다.
안녕하세요. 강의 내용 중 리본, 줄 모두 더 이상 지원하지 않는 상태라고 하셨는데요. 리본은 스프링 로드밸런서로 대체할 수 있다면 zuul 은 기본적으로 게이트웨이 역할이고 부하분산 기능은 미미하거나 거의 없다고 이해하면 될까요:?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요 터미널로 spring-boot를 실행할 때 문제가 있어 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님 무료강의 보고 따라하려 하였으나, 맥 os에 대한 방법이 나와있지 않은 것같아 구글링하여 환경변수 설정을 하였습니다. 그런데 maven의 버전이 문제인지, 2.6.4와 같은 형태로 나와있는것 같아 여러 방면으로 오류를 해결하고자 하였으나 해결에 어려움을 겪어 질문드립니다. mvn --version은 3,.8.4(최신버전)입니다.
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
AWS RDS 사용시에도 이처럼 Kafka Connect 를 통해 동기화를 시켜줘야하나요?
한가지 궁금한 점이 있어 질문올려요. 혹시 AWS RDS 사용시에도 포트만 다른르고, 같은 애플리케이션인 2개의 서버를 띄웠을때 이처럼 Kafka Connect 를 통해 동기화 작업을 해줘야나요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
actuator 적용 시 shutdown 문제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 잘 보고 있습니다. 다름이 아니라 actuator를 사용하여 환경 변수를 적용하는 과정에서 서비스가 shutdown 후 재등록 되는데 정상적인 건가요? actuator/refresh 호출 시 서비스 로그 -> DiscoveryClient - Shutting down DiscoveryClient ... TimedSupervisorTask - task supervisor shutting down, can't accept the task DiscoveryClient - Unregistering ... DiscoveryClient - DiscoveryClient_서비스명 deregister status: 200 DiscoveryClient - Completed shut down of DiscoveryClient 실제 유레카서버 확인 시 해당 서비스 인스턴스아이디도 변경됩니다. 데이터 유실 없이 graceful shutdown 보장 되는 건가요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
리버스 프록시와 차이점이 뭘까요?
아직 이것저것 공부중인 학생입니다. 오늘 어쩌다 리버스 프록시란 단어를 듣게되어 찾아보았는데 이곳에서 설명하는 gateway service가 리버스 프록시의 역할을 하는 거 같은데 맞는건가요?