묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
window11 / 23.08.08 기준 설정
Eralang 최신버전 다운 가정 하에환경변수 ERLANG_HOME : C:\Program Files\Erlang OTP 추가기존의 path 변수에 %ERLANG_HOME%\bin 추가그 후 rabbitmq command prompt 여신 후 rabbitmq-server -detachedrabbitmq-plugins enable rabbitmq_management 순서대로 입력만약 안될 시에 rabbitmq-service.bat removerabbitmq-service.bat installrabbitmq-server -detachedrabbitmq-plugins enable rabbitmq_management 순서로 입력
-
미해결카프카 완벽 가이드 - 코어편
빅데이터 관리에 관해서
안녕하세요 강사님 강의 잘 듣고 있습니다.강의중간에 잠깐 언급하고 넘어가신 부분중에 궁금한게 있어서 질문드립니다.현업에서 실제로 하루에 10기가 혹은 20기가로 엄청난 양의 데이터가 나올때이 데이터를 실제로 어떻게 처리하는지 궁금합니다.감사합니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
안녕하세요 강사님 Redis Template에 관한 질문입니다.
사놓고 안 듣다가 이제 제대로 Redis를 학습해보려고 합니다.Redis Template를 사용하는 방식과그냥 Repository를 사용하는 방식이 있다고 들었습니다.Redis Template 말고 interface RedisRepository extends CrudRepository<>쿠폰 발급을 이렇게 정의해서 사용할 수 있나요?
-
미해결실습으로 배우는 선착순 이벤트 시스템
Kafka 처리량 조절 관련 문의드립니다
며칠전 수강시작했구요. 첫 완강한 인프런 유료강의가 되었네요.앞으로도 이러한 스타일 (주제중심, 적당한 총 길이)의 강의를 더 만들어주시면 감사하겠습니다.업무환경에서 다양한 기술스택을 경험하기 어려운 개발자들도 경험하면 좋을 기술스택도 좀 포함되면 더할나위 없이 좋을것 같구요. 제 경우엔 이 강의 덕분에 아주 오래전 살짝 경험해본 Redis 를 복습하게 되었고, Kafka 에 대해서도 입문하게 되었습니다.질문드립니다.이 강의에서 Kafka 이용의 장점은 처리량 조절이라고 말씀주셨습니다.처리량 조절의 구체적인 방안은구성방식, 요건등 상황에 따라 다양한 안이 있긴 하겠지만혹시 알려주실만한 방안이 있을까요? 개인적으로 찾아본것은 컨슈머 옵션중fetch.max.wait.ms 또는 fetch.max.bytes같은 옵션을 이용하면 괜찮겠다라는 생각이 들긴 했습니다.(쓰면서 생각드는건데.... 만약 두개 동시에 이용시 OR 조건으로 동작해야 될텐데.. 라는 생각이...) 경험하신 사례이든, 참고할만한 링크이든 혹시 알려주실수 있다면 감사하겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
homebrew와 m1 맥북으로 설치했다면 아래 명령어로 경로 확인 가능
mysql 접속 후 아래 명령어 2가지를 통해 알 수 있음.show variables like 'datadir';select @@datadir;
-
미해결카프카 완벽 가이드 - ksqlDB
drop stream delete topic 관련 오류
안녕하세요 강사님. 처음 stream 생성 후 삭제시에 토픽삭제 까지하는 명령어를 쳤을때 명령어실행후 ~was dropped. 라고 성공적으로 메시지도 뜨고 show streams; 했을때 stream 목록까지 안보이는데 console로 list확인했을떄 topic이 남아있는데 어떤 문제가 있어서 이러는걸까요?
-
미해결카프카 완벽 가이드 - 코어편
레인지 방식
서로 다른 토픽에 같은 컨슈머로 받을 때, 토픽 A에 orderId가 들어오고, 토픽 B에 orderId를 키로 가진 orderItem이 들어왔을 때, 어그리게이트를 하려면 같은 시점에 들어와야하지 않나요? 이해가 잘 안가서 질문드립니다.
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
브로커에 장애가 발생한 경우
예를 들어, 가용한 브로커개수가 3개고 특정 토픽의 복제 개수가 2로 운영하는 경우라고 가정하겠습니다.이때 이 토픽을 포함하고 있던 두 대중, 한대가 죽으면이 토픽은 그 브로커가 다시 살아날 때까지 복제개수가 한개가 되는건가요? 아니면 원래는 이 토픽을 갖고있지않던 다른 브로에 이 토픽이 추가되어 운영되나요 ? 복제개수가 2ㅇ,ㄴ
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
my_topic_users 가 자동으로 생성되지 않을때
아.. 설정 뭔가 잘 안되어서 계속 빠꾸를 했었네요 ^^;;; 혹시라도 저처럼 db insert 시 자동으로 topic이 생성 되지 않으시는분들은{ "name": "my-source-connect", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "connection.url": "jdbc:mysql://localhost:3306/mydb", "connection.user": "root", "connection.password": "passw0rd", "mode": "incrementing", "incrementing.column.name": "id", "table.whitelist": "users", "topic.prefix": "my_topic_", "tasks.max": "1", "poll.interval.ms" : 10000, "topic.creation.default.replication.factor":1, "topic.creation.default.partitions" : 1 } } 해당 두줄을 넣어 주시면 자동으로 생성이 됩니다 ^^;; "topic.creation.default.replication.factor":1, "topic.creation.default.partitions" : 1
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
encrypt.key-store.location 경로 에러 질문
Apple M1 Ventura 13.4.1 (컴퓨터)IntelliJ IDEA 2022.2.3 (개발환경)Spring Boot 2.7.13Spring Cloud 2021.0.7java 11 왜 인지는 모르겠는데 location 경로를 아래와 같이 적어야 성공이 됩니다.그리고 아래와 같이 'file:/' 로 적으면 실패하게 됩니다.IllegalStateException : Invalid keystore location 이라고 jks 파일 경로를 못찾는다는 에러가 뜹니다.아무리 구글링해도 이러한 설명은 찾지 못해서 스택오버플로우의 다양한 사례를 보다가 저렇게 경로를 적은 분이 있어서 저도 '/' 를 제거하여 'file:' 로 작성하니 바로 인식이 되어 성공했습니다. 어떻게 된 일인지 너무 궁금합니다. 여기 공식문서에서는 prefix로는 'file:' 을 적으라고 되어있고 윈도우 환경의 절대경로에서는 '/'를 추가하라고 적혀있습니다. 그 외의 글을 읽어도 이해를 못하겠습니다. 강사님께서도 맥북인데 "file:/"로 잘 사용하는 것으로 보아 스프링 버전업이 되면서 뭔가 달라진것인지 질문을 남깁니다.
-
미해결15일간의 빅데이터 파일럿 프로젝트
zookeeper 관련 문의드립니다.
실습에서는 server01에 zookeeper 설치하고, server02에서 zookeeper-client 실행시 문제가 없는데 제환경에서는 Server01에 설치하여 server01에서만 클라이언트 실행되고, server02에서는 오류가 나는데요 정상일까요
-
미해결실습으로 배우는 선착순 이벤트 시스템
이벤트 처리를 위한 여러가지 방식
안녕하세요 강사님! 강의 너무 잘 들었습니다. 강의를 다 듣고 몇가지 질문이 있어 이렇게 질문 드립니다.카프카에 대해서 명확히 이해하지 못해서 그러는데 Consumer에서도 결국 토픽에서 가져와서 MySQL DB에 저장을 하는 방식인데, MySQL의 처리속도가 1분에 100개라고 한다면 100분이 걸리는 것은 동일한거 아닌가? 하는 궁금증이 들었습니다! 카프카를 사용하는 이유는 단순히 수많은 요청이 왔을 때 처리량을 조절해 DB가 다운되지 않도록 함인가요?유명 연예인의 티켓팅 서비스 같은 경우처럼 좌석번호마다 다른 티켓으로 보는 경우는 어떤 방식을 사용하는게 맞는것인지 문득 궁금해졌습니다! 이전 동시성 강의처럼 Lock을 거는 방식을 사용하는 방식이 옳을지 아니면 이번 강의에서 Redis의 Set을 사용하여 좌석번호마다 좌석이 찼는지를 구별하는것이 옳을지, 아니면 또 다른 방법을 사용하는지 궁금합니다!마지막에서 쿠폰을 발급하다가 에러가 발생하면 여러가지 방식이 있다고 하셨는데 또 어떤 방식이 있는지, 또한 그 방식이 현재 강사님께서 설명해주신 FailedEvent와 무슨 장단점 차이가 있는지가 궁금합니다!
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
새로운 마이크로서비스가 추가된 경우 클라이언트 배포 여부
1분경, 새로운 마이크로서비스가 배포된 경우에도 API 게이트웨이를 두면 클라이언트는 API게이트웨이만 상대하면 된다고 하셨는데,새로운 마이크로서비스가 생기면 클라이언트는 배포를 하지 않아도 된다는 뜻으로 이해를 했는데,새로운 마이크로서비스와 연결하기 위해서는 클라이언트에도 연결을 위한 코드가 추가될텐데 클라이언트도 배포를 해야 하는 것은 아닌지 문의 드립니다 !감사합니다.
-
미해결카프카 완벽 가이드 - 코어편
auto.offset.reset은 첫구독일때만 의미가 있는건가요?
__consumer_offsets 토픽에 오프셋 데이터 적재 이후로는의미가 없는 설정값인게 맞을까요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
애플리케이션 개발 실습간 레코드 미등록 사항
안녕하십니까 애플리케이션 실습 중인데 레코드가 등록 되지 않아서 이런경우는 어떤것을 확인하면 되는지 알려주시면 감사하겠습니다. 이클립스에서 git에 올려주신 코드를 그대로 실행하였습니다. 그래서 아래와 같이 로그가 떴고아래와 같이 해당 토픽을 조회하였지만 아무 레코드가 조회되지 않았습니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
MySql Lock을 사용하지 않는 이유
강의에서 설명해주시기로는 쿠폰 개수를 가져오는 것부터 쿠폰 생성까지 lock을 걸어야 한다고 설명 주셨는데 이전 강의인 재고 관리 이슈와는 다르게 row가 아닌 table에 lock을 걸기 때문에 성능 이슈가 발생한다고 보면 될까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Filter우선순위 질문
안녕하세요! MSA강의 섹션2 Logging Filter관련 부분 듣다가 필터 우선순위와 관련된 궁금증이 생겨서 질문 남깁니다! GatewayFilter filter = new OrderedGatewayFilter((exchange, chain) -> { ServerHttpRequest request = exchange.getRequest(); ServerHttpResponse response = exchange.getResponse(); log.info("Logging Filter base message: {}",config.getBaseMessage()); if(config.isPreLogger()){ log.info("Logging Filter Start: request uri -> {}",request.getURI()); } //Custom Post Filter return chain.filter(exchange).then(Mono.fromRunnable(()->{ if(config.isPostLogger()){ log.info("Logging Filter End: response Code -> {}",response.getStatusCode()); } })); }, Ordered.HIGHEST_PRECEDENCE); return filter;위와 같은 방식으로 OrderedGatewayFilter를 사용해 filter를 생성했는데 이때 두번째 인자로 Ordered.HIGHEST_PRECEDENCE를 사용할 때와 Ordered.LOWEST_PRECEDENCE를 사용할 때 등장하는 filter 우선순위와 관련된 궁금증이 생겼습니다.HIGHEST를 사용할때는 우선순위가 높은 필터가 먼저 나와서 강의에서도 그렇고 코드 실행결과LoggingFIlter -> GlobalFilter -> CustomFilter의 순서로 Filter 가 등장했는데 그렇다면, 반대로 우선순위가 낮은 경우인 LOWEST를 사용할 때는 CustomFilter -> GlobalFilter -> LoggingFIlter의 순서로 filter가 등장해야한다고 생각하는데 결과가 그렇지 않아서 우선순위에 어떠한 개념이 있는지, 제가 어떤 개념을 놓치고 있는지 의문이 들어 질문글 남깁니다!
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
KStreamJoinKTable 에서
ADDRESS_TABLE에서 기존의 key에 주소를 새로 작성했을 때에는, consumer에 메시지가 새로 뜨지 않고, ORDER_STREAM에서 기존의 key에 새로운 value를 작성했을 때에만 consumer에 메시지가 새로 뜨는 이유는 무엇인가요?
-
해결됨카프카 완벽 가이드 - 코어편
Kafka에 설정값이 엄청 많은데요
이직하는 회사가 Kafka 기반으로 MSA간 통신을 해서max.in.flight.~ 강의까지 열심히 듣는 중입니다 ㅎㅎ보다보니까 설정할 수 있는 영역이 엄청 많은데요~보통 실무에서 로드테스트 등을 통해서 서비스에 적합한 값을 찾아가나요?어느정도 경험이 없다면 최적의 설정값을 찾기가 어려울 것 같아서요 ㅎㅎ
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
JDBC Connector 위치가 변경 된거 같습니다.
https://docs.confluent.io/5.5.1/connect/kafka-connect-jdbc/index.html 는 현재 메인 페이지로 이동이 되어서 다음 페이지에서 다운로드 받을수 있었습니다. https://www.confluent.io/hub/confluentinc/kafka-connect-jdbc