묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
catalog 테이블 자동 create-drop 가 안됩니다.
안녕하세요 application.yml 설정을하고 서버 시작 시 CREATE문자체가 동작을안하는것같습니다.application.yml 과 CatalogEntity.java 는 다음과같습니다. 문제가무엇일까요...
-
해결됨[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 커넥터를 두가지 사용하는 이유
안녕하세요 카프카 커넥터를 적용해보려고, 공부중인데, 많은 예시에서 JDBC Connector와 Kafka MySQL Conenctor 두가지를 사용하더라구요 JDBC Connector는 데이터를 관계형 DB와 잘 연동되게 가져오고 넣기위한 소스들을 제공하는 커넥터이고, Kafka MySQL Connector는 카프카와 MySQL DB를 연결하기위한 커넥터이다.라고 제가 이해하고 있는데, 맞는건가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
H2 최신 버전 사용 시 server mode 사용에 따른 application.yml 파일 설정(테이블은 생성됐는데 data.sql INSERT 안될 시 참고)
Spring Boot 3.XX 대 버전으로 최신 버전 사용 시 H2를 이전 버전으로 사용 불가합니다.따라서 H2를 따로 켜서 실행해준 후, catalog-service에서 Server mode로 연결하던지 따로 켜 둔 H2를 연결하던지 선택해야합니다. 이 때, Server Mode로 프로젝트와 H2를 연결시키면 강의 내용의 설정만으로는 data.sql의 INSERT 쿼리문이 동작하지 않습니다. 그렇기 때문에 관련 설정을 application.yml에 추가해주어야 하는데요. 아래와 같이 설정하면 됩니다. stackoverflow와 강사님의 2021년 답변을 참고하여 해결하였습니다. server: port: 0 spring: application: name: catalog-service h2: console: enabled: true settings: web-allow-others: true path: /h2-console datasource: driver-class-name: org.h2.Driver url: jdbc:h2:tcp://localhost/mem:testdb username: sa jpa: hibernate: ddl-auto: create-drop show-sql: true generate-ddl: true defer-datasource-initialization: true sql: init: mode: always eureka: instance: instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}} client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka logging: level: com.example.catalogservice: DEBUG 추가한 내용은 spring.jpa.defer-datasource-initialization과 spring.sql.init.mode 설정입니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka Docker-compose기동시 connect는 어떻게 설정하나요?
안녕하세요!Kafka Docker-compose기동시 connect는 어떻게 설정하나요?강의내용에는 이 부분이 생략된 것 같아서 질문합니다!
-
미해결카프카 완벽 가이드 - 코어편
멀티브로커에서 consumer 사용하기
안녕하세요 강의에서 멀티브로커 상에서 producer로 데이터를 집어 넣는 것은 실습을 하는데요데이터를 읽을 때는 kafka-dump-log를 사용해서 읽습니다. 혹시 consumer를 사용해가지고는 멀티 브로커 상에서는 읽을 수 없나요? confluent kafka community 버전에서는 불가능한 건가요? 가능하다면 스크립트를 알려주시면 감사하겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
후속 강의 Webflux가 듣고 싶습니다.
강의를 듣다보니, Webflux 후속 강의를 준비하실 생각이 있다고 하셨는데, 계획이 있을까요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
브로커, 토픽, 파티션관계
안녕하세요!조금 애매한 부분이 있어서요!-브로커 3대토픽 2개파티션 - rf 설정 2- 로 만약에 설정을 한다면, 각 브로커에 토픽 2개씩 설정이 된거고, 파티션은 2개로 설정했기에 브로커 3개에서 라운드로빈으로 설정이 되는건가요?이게 .. 어렵네요. 브로커 3대. 딱설정하고.. 토픽이 2개라고한다면 각 브로커마다 토픽이 테이블처럼 있을거고..이제 파티션을 라운드로빈으로 돌려서 설정을 해야하는데.. 이게맞는거지 ㅠㅠㅠ
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
커넥트(소스), 커넥트(싱크)
안녕하세요!커넥트(소스), 커넥트(싱크)에 대한 이해가 부족합니다.DB 연결시, 커넥션풀과 같은 느낌이라고 생각하면 되는건가요? 아니면 그 풀안의 한개의 커넥션이라고 생각하면 되는걸까요? 아니면 전혀 다른 개념인지요. 감사힙낟!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring Boot 최신 3.XX 버전 Security 설정 공유드립니다.
최신 버전 진행하시는 분들을 위해 공유드립니다.Spring Security Configuration 설정 내용이 변경되었습니다. WebSecurityConfigurerAdapter 클래스가 deprecated되었는데요. 해당 클래스를 상속 받아 config 메소드를 구현하는 대신 SecurityFilterChain을 반환하고 직접 Bean으로 등록하도록 설정 방법이 바뀌었습니다. package com.example.userservice.security; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.web.SecurityFilterChain; @Configuration @EnableWebSecurity public class WebSecurity { private static final String[] WHITE_LIST = { "/users/**", "/**" }; @Bean protected SecurityFilterChain config(HttpSecurity http) throws Exception { http.csrf().disable(); http.headers().frameOptions().disable(); http.authorizeHttpRequests(authorize -> authorize .requestMatchers(WHITE_LIST).permitAll()); return http.build(); } } 강의 내용을 진행하기 위해서 강의에 나온 설정을 위처럼 설정해보았는데요. 일단 이렇게 설정하면 강의를 진행하는데 문제 없을 것이니 참고 바랍니다~
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
gradle
안녕하세요만약 9003번을 커맨드라인에서 gradle 명령어로 띄우려면 어떻게 해야하나요?
-
미해결카프카 완벽 가이드 - 코어편
멀티 브로커에서 브로커 중지되는 문제
안녕하세요 강사님, 유익한 강의 감사드립니다.멀티 노드 카프카 클러스터 부분을 EC2(t2.micro) 인스턴스에서 실습중에 문제가 생겨 질문드립니다.1. 주키퍼 기동2. 브로커1 기동 3. 브로커2 기동4. 브로커3 기동순서로 실행중에 브로커3을 기동하면 브로커 1이 중지되는 현상입니다.다시 브로커1을 기동하면 브로커2가 중지되는걸 보면 브로커 3대가 함께 실행되지 않는것 같습니다.바쁘시겠지만 도움 주시면 정말 감사드리겠습니다!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka 설정 관련해서 올려주신 goolge drive 링크가 만료되었습니다
Error: Could not find or load main class org.apache.kafka.connect.cli.ConnectDistributedCaused by: java.lang.ClassNotFoundException: org.apache.kafka.connect.cli.ConnectDistributedkafka connect 설정도중 위의 에러가 해결되지 않아 통합 파일을 받으려했는데 페이지를 찾을 수 없다고 나옵니다.https://www.inflearn.com/questions/601451/windows-kafka-%EC%A0%95%EC%83%81-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94-%EB%B2%84%EC%A0%84-%EC%A0%9C%EA%B3%B5%EB%AC%B8%EC%9D%98https://drive.google.com/file/d/1GDrBskzAE4Y_GojNeXhGeN2YeMFrpFe-/view?usp=sharing링크 공유 다시해주시면 감사하겠습니다.
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
kafka connect 실행시 오류
m1 맥북사용자인데, 강사님 가이드에 따라 virtural box에 ubuntu를 해보려니, 설치가 안도고 계속 virtural box가 오류가 나서, 그냥 맥의 로컬에 설치하여 강의를 쫓아가고 있어요. 그런데, connector 부팅시 오류가 발생합니다.connect-distributed $CONFLUENT_HOME/etc/kafka/connect-distributed.propertiesgroupId를 바꿔도 봐도 동일합니다.해당 포트도 중복되나 싶어서 다른 것으로 바꿔도 동일합니다. 확인해 주실 수 있을까요? [2023-02-12 01:06:44,572] ERROR [Worker clientId=connect-1, groupId=connect-cluster-b] Uncaught exception in herder work thread, exiting: (org.apache.kafka.connect.runtime.distributed.DistributedHerder:334)java.lang.IllegalStateException: There are no in-flight requests for node 0 at org.apache.kafka.clients.InFlightRequests.requestQueue(InFlightRequests.java:62) at org.apache.kafka.clients.InFlightRequests.completeNext(InFlightRequests.java:70) at org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:872) at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:569) at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:265) at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.pollNoWakeup(ConsumerNetworkClient.java:306) at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:536) at org.apache.kafka.clients.consumer.KafkaConsumer.updateAssignmentMetadataIfNeeded(KafkaConsumer.java:1262) at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1231) at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1211) at org.apache.kafka.connect.util.KafkaBasedLog.poll(KafkaBasedLog.java:315) at org.apache.kafka.connect.util.KafkaBasedLog.readToLogEnd(KafkaBasedLog.java:351) at org.apache.kafka.connect.util.KafkaBasedLog.start(KafkaBasedLog.java:201) at org.apache.kafka.connect.storage.KafkaConfigBackingStore.start(KafkaConfigBackingStore.java:294) at org.apache.kafka.connect.runtime.AbstractHerder.startServices(AbstractHerder.java:132) at org.apache.kafka.connect.runtime.distributed.DistributedHerder.run(DistributedHerder.java:320) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1589)[2023-02-12 01:06:44,582] INFO Stopped http_localhost8084@30cecdca{HTTP/1.1, (http/1.1)}{localhost:8084} (org.eclipse.jetty.server.AbstractConnector:381)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Order 서비스의 도메인
Order Service URL 주소에서IP:PORT/user/{user-id}/order 이렇게 주소를 주셨는데Restful API 에서 주문 도메인에 있는 정보를 유저 아이디 값으로 가져오고 싶을 때GET ip:port/order?user-id='' 로 가져와도 상관없을까요? 이게 API 디자인 가이드에 위배 되는 행위인지 궁금합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Actuator를 통해 앱을 재시작하지않고 DB 커넥션변경 가능할까요?
Actuator와 cloud bus라는 좋은 기능을 보면서 궁금증이 생겼습니다!이를 통해 자바 어플리케이션을 재시작하지않고 DB 커넥션변경 가능할까요??actuator로 db를 계속 변경 할 수 있으면 너무 좋을 것 같습니다!!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
인증 관련해서 질문드립니다.
안녕하세요. 정말 유용한 강의 해주셔서 감사드립니다. 인증 처리 관련해서 궁금한점이 있어 질문 드려요!!궁금한점은 로그인 이외 요청에서는,AuthenticationFilter 를 통과하지 않고 진행되는 것인가요?.antMatchers("/**") .hasIpAddress("172.30.1.60") .and() .addFilter(getAuthenticationFilter()); 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카에 잘못된 데이터를 보냈을 때 해결 방법이 궁금합니다
제가 처음에 json 파일을 아예 잘못된 형식으로 보내는 바람에 kafka sink connector가 fail 상태가 되었었습니다.근데 문제는 이 상태에서 sink connector를 재실행을 해도 source connector랑 sink connector, topic까지 모두 새로 만들어도 계속해서 task에 잘못 요청한 데이터가 남아있어서 아무리 오랜 시간을 기다려도 계속해서 Exception이 발생한 상태가 되어 있습니다..결국 한참을 구글링하면서 찾아보다가 토픽 내에 있는 메세지를 삭제하는 방법을 찾아서 해결했습니다 ㅜㅜ 여기서 제가 궁금한 점은source connector에 잘못된 정보를 보내는 바람에 sink connector가 먹통이 되어버리면 메세지나 토픽 자체를 수동으로 삭제해주는 것 외에는 방법이 없을까요? 구글을 찾아봐도 마땅한 방법을 찾지 못했습니다이건 제가 카프카에 대해 아직 똑바로 이해하지 못해서 나온 질문인데, connector랑 topic까지 모두 따로 만들어도 하나의 sink에서 문제가 생기면 모든 커넥터가 정상적으로 동작하지 않는 게 원래 이런 게 맞는 건지 궁금합니다. 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
파일들의 내용이 자꾸 과거로 돌아가는데 혹시 이런 현상 아시나요?
사용 환경은 맥, intellij입니다spring config 시작한 뒤로 이러는데yml파일이나 xml(메이븐)파일을 수정해놔도 어느 순간 이상해서 보면 수정 전으로 돌아가있습니다 ㅜㅜ인텔리제이 캐시도 초기화해봤고 git에도 올려서 커밋까지 했는데 왜이러는지 모르겠어요..강의랑은 무관한 질문인 것 같아서 망설이다가 이것 때문에 전혀 진도를 나가지 못하고 있는 상황이라 여쭤봅니다혹시 모르신다면 제가 알아서 잘 해결해보겠습니다! 불필요한 질문 드려 죄송합니다.
-
미해결카프카 완벽 가이드 - 코어편
클러스터 환경구성시 replication factor 1일때 메시지전송 관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 공부하다가 궁금한게 생겨서 질문드립니다. 현재 클러스터 구성으로 실습을 진행중인데 broker 3개의 cluster에서 replication factor를 1로설정하였습니다. 여기서3번 브로커에 test라는 토픽을 생성후에 bootstrap-server 에 1,2번 서버를 넣고 토픽조회시 test 토픽이 조회가 되던데 복제본이 존재하지않는 상황에서 어떻게 조회가 되는건가요? 클러스터 구성시 자동으로 토픽을 공유하는건가요?3번 브로커에 test라는 토픽을 생성하였고 복제본도 존재하지않고 리더파티션과 통신하는걸로 알고있는데 리더파티션이 3번에 존재함에도 불구하고 브로커 1번이나 2번을 기준으로 topic에 붙어서 producer에서 메시지가 보내지는 이유가 궁금합니다. 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
@RequiredArgConstructor를 붙이면 클래스 캐스트 예외가 발생하고 붙이지 않으면 발생하지 않습니다
저처럼 습관적으로 RequiredArgConstructor 붙이시다가 초반부터 못 넘어가는 분 계실까봐 글 남깁니다생성자 따로 만들어도 저게 있으면 Enviroment만 있는 생성자로 빈을 만들기 때문에 계속 에러납니다.