inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

@EnableKafka 인식안됨

미해결

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

다른 분들은 저와 같은 경우 없으신가요?ㅠㅠ 아래와 같이 gradle 파일에 디펜던시 추가해줬습니다. 그런데 implementation 'org.springframework.kafka:spring-kafka' @EnableKafka 어노테이션을 인식하지 못하네요ㅠㅠ 구글링해도 kafka 어노테이션 관련 글은 없어서 질문드립니다.ㅠㅠ <코드내용> <오류 정보 >

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

IgnoreException 동작이 주석의 설명과 좀 다른것같습니다

해결됨

장애 없는 서비스를 만들기 위한 Resilience4j - CircuitBreaker

IgnoreException으로 주석을 삭제하고 실행시켜볼 때 예외를 호출부로 던지는게 아니라 retry를 실행하지 않고 그냥 바로 fallback method를 실행하는데 혹시 제가 실행한 결과가 이상한걸까요? 공식문서상으로도 자세한 설명이 안보이는데 이러한 동작이 맞을까요?

  • spring-boot
  • msa
  • circuit-breaker
  • resilience4j
muyaho 댓글 1 좋아요 1 조회수 389

postgresql 연동 문의

해결됨

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

Postgresql DB 사용시 auto_increment 옵션이 업어서 아래와 같이 작성하여 order등록 테스트 진행시 id 값이 null 이어서 에러가 나타납니다. create table orders ( id int primary key, user_id varchar(50) not null, product_id varchar(20) not null, order_id varchar(50) not null, qty int default 0, unit_price int default 0, total_price int default 0, created_at datetime default now() ) 테이블을 직접 생성하지 않고 소스의 jpa의 create 옵션을 사용하여 orders 테이블을 생성하고 상품을 등록하면 id 값이 자동으로 등록이 되는되 내부적으로 id값이 맵핑되는 로직이 따로 존재 하는 건가요? 테이블을 수동으로 생성 후 id 값을 맵핑시킬수 있는 로직이 따론 존재 하는 걸까요? @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id;

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

도메인 영역에 대한 질문

해결됨

Microservice 설계(with EventStorming,DDD)

클린 아키텍처와 헥사고날 아키텍처 모두 개발자가 비즈니스에 집중할 수 있도록 하는 구조인데, 이때 도메인 모델을 풍부한 도메인 모델이 아닌 빈약한 도메인 모델로 가져가고, 트랜잭션 스크립트 패턴을 사용해도, 클린 아키텍처와 헥사고날 아키텍처라고 할 수 있는건가요?

  • 아키텍처
  • msa
  • ddd
백린이 댓글 1 좋아요 0 조회수 344

클린 아키텍처와 헥사고날 아키텍처 질문

미해결

Microservice 설계(with EventStorming,DDD)

어떻게 보면 클린 아키텍처와 헥사고날 아키텍처도 스프링 처럼 개발자에기 비즈니스에 집중할 수 있도록 도와주는 것 같은데 맞을까요?

  • 아키텍처
  • msa
  • ddd
백린이 댓글 2 좋아요 0 조회수 513

m2 폴더 질문

미해결

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

현재 maven이 아닌 gradle로 빌드 환경을 구성하고 있습니다. m2/repository/org 폴더는 존재하지만 그 안에 mariaDB가 없습니다. build.gradle에서 mariadb-client를 추가해준다고 해서 제 PC 환경에 설치되는 것이 아닌것 같은데 어떻게 해야 할까요..

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
마카롱2개 댓글 2 좋아요 0 조회수 905

EDA 이해

미해결

Microservice 구현 (with EDA,Hexagonal, DDD)

EDA가 결국 이벤트를 기반으로 비즈니스적으로 응집력 있게 관리되어야 하는 데이터들을 어떻게 핸들링할 것인가 인것 같은데, 제가 맞게 이해한 걸까요? 이를 위해서는 결국 도메인 중심적으로 생각하는게 좋구요!

  • EDA
  • msa
  • ddd
백린이 댓글 1 좋아요 0 조회수 489

보상트랜잭션 후 클라이언트 알림 방법 등

미해결

Microservice 구현 (with EDA,Hexagonal, DDD)

강사님 덕분에, EDA, DDD, 헥사고날 등 어려운 개념에 대해 좀더 친숙해질 수 있어서 너무 감사합니다! 강의를 다 듣고 몇가지 궁금증이 생겨 질문 남겨요! 대여 취소, 반납 취소 등으로 보상트랜잭션이 필요한 경우, 보통 클라이언트에게 알림(?)은 어떻게 보내나요? 알림 서버를 사용하나요? EDA 시, 1개의 서버의 응답이 너무 느린 경우, 비동기더라도 느릴수 있는데, 이럴 걸 대비하여 자체적으로 타임아웃시간을 정해서 해당 시간 초과면 시간 초과 응답을 클라이언트한테 보내나요?

  • EDA
  • msa
  • ddd
