묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
heartbeat에 관하여 질문이 있습니다.
강사님 heartbeat관련 문제를poll 사이즈를 늘려도 해결이 안되는데 보통 어떤 상황에 맞게 어떻게 설정하여 해결을 하나요?지금 전 aiokafka를 사용중입니다
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
pring security관련 질문드려요
저는 msa 구축된 서비스를 인수인계 받아 이해하려고 해당 강의를 듣고있습니다.때문에 지금 강의와 함께 진행중인 공부용 project하나, 운영되고 있는 project하나를 로컬소스로 가지고있는데요.spring secure cofig만 구현해주면 공부용 project에서 구동한 eureka에서 -> 운영project의 microservice가 연동이 됩니다.그리고 eureka서버 콘솔에는 8761로 연결실패했다고 뜹니다(처음에 8761로 공부했다가 7777로 변경) 디펜던씨와 websecurity java를 주석처리하면 정상동작합니다.. 왜그런건가요..도대체.. ? [공부project]Eureka(port:7777)-> gateway(port:8000) -> userservice(port: random)[운영project]gateway(port: 80) -> microservice1(8001)
-
미해결실습으로 배우는 선착순 이벤트 시스템
쿠폰 발급을 api로 제공할 경우, client에서 쿠폰 발급 여부를 확인할 수 있는 방법 문의드립니다.
안녕하세요. 강의 잘 들었습니다.강의 들으면서 궁금증이 생겼는데, 만약에 쿠폰 발급 기능을 API로 제공한다고 가정하면client -> 쿠폰 발급 기능 API 호출이 이루어지고쿠폰 발급 기능 API에서는 쿠폰 발급 여부를 확인하고 kafka로 produce하게 되는데, 이때는 실제로 쿠폰이 발급된 상태는 아닐 수도 있을 것으로 예상됩니다(실제 쿠폰이 발급되는 시점은 consumer에서 작업이 정상적으로 완료되어야하므로 트래픽이 많거나 하는 경우 시간차이가 더 심할 것으로 예상됩니다) 이러면 쿠폰 발급 기능 API에서 응답값은 어떤 값을 줘야할까요?쿠폰 발급 여부에서 발급이 가능하다면 쿠폰 발급되는것은 확정이기 때문에 발급되었다는 정보?쿠폰 발급 여부에서 발급이 가능하지만 추가적으로 polling해서 client 쪽에서 확인하도록 처리?제가 생각했을땐 위의 2가지정도로 가능할 것 같은데 강사님 의견이 궁금합니다..! 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
에러 처리 궁금한점
안녕하세요현재는 각 도메인에서 서킷브레이커를 적용했는대,api-gateaway에서는 처리를 해줄 수 없을까요?(공통적으로)현재는 도메인수가 적지만 만약에 라우팅 될 도메인들이 10개 이상 넘어가면 공통적으로 처리할 수 있는 것도 필요해보여서요. (어느 도메인으로 라우팅될조 모르지만)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
예외처리
안녕하세요. 문득 궁금한 점이 생겼는대요..주문이 성공하고나서 카탈로그 쪽에서 장애가 발생해서 롤백을 해야한다고 했을 때는 처리방안이 어떻게 되나요??찾아보니까 사가패턴 ? 이런거 사용하는것으로 보이는대, 다른 방안도 있을까요? (처리가 좀 어렵네요)
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
커넥트를 이용한 데이터 마이그레이션 질문드립니다
안녕하세요, 양질의 강의 항상 감사드립니다!다름이 아니라 현재 실무에서 스프링 배치를 이용해서 데이터를 DB to DB 로 마이그레이션하는 업무가 있는데 이를 강의에서 배운 카프카 커넥트를 활용하면 좋을것 같아서 고민중인데 잘 안풀리는 부분이 있어 질문드립니다 데이터 가공문제DB to DB 로 이관시 가장 좋은것은 커넥트만 써서 코드개발없이 마이그레이션 해버리는 것이 좋을것같은데 막상 실제 마이그레이션 할 때는 source 에서 퍼온 데이터를 sink 시 몇몇 컬럼은 데이터 가공하거나 없어지는 등 가공에 약간 손을 봐야하는 경우가 종종 있어서 이런 케이스에 대해 어떻게 해결을 해야할 지 고민입니다.고민을 해봤을 때 해결방안으로는 streams api 를 껴서 아래와 같은 아키텍쳐로 해결하는 방법이 있을 것 같은데요source -> topic -> kafka stream api 등을 통해 데이터 가공 후 topic 전송 -> sink 커스텀 sink 나 source 커넥터 개발어느 방법이나 결국 추가개발이 필요한건 매한가지라 현재 배치로 개발해놓은 구조를 커넥트를 이용하도록 바꿨을 때 이점이 명확하게 안보여서 좀 고민입니다... 데이터 마이그레이션 후 검증문제실무에서 배치로 마이그레이션 후 원본데이터가 있는 source db 와 마이그레이션 한 sink db 간에 건수비교 등 데이터 이관이 잘 되었는지 대사비교를 진행하는데요, 카프카 커넥트로 전환한다고 해도 이러한 대사비교는 여전히 필요하지 않을까 싶은데 실무에서 카프카 커넥트를 활용할 때 이러한 검증 문제를 어떻게 해결하는지 궁금합니다 카프카 커넥트를 실무에서 활용한 경험이 없다보니.... 강사님이라면 이러한 문제에 직면했을때 어떤 생각을 가지실 지 궁금합니다!감사합니다:)
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
docker 환경에서 eureka 대시보드 작동
8761:8761 로 포트 바인딩해서 정상 기동했고, docker log 에서도 정상적으로 기동해서 문제없어보이는데, 브라우저로 대시보드 웹페이지 접근하면 "ERR_EMPTY_RESPONSE" 로 나옵니다. 도원님 이미지로 기동해도 똑같은 현상입니다...!
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
cdc 동기화 테스트 환경 초기화
안녕하세요열심히 수강중인 수강생입니다.mysql과 postgresql을 동기화하는 cdc를 테스트중인데무언가 꼬였나봅니다.초기화하는 방법이 궁금합니다.강의의 어느 부분을 참고하면 되는지 답변 부탁드립니다감사합니다.
-
미해결카프카 완벽 가이드 - ksqlDB
ksqlDB 2부 강의의 PDF 문서는 어디서 다운 받을 수 있을까요
ksqlDB 2부 강의의 PDF 문서는 어디서 다운 받을 수 있을까요
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
파티션 1개당 컨슈머 1개가 좋다고 말씀 하셨는데용
강사님께서 컨슈머 개수는 토픽의 파티션 개수보다 같거나 작아야 한다고 하셨는데 토픽이 두개면 컨슈머를 새로 파면 될까요?파티션과 컨슈머가 1:1이여야 베스트라고 이해했는데 꼭 그렇지도 않을수 있나요? 업무와 강의 사이에서 헷갈리네용 ㅎㅎ
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
commit을 꼭 안해도 되나요?
commit을 꼭 하지 않아도 record가 안전하게 처리되는 방법이 있을까요? 파티션 하나에 토픽 하나로 써비스 하고 있는데 선생님 강의 보며 commit을 해야하겠다 생각했지만,기술팀 분에게 여쭈니 꼭 commit하지 않아도 된다고 파이프라인은 그냥 데이터 보내는거라고 해서 안해도 된다고 하시는데 음..어떻게 이해를 하면 좋을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka 동기화 문제에 대해 질문이 있습니다.
항상 좋은 강의 감사합니다. 궁금한 점이 있어 질문을 남깁니다. Kafka를 이용해서 멀티 서버에서 하나의 DB를 사용하여 동시성 문제를 해결하는 것을 이해했습니다. 상품 제고가 0이 되면 더 이상 주문을 못하도록 하게 하고 싶습니다. 하지만 Kafka 요청을 통해 비동기로 주문을 하기 때문에 주문을 신청한 순간에는 재고가 있어 주문이 되었지만 Kafka의 모든 처리를 하고 나니 재고가 0이 되어 사실 주문할 수 없는 상황이었습니다. 이런 상황이 발생할 수도 있지 않나요??이럴 때는 어떻게 대처를 해야 하나요??쓰기 작업과 읽기 작업에서 동기화 문제는 어떻게 처리할 수 있나요?
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
connect-distributed.properties 설정
궁금한 사항이 있어서 질문 남깁니다.connect-distributed.properties 설정 관련 내용입니다.3노드 클러스터로 구성했는데 커넥트 기동하기 강의 편에서설정하는 부분이 있습니다.제가 3노드로 구성했는데 # 삭제하고listeners=HTTP://192.168.20.26:8083,HTTP://192.168.20.27:8083,HTTP://192.168.20.28:8083이렇게 구성하는게 맞는건지 궁금합니다.현재 설정은 #으로 주석 처리되어있습니다.감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
ip주소 질문
안녕하세요 강사님!현재 Users Microservice - JPA 부분을 들으면서 user등록까지 잘 해서 테이블에도 잘 나온 상태입니다.저는 client -> api gateway -> 유레카 -> user서비스이렇게 이해하고 있습니다.그리고 현재 집에 같은 와이파이로 연결된 데스크탑으로 (api gateway 역할을 하고 있다고 이해해도 될지 모르겠지만) discovery service를 올려놓았고요.노트북으로 user-service를 만들었습니다.노트북 브라우저로 유레카를 접근하고자 할 때에는 데스크탑 아이피 주소를 입력해서 접근했습니다. 여기까지는 이해가 잘 되었습니다. 그리고 이제 user를 등록하기 위해 postman의 ip주소를 입력하려고 유레카에서 user-service의 포트를 확인하기 위해 클릭하니 노트북 주소와 랜덤 포트가 나오더라고요! 그리고 그 주소로 api를 요청하니 잘 되었습니다. 여기서 질문입니다.모든 서비스는 api gateway를 거치는 것 아닌가요? 그렇다면 api gateway가 동작하고 있는 데스크탑 ip주소를 요청해야하는거 아닌가요? 추가질문으로 환경설정에서 0을 해서 포트가 랜덤으로 설정하게 하시는 이유가 궁금합니다!자세하고 쉽게 설명해주시기 위해 강의 준비해주셔서 감사합니다:)
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
connector의 적정 tasks.max 값은 어떻게 될까요?
s3 sink connector 설정 관련해서 문의드립니다.적절한 tasks.max의 값은 어떻게 될까요?여러 요인이 있겠지만 특히 토픽의 파티션 개수와 관련하여 정해야하는지 문의드립니다.
-
해결됨카프카 완벽 가이드 - 코어편
백그라운드 스레드 Sender에 대한 예외처리도 가능한가요?
KafkaProducer의 send 메소드를 try-catch 하면 아래와 같은 예외는 잡을 수 있는데요 Throws:AuthenticationException – if authentication fails. See the exception for more detailsAuthorizationException – fatal error indicating that the producer is not allowed to writeIllegalStateException – if a transactional.id has been configured and no transaction has been started, or when send is invoked after producer has been closed.InterruptException – If the thread is interrupted while blockedSerializationException – If the key or value are not valid objects given the configured serializersTimeoutException – If the record could not be appended to the send buffer due to memory unavailable or missing metadata within max.block.ms.KafkaException – If a Kafka related error occurs that does not belong to the public API exceptions.Batch 로 레코드를 묶어서 실제로 브로커에게 전송하는 Sender Thread 에서 네트워크 이슈 등으로 실패하면 어떻게 처리해야할지가 궁금합니다.(retries가 아닌 예외로 잡는 방법이 없을까요? ㅠㅠ)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
random.value사용 질문있습니다.
안녕하세요 좋은강의 항상 감사합니다! 강의 도중 의문이 생겨서 문의드립니다. 혹시 yml설정에eureka: instance: instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}}${spring.application.instance_id을 포함하지 않고eureka: instance: instance-id: ${spring.cloud.client.hostname}:${random.value}${random.value}만 포함해도 동일한 값으로 인스턴스가 표시되던데 ${spring.application.instance_id를 포함하신 이유가 궁금합니다. 감사합니다!
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
Debezium 문의
Debezium 으로 cdc를 구축하고자 하는데 confluent kafka에서도 지원이 가능한지 문의드립니다.
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
문의드림
https://archive.apache.org/dist/kafka/2.8.2/kafka_2.13-2.8.2.tgz 여기서 다운 받는 카푸카랑 confluent kafka랑 다른지 문의드립니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
Lettuce를 이용해서 구현해보려고 했는데
안녕하세요, 강사님. 교육 잘 들었습니다!다름이 아니오라, 선착순 이벤트를 Lettuce를 이용해서 만들고, Test를 하는데 계속 실패해서 문의드립니다. 여기에 소스코드 첨부하기에는 다소 협소해서 구글드라이브 공유로 주소 남겨봅니다.https://drive.google.com/file/d/102enQDhbWt1ukvXnBFP_w9VZrKngJRn2/view?usp=drive_link LettuceLockCouponFacadeTest.java에서 Test를 하였습니다. 왜 결과가 계속 0인지 잘모르겠습니다