inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

kafka 관련해서 궁금한 점이 있습니다..

해결됨

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

안녕하세요. 현재 강의 너무 재밌게 듣고있습니다. 아무래도 제가 카프카에 대해 잘 모르다보니 감이 없어 이해도가 낮습니다. 조금 부족한 질문이라도 이해 부탁드립니다. ㅠㅠ 현재 강의에서 프로젝트에서 생성한 구조는 kafka source connector가 없이 kafka sink connector만 만들고 직접 kafka topic에 저장하고 이를 동기화시키는 방식이라고 이해했습니다. 혹시 제가 이해한 구조가 맞을까요? 혹시 현업에서도 source connector가 굳이 필요 없다면 위와 같은 구조로 사용해도 상관 없을까요? 현재 MSA 관련 프로젝트를 준비하고있으며. DB를 서비스별로 어떻게 분리해야할지 굉장히 고민하고 있습니다. 만약 배포되는 모든 서비스가 각자 다른 db를 가지고 있는 방식으로 구성해야한다면, 동일한 도메인 내에 있는 서비스는 db를 동기화를 시켜주는 작업이 필요할 것 같은데요. 제가 테스트해본 결과 source connector쪽 db에 데이터를 삽입했을 때는 sink connector쪽 db에도 데이터가 똑같이 삽입되지만, source connector쪽 db 데이터를 삭제하거나 수정하는 경우는 반영이 안되는 것을 확인했습니다. 혹시 이런 상황에서 참고할만한 키워드나 문서가 있을까요? ㅠㅠ

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
박정선 댓글 1 좋아요 0 조회수 290

API gateway에서 user service 라우팅시에 회원가입, 로그인, 그외로 나누는 이유가 궁금합니다

미해결

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

routes: - id: user-service # 로그인 uri: lb://USER-SERVICE predicates: - Path=/user-service/login - Method=POST filters: - RemoveRequestHeader=Cookie - RewritePath=/user-service/(?<segment>,*), /$\{segment} - id: user-service # 회원가입 uri: lb://USER-SERVICE predicates: - Path=/user-service/users - Method=POST filters: - RemoveRequestHeader=Cookie - RewritePath=/user-service/(?<segment>,*), /$\{segment} - id: user-service # 그 외 uri: lb://USER-SERVICE # ???? ?? predicates: - Path=/user-service/** - Method=GET filters: - RemoveRequestHeader=Cookie - RewritePath=/user-service/(?<segment>,*), /$\{segment} /**로만 넘겨도 될거같은데 회원가입, 로그인, 그 외 기능을 나누는 이유가 따로 있을까요 ?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
yjk9805 댓글 1 좋아요 0 조회수 367

FeignErrorDecoder.decode로 호출이 안될떄 확인해볼 부분이 있을까요??

미해결

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

강의해주신 거의 그대로 따라해보고 서칭도 좀 해봤는데, 원인 파악이 힘듭니다.. 서버 구동시 bean 생성도 되고 있는거 같은데, decode 메소드가 호출되지 않는 이유는 무엇일까요??

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
edu04 댓글 2 좋아요 0 조회수 334

게이트웨이가 307 Redirect 를 자동으로 재요청하도록 설정할 수 있을까요?

미해결

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

연결된 서비스 중 307 응답을 주는 서비스가 있습니다. 이 때, 이 응답에 포함된 로케이션으로 자동으로 재요청하도록 설정할 수가 있을까요? Zuul 을 사용할 경우, 동일 요청에 대해 정상적으로 리다이렉트되어 최종적으로 200 이 응답되는데, SCG의 Flux 를 사용하니, 리다이렉트가 되지 않습니다. 찾아보니, webClient 에 구성할 수 있다고 하는데요, SCG에서 구성된 빈을 사용하지 않는 것 같기도 합니다. WebClient.builder() .clientConnector(new ReactorClientHttpConnector( HttpClient.create().followRedirect(true) )) 게이트웨이가 307 Redirect 를 자동으로 재요청하도록 설정할 수 있을까요? 감사합니다.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
인프런21 댓글 2 좋아요 1 조회수 374

Eureka와 API gateway 관계에 관련해서 궁금한 것이 있습니다.

해결됨

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

안녕하세요. 수업 잘 듣고 있습니다. 굉장히 흥미롭게 수업을 듣던 도중 궁금한 것이 이것저것 생겨서 질문드립니다. 수업에서 좀 벗어난 이야기일 수도 있는데 찾아보니 잘 찾을 수가 없어서 질문 드립니다.(혹시 답변하기 힘드시면 안하셔도 괜찮습니다.) 구조를 보니 API gateway는 서비스 ID만 알고있고, 해당 서비스의 실제 ip 주소와 포트 번호를 알기위해서는 Eureka에게 request를 요청해야하는 것 같습니다. 그렇다면 API gateway는 사용자 요청이 들어 올 때마다 매번 Eureka에게 물어보는 방식인가요? 이렇게 되면 통신 오버헤드가 상당이 클 것 같다는 생각이 들어서 질문드립니다. Eureka와 서비스들 간에는 지속적으로 heartbeat message나 서비스 정보 등을 교환하기위해 통신하는 것 같습니다. 혹시 이런 통신은 전부 HTTP 프로토콜을 통해서 이루어지는 것인가요? 혹은 다른 프로토콜을 사용하여 정보를 주고 받나요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
박정선 댓글 2 좋아요 0 조회수 382

단일 모듈 다중 프로젝트 질문

해결됨

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

