연결된 서비스 중 307 응답을 주는 서비스가 있습니다. 이 때, 이 응답에 포함된 로케이션으로 자동으로 재요청하도록 설정할 수가 있을까요? Zuul 을 사용할 경우, 동일 요청에 대해 정상적으로 리다이렉트되어 최종적으로 200 이 응답되는데, SCG의 Flux 를 사용하니, 리다이렉트가 되지 않습니다. 찾아보니, webClient 에 구성할 수 있다고 하는데요, SCG에서 구성된 빈을 사용하지 않는 것 같기도 합니다. WebClient.builder() .clientConnector(new ReactorClientHttpConnector( HttpClient.create().followRedirect(true) )) 게이트웨이가 307 Redirect 를 자동으로 재요청하도록 설정할 수 있을까요? 감사합니다.
안녕하세요. 수업 잘 듣고 있습니다. 굉장히 흥미롭게 수업을 듣던 도중 궁금한 것이 이것저것 생겨서 질문드립니다. 수업에서 좀 벗어난 이야기일 수도 있는데 찾아보니 잘 찾을 수가 없어서 질문 드립니다.(혹시 답변하기 힘드시면 안하셔도 괜찮습니다.) 구조를 보니 API gateway는 서비스 ID만 알고있고, 해당 서비스의 실제 ip 주소와 포트 번호를 알기위해서는 Eureka에게 request를 요청해야하는 것 같습니다. 그렇다면 API gateway는 사용자 요청이 들어 올 때마다 매번 Eureka에게 물어보는 방식인가요? 이렇게 되면 통신 오버헤드가 상당이 클 것 같다는 생각이 들어서 질문드립니다. Eureka와 서비스들 간에는 지속적으로 heartbeat message나 서비스 정보 등을 교환하기위해 통신하는 것 같습니다. 혹시 이런 통신은 전부 HTTP 프로토콜을 통해서 이루어지는 것인가요? 혹은 다른 프로토콜을 사용하여 정보를 주고 받나요?
아직 완강은 하지 않았지만 궁금한 점이 생겨 질문드립니다 강의에서 단일모듈 다중 프로젝트로 진행을 하시는데, 이렇게 되면 CI/CD 관리는 어떻게 하는 지 궁금합니다 서비스 마다 Github Repository를 하나씩 만드는 건가요? 단일 프로젝트 멀티모듈은 권장하지 않으시나요? 현업에서는 주로 어떤 방법을 사용하는지 궁금합니다
mac os m1 사용중인데, configuration 서버의 bootstarp에 적은 key file 경로에 한글이 들어가면 경로 인식이 제대로 안되는것 같습니다. 물론 한글이 안들어가는 경로상에 key 파일을 위치시켜도 되지만, 프로젝트 자체를 한군데에서 관리해야 나중에 다시 공부할때 헷갈리지 않을 것 같아서 한글경로가 들어간 위치에 key를 두고 싶은데, 혹시 한글이 들어가도 location 설정을 문제없이 하는 방법은 없을까요?
강의의 기본 설정 그대로 아무 메이븐 추가 없이 강의에서 추가하는 메이븐 그대로 추가를 했는데도 계속된 오류가 발생하는데, 혹시 현제 버전에서 어떻게 하면 이 문제를 해결할 수 있는지 가르쳐 줄 수 있을까요? eureka: instance: instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}} client: service-url: defaultZone: http://127.0.0.1:8761/eureka/ fetch-registry: true register-with-eureka: true <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>cloud</groupId> <artifactId>user-service-test</artifactId> <version>0.0.1-SNAPSHOT</version> <name>user-service-test</name> <description>user-service-test</description> ,, <properties> <java.version>17</java.version> <spring-cloud.version>2023.0.2</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-netflix-eureka-server</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> </project> @SpringBootApplication @EnableEurekaServer public class UserServiceTestApplication { public static void main(String[] args) { SpringApplication.run(UserServiceTestApplication.class, args); } } 기본 설정 그대로 실행하면 밑에 와 같은 오류가 지속적으로 발생 합니다.
config-service 서버 profile 설정 질문드립니다. 예를들어 profile3가지로 나눌 경우 application.yml application-dev.yml application-prod.yml "prod" 에서만 git 경로를 참고하고 나머지 두개는 물리 경로를 지정하려 합니다. bootstrap에 설정한 encrypt.key 도 profile별로 변경하여 사용하고 싶은데 profile 설정이 안되내요... 수업내용 참고하여 설정시 yml 파일에 spring.profiles.active=native 이게 없을경우 에러가 납니다. 해결 방법이 있을지 문의드립니다. 에러로그는 아래와 같습니다. Description: Invalid config server configuration. Action: If you are using the git profile, you need to set a Git URI in your configuration. If you have set spring.cloud .config.server.bootstrap=true, you need to use a composite configuration.
해당 포트 제한되었는지 확인하여 풀어줘야함 (ex 4369 port) -확인: netsh interface ipv4 show excludedportrange protocol=tcp -해제: net stop winnat netsh int ipv4 add excludedportrange protocol=tcp startport=4369 numberofports=1 net start winnat
kafka가 뭔지 잘 몰랐는데 덕분에 잘 수강하고 있습니다. order-service로 하나의 db에 데이터동기화는 이해했습니다. 제목의 질문인 멀티db의 경우는 어떻게 처리하는지 궁금해서 질문드립니다. order-service1 --- order-db1 order-service2 --- order-db2 이렇게 연결된 서비스의 경우 kafka로 db1에 입력된 정보가 db2로 db2는 db1으로 서로 동기화도 가능한가요? 서비스가 더 증가할 경우도 가능한가요? (db1 -> db2,3,4...) db를 master/slave 구성은 해봤는데 msa로 동일db 여러개가 동기화 설정 가능한지 궁금해서 문의드립니다.
신규 강의 업데이트 기다리다 너무 화가 나서 글을 올립니다. 강사님께 질문드리고 싶습니다 확실히 답변 주세요 도대체 강의 업데이트는 언제 됩니까? 올해 초부터 강의가 업데이트 된다고 답변하신지 벌써 반년이 다 지나갑니다 강사님은 강의를 업데이트 하실 생각이 진정으로 있으십니까? 저야 할인받고 구매하긴 했지만 강의가 한두푼 하는것도 아니고 8만8천원짜리 강의면 취준생들은 정말 고민의 고민 끝에 구매한 금액인데 이렇게 하시면 안되죠 물론 강의를 구입하기 전에 이전버전인걸 알고 구매했으니 제 잘못도 있는게 맞습니다. 하지만 강의 이미 녹화 다 끝났다고, 6월 되기 전에 올려주신다고 하셨잖아요 저는 강사님의 답변을 믿고 일단 기존 강의 다 들은 뒤에 업데이트 된 강의 들어야지 하는 생각으로 취준생의 입장에서 정말 거금을 들여 구매한건데 정말 화가 나네요. 이렇게 약속을 지키지 않으실걸 알았으면 굳이 이 강의 구매 안하고 타 사이트에 올라온 훨씬 더 저렴한 강의 구매했겠죠 저야 한달정도밖에 기다리지 않았지만 1월부터 기다린 수강생들은 뭐가 됩니까? 강의를 계속할 여력이 되지 않으시면 공지나 질문에 답변하실때 당분간은 좀 어려울 것 같다고 말씀하시거나 현재 진행사항을 솔직히 말씀하셔야하는것 아닌가요?
안녕하세요 강의를 수강하던 도중 Eureka에 연결해 놓은 프로젝트를 종료하면 모든 프로젝트에서 아래와 같은 에러가 발생합니다 해결방안이 있을까요? 2024-05-28T23:22:04.304+09:00 INFO 42143 --- [apigateway-service] [ionShutdownHook] o.s.c.n.e.s.EurekaServiceRegistry : Unregistering application APIGATEWAY-SERVICE with eureka with status DOWN 2024-05-28T23:22:04.304+09:00 INFO 42143 --- [apigateway-service] [ionShutdownHook] com.netflix.discovery.DiscoveryClient : Saw local status change event StatusChangeEvent [timestamp=1716906124304, current=DOWN, previous=UP] 2024-05-28T23:22:04.304+09:00 DEBUG 42143 --- [apigateway-service] [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator : Executing on-demand update of local InstanceInfo 2024-05-28T23:22:04.304+09:00 DEBUG 42143 --- [apigateway-service] [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator : Canceling the latest scheduled update, it will be rescheduled at the end of on demand update 2024-05-28T23:22:04.304+09:00 INFO 42143 --- [apigateway-service] [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_APIGATEWAY-SERVICE/192.168.75.30:apigateway-service:8000: registering service... 2024-05-28T23:22:04.309+09:00 INFO 42143 --- [apigateway-service] [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_APIGATEWAY-SERVICE/192.168.75.30:apigateway-service:8000 - registration status: 204 2024-05-28T23:22:06.396+09:00 INFO 42143 --- [apigateway-service] [ionShutdownHook] com.netflix.discovery.DiscoveryClient : Shutting down DiscoveryClient ... 2024-05-28T23:22:09.402+09:00 INFO 42143 --- [apigateway-service] [ionShutdownHook] com.netflix.discovery.DiscoveryClient : Unregistering ... 2024-05-28T23:22:09.410+09:00 INFO 42143 --- [apigateway-service] [ionShutdownHook] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://localhost:8761/eureka/} exception=Connection pool shut down stacktrace=java.lang.IllegalStateException: Connection pool shut down 중략... 2024-05-28T23:22:09.413+09:00 INFO 42143 --- [apigateway-service] [ionShutdownHook] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://localhost:8761/eureka/}, exception=Connection pool shut down stacktrace=java.lang.IllegalStateException: Connection pool shut down 중략... 2024-05-28T23:22:09.413+09:00 WARN 42143 --- [apigateway-service] [ionShutdownHook] c.n.d.s.t.d.RetryableEurekaHttpClient : Request execution failed with message: Connection pool shut down 2024-05-28T23:22:09.413+09:00 ERROR 42143 --- [apigateway-service] [ionShutdownHook] com.netflix.discovery.DiscoveryClient : DiscoveryClient_APIGATEWAY-SERVICE/192.168.75.30:apigateway-service:8000 - de-registration failedCannot execute request on any known server com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 중략... 2024-05-28T23:22:09.420+09:00 INFO 42143 --- [apigateway-service] [ionShutdownHook] com.netflix.discovery.DiscoveryClient : Completed shut down of DiscoveryClient Process finished with exit code 130 (interrupted by signal 2:SIGINT)