묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Eureka와 API gateway 관계에 관련해서 궁금한 것이 있습니다.
안녕하세요. 수업 잘 듣고 있습니다.굉장히 흥미롭게 수업을 듣던 도중 궁금한 것이 이것저것 생겨서 질문드립니다. 수업에서 좀 벗어난 이야기일 수도 있는데 찾아보니 잘 찾을 수가 없어서 질문 드립니다.(혹시 답변하기 힘드시면 안하셔도 괜찮습니다.)구조를 보니 API gateway는 서비스 ID만 알고있고, 해당 서비스의 실제 ip 주소와 포트 번호를 알기위해서는 Eureka에게 request를 요청해야하는 것 같습니다. 그렇다면 API gateway는 사용자 요청이 들어 올 때마다 매번 Eureka에게 물어보는 방식인가요? 이렇게 되면 통신 오버헤드가 상당이 클 것 같다는 생각이 들어서 질문드립니다.Eureka와 서비스들 간에는 지속적으로 heartbeat message나 서비스 정보 등을 교환하기위해 통신하는 것 같습니다. 혹시 이런 통신은 전부 HTTP 프로토콜을 통해서 이루어지는 것인가요? 혹은 다른 프로토콜을 사용하여 정보를 주고 받나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
단일 모듈 다중 프로젝트 질문
아직 완강은 하지 않았지만 궁금한 점이 생겨 질문드립니다강의에서 단일모듈 다중 프로젝트로 진행을 하시는데, 이렇게 되면 CI/CD 관리는 어떻게 하는 지 궁금합니다 서비스 마다 Github Repository를 하나씩 만드는 건가요?단일 프로젝트 멀티모듈은 권장하지 않으시나요?현업에서는 주로 어떤 방법을 사용하는지 궁금합니다
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Eureka 서버 도커 환경 연결.
안녕하세요, 현재 Spring Cloud와 Docker 강의를 보며 개인적으로 Docker 환경에 Eureka 서버를 배포하고 공부 중입니다. 현재 Eureka 서버 및 데이터베이스, 스프링 환경을 Docker 환경에 배포하는 것까지는 완료한 상태입니다. 하지만 문제는 Eureka 서버에서 스프링 서버로의 링크를 클릭하면 "http://2a2bf313bd4f:60000/actuator/info" 이 사이트에서 HTTPS를 지원하지 않기 때문에 경고가 표시됩니다. 이 문제를 어떻게 해결할 수 있는지 궁금합니다.Eureka 서버에 등록된 정보링크 정보 현제 docker-compose file 정보 입니다.services: spring-cloud-config-service: build: ./spring-cloud-config-service container_name: spring-cloud-config-service ports: - "8888:8888" networks: - my-network spring-cloud-discovery: build: ./spring-cloud-discovery container_name: eureka-server ports: - "8761:8761" networks: - my-network environment: eureka.client.serviceUrl.defaultZone: http://spring-cloud-discovery:8761/eureka/ mysql: image: mysql:8.0 container_name: mysql environment: MYSQL_ROOT_PASSWORD: MYSQL_DATABASE: employees ports: - "3306:3306" networks: - my-network spring-cloud-study-user-service: build: ./spring-cloud-study-user-service container_name: spring-cloud-study-user-service ports: - "60000:60000" environment: SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/employees SPRING_DATASOURCE_USERNAME: SPRING_DATASOURCE_PASSWORD: SPRING_CLOUD_CONFIG_URI: http://spring-cloud-config-service:8888 eureka.client.serviceUrl.defaultZone: http://spring-cloud-discovery:8761/eureka/ depends_on: - mysql - spring-cloud-discovery - spring-cloud-config-service networks: - my-network networks: my-network: driver: bridge Spring-cloud-study-user-service.yml 파일입니다.server: port: 60000 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://mysql:3306/employees # url: jdbc:mysql://localhost:3306/employees username: password: jpa: hibernate: ddl-auto: update show-sql: true cloud: config: uri: http://config-service:8888 name: spring-cloud-study-user-service application: name: spring-cloud-study-user-service eureka: instance: preferIpAddress: true 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 Spring-cloud-discovery yml 파일 정보입니다.server: port: 8761 spring: application: name: spring-cloud-discovery eureka: instance: hostname: eureka-server client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://127.0.0.1:8761/eureka server: enableSelfPreservation: false
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
신규 강의 질문
안녕하세요. 기존 강의 듣는 와중에 신규 강의가 추가되었는데 기존 강의 스킵하고 신규로 들어도 될까요?? 환경은 Spring Boot 3 이후 버전으로 설정하였습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
yml파일 설정, 그리고 tomcat 서버로 작동
gateway.routes 형식이 아니라 위 사진 처럼중간에 mvc가 들어가는 데 버전 업 되면서 문법이 바뀐걸 까요?apigateway-service 동작할 때 netty 서버로 동작하지 않고 tomcat 으로 작동하는데 이것도 버전으로 인해 바뀐 걸 까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
config-service를 profiles 별로 나눌수 있을까요?
config-service 서버 profile 설정 질문드립니다. 예를들어 profile3가지로 나눌 경우application.ymlapplication-dev.ymlapplication-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.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
window docker rabbitmq 실행시 port access permission 문제로 실패 경우
해당 포트 제한되었는지 확인하여 풀어줘야함 (ex 4369 port)-확인: netsh interface ipv4 show excludedportrange protocol=tcp-해제:net stop winnatnetsh int ipv4 add excludedportrange protocol=tcp startport=4369 numberofports=1net start winnat
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 내용으로 (window)grafana 실행 안될 경우
bin 폴더에서grafana-server start
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka 데이터 동기화시 멀티db는 어떻게 처리하는지 궁금합니다.
kafka가 뭔지 잘 몰랐는데 덕분에 잘 수강하고 있습니다.order-service로 하나의 db에 데이터동기화는 이해했습니다.제목의 질문인 멀티db의 경우는 어떻게 처리하는지 궁금해서 질문드립니다. order-service1 --- order-db1order-service2 --- order-db2 이렇게 연결된 서비스의 경우kafka로 db1에 입력된 정보가 db2로db2는 db1으로 서로 동기화도 가능한가요? 서비스가 더 증가할 경우도 가능한가요? (db1 -> db2,3,4...) db를 master/slave 구성은 해봤는데 msa로 동일db 여러개가 동기화 설정 가능한지 궁금해서 문의드립니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
너무 화가 나서 올립니다
신규 강의 업데이트 기다리다 너무 화가 나서 글을 올립니다.강사님께 질문드리고 싶습니다 확실히 답변 주세요도대체 강의 업데이트는 언제 됩니까?올해 초부터 강의가 업데이트 된다고 답변하신지 벌써 반년이 다 지나갑니다강사님은 강의를 업데이트 하실 생각이 진정으로 있으십니까? 저야 할인받고 구매하긴 했지만 강의가 한두푼 하는것도 아니고 8만8천원짜리 강의면 취준생들은 정말 고민의 고민 끝에 구매한 금액인데 이렇게 하시면 안되죠 물론 강의를 구입하기 전에 이전버전인걸 알고 구매했으니 제 잘못도 있는게 맞습니다.하지만 강의 이미 녹화 다 끝났다고, 6월 되기 전에 올려주신다고 하셨잖아요저는 강사님의 답변을 믿고 일단 기존 강의 다 들은 뒤에 업데이트 된 강의 들어야지 하는 생각으로 취준생의 입장에서 정말 거금을 들여 구매한건데 정말 화가 나네요. 이렇게 약속을 지키지 않으실걸 알았으면 굳이 이 강의 구매 안하고 타 사이트에 올라온 훨씬 더 저렴한 강의 구매했겠죠 저야 한달정도밖에 기다리지 않았지만 1월부터 기다린 수강생들은 뭐가 됩니까? 강의를 계속할 여력이 되지 않으시면 공지나 질문에 답변하실때 당분간은 좀 어려울 것 같다고 말씀하시거나 현재 진행사항을 솔직히 말씀하셔야하는것 아닌가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의를 신규버전에 맞춰 업데이트 한다고 되어있는거 같은데 언제 하실 예정인지 알 수 있을까요??
Spring Boot 3.2 + Spring Cloud 2023.0.0업데이트 예정 (2024-01)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
RouteLocator class not found 해결법
dependencies에서implementation 'org.springframework.cloud:spring-cloud-starter-gateway-mvc' 부분을 implementation 'org.springframework.cloud:spring-cloud-starter-gateway'으로 바꾸시면 해결됩니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
비대칭 암호화를 사용하는 이유
강의 내용에서는 통합된 키로 암호화와 복호화를 하고 있어, 사실상 대칭 키와 같은 방법이라고 느껴집니다. 강의 내용에서는 비대칭 암호화의 필요성을 못느끼는데 스프링 클라우드 컨피그서버에서 비대칭 암호화에 대한 필요성과 사용하는 이유는 무엇인가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
로그인 후에도 403 에러가 뜹니다.
안녕하세요강의를 진행하던 도중 로그인 후에 jwt는 제대로 발급이 되는데 그 후 발급된 토큰을 사용하여 user-service에 접근을 시도하면 403오류가 뜹니다. 강의대로 제대로 잘 했는데 무엇이 문제인지 모르겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
스프링 부트 종료 시 오류
안녕하세요 강의를 수강하던 도중 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 DOWN2024-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 InstanceInfo2024-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 update2024-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: 2042024-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 down2024-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 servercom.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 DiscoveryClientProcess finished with exit code 130 (interrupted by signal 2:SIGINT)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 중간중간 쿵쿵 거리면서 강의소리 안들려요
강의 중간중간 쿵쿵 거리면서 강의소리 안들려요
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
traceId, spanId 모두 콘솔에 출력이 되는데 zipkin에는 검색되는 traceId가 하나도 없습니다. 무엇이 문제일까요?
인프런 Ai 가 아닌 강사님이 도움을 주시길 바라봅니다... 스프링부트3가 되면서 sleuth가 사용이 안 된다 하여, 강사님 깃허브에 배포된 프로젝트와 커뮤니티 게시판을 참조하여 디펜던시를 다 수정하고 테스트 하였으나 order-service와 user-service 같은 traceId가 출력이 되고, 혹시 다운받은 zipkin이 문제인가 하여 도커로 zipkin을 실행해봤으나 브라우저로 접속한 zipkin에서는 아무런 traceId가 검색이 되지 않고 어떠한 요청들도 기록이 되지 않습니다. 무엇이 문제일까요...? 스택오버플로우에 비슷한 사례들을 찾아봐서 amqp와 같이 쓰면 문제가 생긴다 이런 저런 디펜던시 추가해봐라 하는 것들을다 따라봤으나 해결이 되지 않습니다. 삼일째 이 문제에서 벗어나지 못하고 있습니다... 간곡히 도움을 부탁드립니다... 어떠한 키워드라도 좋으니 혹시 이 글을 보시는 다른 수강생분들도 도움 좀 주세요...
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring Cloud Gateway - Filter 적용에서 yml적용과 java 코드 적용시
선생님께서 Spring Cloud Gateway - Filter 적용에서 yml적용과 java 코드 적용시 두가지 방법이 있다고 알려주셨습니다.둘다 방과 같은 기능이라는걸 알게되었지만 어떤경우나 환경에 yml 이나 java코드를 사용하는지 궁금합니다.또한 두가지 방법중 실무에서는 어떤방법을 선택해서 사용하는지 질문드립니다
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
로그에 traceId, spanId 모두 잘 찍히는데 traceId로 조회가 안 됩니다.
로그에 traceId, spanId 모두 잘 찍히는데 브라우저의 zipkin에서 traceId로 조회를 하면 no trace가 뜨네요. 스프링부트 3에 맞춰서 깃허브에 올려주신 자료 참조해서 디펜던시 맞게 설정하고 yml에도 올려주신 자료대로 수정했는데 이런 문제가 생기면 어떤 부분이 잘못된 걸까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka 테스트.. 오류
D:\코딩\kafka_demo\kafka_2.13-3.7.0> .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties The input line is too long. The syntax of the command is incorrect. D:\코딩\kafka_demo\kafka_2.13-3.7.0>입력 명령어가 너무 길다고 계속 오류가 나는데 버전을 낮춰야할까요..?