아직 완강은 하지 않았지만 궁금한 점이 생겨 질문드립니다 강의에서 단일모듈 다중 프로젝트로 진행을 하시는데, 이렇게 되면 CI/CD 관리는 어떻게 하는 지 궁금합니다 서비스 마다 Github Repository를 하나씩 만드는 건가요? 단일 프로젝트 멀티모듈은 권장하지 않으시나요? 현업에서는 주로 어떤 방법을 사용하는지 궁금합니다

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
Sanghoon Lee 댓글 2 좋아요 0 조회수 272

Eureka 서버 도커 환경 연결.

해결됨

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

안녕하세요, 현재 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-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
Jun 댓글 2 좋아요 0 조회수 480

신규 강의 질문

미해결

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

안녕하세요. 기존 강의 듣는 와중에 신규 강의가 추가되었는데 기존 강의 스킵하고 신규로 들어도 될까요?? 환경은 Spring Boot 3 이후 버전으로 설정하였습니다.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
노성웅 댓글 2 좋아요 0 조회수 260

yml파일 설정, 그리고 tomcat 서버로 작동

미해결

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

gateway.routes 형식이 아니라 위 사진 처럼 중간에 mvc가 들어가는 데 버전 업 되면서 문법이 바뀐걸 까요? apigateway-service 동작할 때 netty 서버로 동작하지 않고 tomcat 으로 작동하는데 이것도 버전으로 인해 바뀐 걸 까요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
댓글 2 좋아요 0 조회수 506

config-service를 profiles 별로 나눌수 있을까요?

미해결

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

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.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
노정호 댓글 1 좋아요 0 조회수 323

window docker rabbitmq 실행시 port access permission 문제로 실패 경우

미해결

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

해당 포트 제한되었는지 확인하여 풀어줘야함 (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

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
노정호 댓글 2 좋아요 0 조회수 310

강의 내용으로 (window)grafana 실행 안될 경우

미해결

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

bin 폴더에서 grafana-server start

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
노정호 댓글 1 좋아요 0 조회수 264

kafka 데이터 동기화시 멀티db는 어떻게 처리하는지 궁금합니다.

미해결

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

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 여러개가 동기화 설정 가능한지 궁금해서 문의드립니다.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
노정호 댓글 1 좋아요 0 조회수 437

너무 화가 나서 올립니다

미해결

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

신규 강의 업데이트 기다리다 너무 화가 나서 글을 올립니다. 강사님께 질문드리고 싶습니다 확실히 답변 주세요 도대체 강의 업데이트는 언제 됩니까? 올해 초부터 강의가 업데이트 된다고 답변하신지 벌써 반년이 다 지나갑니다 강사님은 강의를 업데이트 하실 생각이 진정으로 있으십니까? 저야 할인받고 구매하긴 했지만 강의가 한두푼 하는것도 아니고 8만8천원짜리 강의면 취준생들은 정말 고민의 고민 끝에 구매한 금액인데 이렇게 하시면 안되죠 물론 강의를 구입하기 전에 이전버전인걸 알고 구매했으니 제 잘못도 있는게 맞습니다. 하지만 강의 이미 녹화 다 끝났다고, 6월 되기 전에 올려주신다고 하셨잖아요 저는 강사님의 답변을 믿고 일단 기존 강의 다 들은 뒤에 업데이트 된 강의 들어야지 하는 생각으로 취준생의 입장에서 정말 거금을 들여 구매한건데 정말 화가 나네요. 이렇게 약속을 지키지 않으실걸 알았으면 굳이 이 강의 구매 안하고 타 사이트에 올라온 훨씬 더 저렴한 강의 구매했겠죠 저야 한달정도밖에 기다리지 않았지만 1월부터 기다린 수강생들은 뭐가 됩니까? 강의를 계속할 여력이 되지 않으시면 공지나 질문에 답변하실때 당분간은 좀 어려울 것 같다고 말씀하시거나 현재 진행사항을 솔직히 말씀하셔야하는것 아닌가요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
로봇병정 댓글 1 좋아요 4 조회수 624

RouteLocator class not found 해결법

미해결

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

dependencies에서 implementation 'org.springframework.cloud:spring-cloud-starter-gateway-mvc' 부분을 implementation 'org.springframework.cloud:spring-cloud-starter-gateway' 으로 바꾸시면 해결됩니다.

  • jpa
  • kafka
  • msa
  • rabbitmq
sprint 댓글 2 좋아요 1 조회수 608

비대칭 암호화를 사용하는 이유

미해결

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

강의 내용에서는 통합된 키로 암호화와 복호화를 하고 있어, 사실상 대칭 키와 같은 방법이라고 느껴집니다. 강의 내용에서는 비대칭 암호화의 필요성을 못느끼는데 스프링 클라우드 컨피그서버에서 비대칭 암호화에 대한 필요성과 사용하는 이유는 무엇인가요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
shmin11 댓글 2 좋아요 0 조회수 492

로그인 후에도 403 에러가 뜹니다.

미해결

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

안녕하세요 강의를 진행하던 도중 로그인 후에 jwt는 제대로 발급이 되는데 그 후 발급된 토큰을 사용하여 user-service에 접근을 시도하면 403오류가 뜹니다. 강의대로 제대로 잘 했는데 무엇이 문제인지 모르겠습니다.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
로봇병정 댓글 2 좋아요 0 조회수 468

스프링 부트 종료 시 오류

미해결

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 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)

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
로봇병정 댓글 2 좋아요 0 조회수 571

강의 중간중간 쿵쿵 거리면서 강의소리 안들려요

미해결

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

강의 중간중간 쿵쿵 거리면서 강의소리 안들려요

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
사부도 댓글 1 좋아요 0 조회수 293

인기 태그

인프런 TOP Writers

주간 인기글