백린이 댓글 1 좋아요 0 조회수 396

질문

미해결

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

@requestHeader 에 first-request를 지우면 filter 가 안되니 분기가 안되려나요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
황인규 댓글 1 좋아요 0 조회수 376

MSA 구조에서 공통 클래스

미해결

Microservice 구현 (with EDA,Hexagonal, DDD)

강의를 듣다보면, 여러 MS 사용되는 클래스의 경우, 복붙해서 사용하시는데, 실무에서는 여러 MS 사용되는 클래스의 경우 어떻게 처리하나요? MS 서버별로 팀이 다르다고 했을 때에는 복붙으로만 해결되지 않을 수도 있을 것 같아서요!

  • EDA
  • msa
  • ddd
백린이 댓글 2 좋아요 0 조회수 938

@Repository 두 곳에서 사용하시는 이유

해결됨

Microservice 구현 (with EDA,Hexagonal, DDD)

코드를 보면, Adpater 클래스와 Repository 인터페이스, 이렇게 2곳에서 @Repository을 사용하고 계시는데, 2곳에서 사용하시는지 이유가 궁금합니다!

  • EDA
  • msa
  • ddd
백린이 댓글 1 좋아요 0 조회수 485

인증서버를 겸하는 api gateway로 구성하려면

해결됨

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

안녕하세요. 강의 초반부 수강 중인데 궁금한 게 생겨서 질문드립니다. Spring Security, JWT, OAuth 등을 사용한 인증서버를 api gateway가 겸하게 하고자 하는데요, UserMicroService의 내용을 Spring Cloud Gateway 프로젝트에서 진행하면 되는 걸까요? 해당 강의를 참고해서 api gateway를 사용한 프로젝트를 Aws에 올릴 예정이다보니 비용에 대해 고려하게 되는데요, 해당 강의에서 api gateway와 관련해서 사용하게 될 서버 개수가 궁금합니다. 섹션7 까지 강의대로 하면 마이크로서비스나 DB는 제외하고, Spring Cloud Gateway와 관련한 서버만 총 3개 사용하게 되는 건가요? (Eureka, Spring Cloud Gateway, Spring Config Cloud Server)

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

강의 소제목에는 비대칭키를 활용한 암호화라고 되어있는데

미해결

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

apiEncryptionKey.jks (개인키)와 이에 파생된 public.key (공개키)를 생성한 것 까지는 이해가 되었습니다. 강의중 encrypt/decrypt 를 하는 과정에서 모두 apiEncryptionKey.jks (개인키)를 사용한 대칭키 방식을 사용한 것 같은데 비대칭키 전략을 사용하는 부분이 있나요? 아니면 비대칭키를 추후에 활용할 수 있도록 파생키를 생성하는 방법을 알려주신건가요? java key store를 통해 구성정보의 암/복호화에 대칭키 방식을 사용한건지 비대칭키 방식을 사용한건지 궁금합니다.

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

강의에 사용된 코드는 제공되지 않나요

미해결

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

보통 강의는 github 주소가 제공되는데 강의에 사용된 코드는 제공되지 않나요

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

Entity와 VO에 대해..

미해결

Microservice 구현 (with EDA,Hexagonal, DDD)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 도메인모델을 만들때 Entity와 VO는 단순히 불변성을 가지고 구분하는 것인지요? 그리고 JPA에서의 Entity와는 다른 개념인지 궁금합니다. 감사합니다.

  • EDA
  • msa
  • ddd
  • entity
Minkyu Ha 댓글 1 좋아요 0 조회수 791

DTO 클래스의 위치에 대해 질문있습니다!

미해결

Microservice 구현 (with EDA,Hexagonal, DDD)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 좋은 강의 감사드립니다 ㅎㅎ (강의에서 나온대로 패키지와 클래스를 구성한 상태입니다.) 혹시 DTO를 framework 패키지에 넣는 이유가 있을까요? 저는 개인적으로 UseCase나 InputPort에 framework 패키지에 대한 import가 생기기 때문에 의존성이 생긴다고 판단해 application에 DTO를 생성할 것 같습니다. 혹시 제가 생각하지 못한 다른 이유가 있는지 궁금합니다!

  • EDA
  • msa
  • ddd
dev.taeyeong 댓글 1 좋아요 1 조회수 783

circuitbreaker custom config 관련

미해결

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

강의를 따라하며 circuitbreaker custom config 파일을 만들었는데요. 빈에 주입하게 되실겁니다. 하고 코드에서 별다른 수정이 없는데 적용이 된건가요? 빈에 따로 주입하지않아도 만들기만하면 알아서 적용이 되는건가요???

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

Kafka connector

미해결

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

window 사용 중이고, 서버는 전부 열려있습니다만, POSTMAN에서 JSON 형식으로 { "name" : "my-source-connect", "config" : { "connector.class" : "io.confluent.connect.jdbc.JdbcSourceConnector", "connection.url":"jdbc:mysql://localhost:3306/mydb", "connection.user":"root", "connection.password":"test1357", "mode": "incrementing", "incrementing.column.name" : "id", "table.whitelist":"users", "topic.prefix" : "my_topic_", "tasks.max" : "1" } 를 보냈을 때 뜨는 오류가 "error_code": 500, "message": "Failed to find any class that implements Connector and which name matches io.confluent.connect.jdbc.JdbcSourceConnector, available connectors are: PluginDesc{klass=class org.apache.kafka.connect.file.FileStreamSinkConnector, name='org.apache.kafka.connect.file.FileStreamSinkConnector', version='3.6.0', encodedVersion=3.6.0, type=sink, typeName='sink', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.file.FileStreamSourceConnector, name='org.apache.kafka.connect.file.FileStreamSourceConnector', version='3.6.0', encodedVersion=3.6.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorCheckpointConnector, name='org.apache.kafka.connect.mirror.MirrorCheckpointConnector', version='3.6.0', encodedVersion=3.6.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorHeartbeatConnector, name='org.apache.kafka.connect.mirror.MirrorHeartbeatConnector', version='3.6.0', encodedVersion=3.6.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorSourceConnector, name='org.apache.kafka.connect.mirror.MirrorSourceConnector', version='3.6.0', encodedVersion=3.6.0, type=source, typeName='source', location='classpath'}" 입니다. 어떤오류인지 잘 모르겠네요

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

테스트 코드 작성

미해결

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

항상 강의 잘 듣고 있습니다! postman으로 테스트하다가, 이걸 테스트 코드 로 작성해 자동화하면 어떨까? 라고 생각을 해서 테스트 코드를 작성 중입니다. 문제는 테스트 코드에서 이벤트 관련 통합 테스트를 어떻게 작성해야 효율적인지 모르겠어요.. 기존의 테스트 코드로는 이벤트가 한 번씩 늦게 전달되는 경우도 있어서 간헐적으로 실패를 했습니다. 이를 해결하기 위해서 Timeout을 걸어 일정 시간 이내로 이벤트가 도착하는지 체크하고 있는데, 이렇게 되니 전체적인 테스트 속도가 느려지게 되더라고요. 보통 이벤트 관련 테스트는 어떻게 작성을 하나요?

  • spring-boot
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
구자현 댓글 1 좋아요 0 조회수 431

gateway와 userService 간의 인증 정보 공유 문제에 관해 질문 드립니다!

미해결

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

안녕하세요 선생님 강의 잘 듣고 있습니다. 강의 수강 중 질문이 생겨서요! user-service는 mvc 기반의 app으로 spring security를 통해 인증을 처리하므로, tomcat의 JSESSIONID 를 기반으로 하여 Security Context에 Authentication 객체의 유무를 통해 인증이 된 사용자인지 안 된 사용자인지 Security Filter Chain에서 체크를 하는 것으로 알고 있습니다. 그런데 gateway에서 설정하신 application.yml 에 따르면 모든 요청 헤더에 존재하는 Cookie를 삭제하고 --> 서버에서 매번 새 요청으로 인식 gateway 는 netty 서버를 사용하고 user-service는 tomcat 서버를 사용하잖아요. 그래서 두 서버 사이 Context가 공유가 안 될것 같아서요... 그래서 gateway에서는 인증을 했다고 요청을 넘기지만 user-service에서는 그 요청을 받았을 때 해당하는 SESSIONID 의 Context에 Authentication 객체가 존재하지 않아 인증이 필요한 url에 접근할 수 없을 거라고 생각했습니다. 어떻게 인증 완료 정보를 두 서비스가 공유할 수 있는 건가요?? 또한 gateway도 이중화 구성이 가능한가요?.. userService를 2,3중화 한 것처럼 gateway도 여러 대의 인스턴스로 기동하면 eureka에서 다중 구성한 서버로 인식해주는 건가요??... 혹시 gateway에도 Spring Security를 적용시키는 경우도 있을까요?.. 권한 별 접근 제어를 구현하기 위해서는 해당 라이브러리를 사용해야 할 것 같아서요! 또한 gateway에서 커스텀 필터를 만들 때, apply 메소드의 return 타입이 GatewayFilter 로 되어있는데, Mono<Void> 타입으로 return을 해도 되는 건가요?... Mono<Void>는 mvc에서 return 타입이 void 인 것과 같은 의미 아닌가요?... 열심히 강의해주셨는데 질문의 너무 많아 죄송합니다..ㅠ 답변 기다리겠습니다! 항상 감사드립니다!!

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

인기 태그

인프런 TOP Writers

주간 인기글