묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결카프카 완벽 가이드 - 코어편
컴프런트 카프카 현재 가장 최근 버전 중 실무에서 사용하기 적합한 버전은 뭘까요?
안녕하세요 개발자님.컴프런트 카프카 최근 버전들 중 실무에서 사용하기 좋은 버전은 뭐가 있을까요?(connect, ksql 등 호환 잘되는) ubuntu 22.04 LTS 카프카 와 주키퍼 버전이 궁금합니다. 오래전 집에서 강의 따라 해보고, 실무에 사용 해보고 싶어서 다시 처음 부터 듣고 있는데, 카프카 와 주키퍼 호환에 대해 궁금 하여 문의 드리게 되었습니다.공식 문서를 참조 하라는 인강 내용이 있었지만, 확실한 마음이 놓이지 않아 문의 드리게 되었습니다.최신 버전이면서, 실무에 사용해도 적합한 버전이 궁금합니다,
-
미해결카프카 완벽 가이드 - 코어편
virtual box 환경 설정중 질문드립니다.
virtual box에 우분투 22.04, 20.04모두 시작하기 누르면 저런 shell화면만 나오고 더 진행이 되지 않는데 어떻게 해야하나요?참고로 맥북 M2 입니다. 감사합니다..
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Serializable에 대해서 질문입니다!
안녕하세요 강사님!제가 토이 프로젝트를 진행했을 때 엔티티에 implements Serializable를 하지 않았을 때 오류가 나지 않고 정상적으로 잘 되었는데(스프링 부트 3.2.4 사용 했습니다)강사님 께서는 앞선 카탈로그 엔티티 및 오더 엔티티에서 둘 다 Serializable를 implements 하셨는데 강의 말씀 하시기를 직렬화 때문에 사용을 하셨다고 말씀해주셨는데 해당과정에서 Serializable을 implements 을 하지 않으면 어떤 부분에서 오류가 나는지 여쭤 볼 수 있을까요??어느 부분에서 implements Serializable가 필요한 부분인지 모르겠습니다 ㅠㅠ보통 일반적으로 스프링에서 Jackson? 으로 직렬화를 자동으로 지원해주어 implements를 따로 해줄 필요가 없다고 알고 있었습니다.기초적인 질문이었다면 먼저 죄송하다는 말씀 드리면서 질문 드리겠습니다!감사합니다.
-
해결됨대용랑 채팅 TPS에 대한 stateful 서비스 구축하기
동영상 오타.
대용랑 채팅 TPS에 대한 stateful 서비스 구축하기Kafka의 Pub/Sub Modeling을 활용해서, 데이터를 관리해봐요. 편에서 config.toml 파일에서 [kafka]URL 보시면 localhost:9292로 오타네요. 9092가 맞는거 아닌가요?
-
미해결카프카 완벽 가이드 - 코어편
동영상 및 보이스 실시간 전송 관련 문의 드립니다.
안녕하세요 개발자동영상 및 보이스 실시간 전송 관련 문의 드립니다. IOT 장비로 들어오는 동영상 및 보이스를 실시간(준실시간) 으로 kafka로 전송 받을 수 있을까여? 아니면 동영상 이나 보이스 는 실시간으로 받는 방법으로는 kafka 말고 다른 것을 사용 하나요? 너무 궁금 합니다.
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
Debezium cdc source for MSSQL-Server [등록오류]
MSSQL-Server 용도로 Debezium cdc source를 등록해서 사용하고 싶습니다만, 아래와 같이 config 등록 시{ "name": "mssql_cdc_oc_source_01", "config": { "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", "database.encrypt": "false", "database.hostname": "***.***.***.***", "database.port": "1433", "database.user": "userid", "database.password": "password", "database.names": "dbname", "topic.prefix": "MSSQL", "schema.history.internal.kafka.bootstrap.servers": "192.168.56.101:9096", "schema.history.internal.kafka.topic": "sh-history", "schema.history.internal.store.only.captured.tables.ddl": "true", "schema.history.internal.store.only.captured.databases.ddl": "true" } } 아래와 같은 에러가 납니다.,ㅠㅠ HTTP/1.1 400 Bad RequestContent-Length: 280Content-Type: application/jsonDate: Mon, 16 Dec 2024 02:16:43 GMTServer: Jetty(9.4.44.v20210927){ "error_code": 400, "message": "Connector configuration is invalid and contains the following 3 error(s):\nA value is required\nA value is required\nA value is required\nYou can also find the above list of errors at the endpoint /connector-plugins/{connectorType}/config/validate"} 문제 해결 방법이나, SQL-Server용 예제 소스를 제공해 주실 수 있는지요???회신 메일주소는 : sentrino@naver.com입니다. 감사합니다!
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
동영상 및 이미지 처리 관련 문의 드립니다.
안녕하세요. 개발자님 실시간 이미지 및 동영상 을 kafka 로 전달 전처리 이후 다시 kafka로 전송 하는 방식이 긍금합니다.IOT 장비(카메라) 로 이미지 및 동영상으로 받아 kafka 전달 받아 전처리 후 다시 kafka로 전달 하고자 합니다. 해본 적 없어 궁금 하여 문의 드립니다. 이미지나 동영상의 경우 데이터 가 클거라고 생각 합니다. 그럴 경우 데이터를 세그먼트하여 카프카 전달 하는 걸까요? 글러 경우 순서가 보장 되어야 된느데, 하나의 파티션으로 만 전달 하여 처리 하나요? 아니면 세그먼트에 식별값과 offest을 넣어 한곳에서 받아서 처리 하는 방식인가여? 동영상과 이미지 처리에 대한 경험이 없어 이해할 수가 없네요. 동영상 및 이미지를 카르카로 전송 하는 방법과 카프카로 전송된 동영상과 이미지를 수신 하는 방법이 궁금합니다.connetor or stream 보편적으로 이 도구를 사용 하나요? 혹시 이런 사례 발표한 레퍼런스가 있다면 추천 부탁드립니다.
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
주키퍼 없이 사용 문의 드립니다.
안녕하세요 개발자님 컨프런트 카프카 사용하다가, 주키퍼 없이 사용 해보고 싶어서 문의 드립니다. Apach Kafka 에서 Kraft 모드 를 사용 하면 주키퍼 없이 사용된다는 글을 보았습니다. 실제로 사용해도 되는지 현재 날짜 기준으로 괜찬은지 궁금 하며, 버전은 무엇을 써야 하는지 금굼 합니다. 또 Kraft 모드가 아직 실무에서 적합하지 않다면, 주키퍼를 같이 사용하는 Kafka 오픈소스 버전은 현재 날짜로 기준으로 실무에서 사용하기, connect, stream, ksqldb 등 호환이 잘되는 버전이 궁금합니다, 별개로 강의에서 실무에는 최소 3개의 브로커가 사용을 권장 한다고 하셧는데, 브로커 1대의 의미가 물리 디바이스(pc) 를 의미 하는 건가요? 즉 3대의 pc 가 필요 하다는 말인가요? 권장 스팩으로 메모리 32Gi 라고 되어있는데, 32gi 이상의 메모리를 탑재 하면, 그 이상의 페이지 캐시가 되는 걸까요? 아니면 설정이 따로 존재 하는 걸까요? 아니면 32gi이상은 효율이 떨어져서 권장 하지 않는 건가요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
kafka 를 띄우니 오류가 발생하고 종료합니다.
kafka 를 띄우니 오류가 발생하고 종료합니다. 무엇을 살펴 봐야 하나요? [2024-12-12 23:29:35,030] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)kafka.common.InconsistentClusterIdException: The Cluster ID CwTLqMY7QRKRU5AggS5Agw doesn't match stored clusterId Some(NfwQFiB2RUSszayrQc61NA) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong. at kafka.server.KafkaServer.startup(KafkaServer.scala:223) at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:44) at kafka.Kafka$.main(Kafka.scala:82) at kafka.Kafka.main(Kafka.scala)
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
zookeeper 실행시 오류 .. 무엇을 해야 할까요?
- 카프카를 공부하시면서 생긴 질문들을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.zookeeper 실행시 오류가 발생했습니다. 무엇을 해야 할까요? 교재에 있는 그대로 ./bin/zookeeper-server-start.sh ./config/zookeeper.properties이렇게 실행했구요. ./config/zookeeper.properties 내용은 아래와 같습니다. # Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with# this work for additional information regarding copyright ownership.# The ASF licenses this file to You under the Apache License, Version 2.0# (the "License"); you may not use this file except in compliance with# the License. You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.# the directory where the snapshot is stored.dataDir=/tmp/zookeeper# the port at which the clients will connectclientPort=2181# disable the per-ip limit on the number of connections since this is a non-production configmaxClientCnxns=0# Disable the adminserver by default to avoid port conflicts.# Set the port to something non-conflicting if choosing to enable thisadmin.enableServer=false# admin.serverPort=8080
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
파티션 추가로 해결할 수 있지만 늘어난 파티션은 줄일 수 없지 않나요?
안녕하세요 강의 잘 듣고 있습니다 ㅎㅎ 앞선 강의에서 파티션은 늘릴 수는 있어도 줄일 수는 없다고 말씀하신 것 같은데 예시로 들으셨던 추석, 선날 등 특정 시점에 요청이 증가하는 케이스에서 컨슈머 랙이 지속적으로 증가하게 되는 것을 해결하기 위해서 파티션과 컨슈머를 증가시켜서 컨슈머 랙을 줄일 수 있겠지만 이후에 다시 요청이 줄었을 때는 이미 늘어난 파티션을 줄일 수 없는데.. 해당 해결방법 말고 다른 방법이 있는 걸까요? 아니면 늘어난 채로 계속 서비스하는 건지 궁금합니다 ㅎㅎ
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
깃허브에서 똑같이 user-service security
클래스 두개 그대로 복붙하는데 "로그인만 안됩니다" 오류내용은 { "timestamp": "2024-12-11T18:03:34.879+00:00", "status": 404, "error": "Not Found", "trace": "org.springframework.web.servlet.resource.NoResourceFoundException: No static resource .\n\tat org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)\n\tat org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52)\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088)\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978)\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)\n\tat org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365)\n\tat org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)\n\tat org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131)\n\tat org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227)\n\tat org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)\n\tat org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\n\tat org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)\n\tat org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)\n\tat org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)\n\tat org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)\n\tat org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)\n\tat org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243)\n\tat org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)\n\tat org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)\n\tat org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238)\n\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)\n\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n", "message": "No static resource .", "path": "/" }포스트맨에서 이렇게뜨고 로그인말고는 다됩니다 로그인할때 post요청보낼때 저렇게뜹니다 코드는 git에서 복붙한거라 다른게없스니다
-
미해결실습으로 배우는 선착순 이벤트 시스템
ApplyService 의 총 처리 시간이 궁금합니다.
Redis 로 문제점 해결하기 강의 7분 쯤에 나오는 설명으로, redis 는 싱글스레드 기반으로 동작하기 때문에 Thread 1 에서 10:00 에서 10:02 동안 incr coupon_count 메서드가 동작한다고 했을 때 10:02분에 끝나고나서 thread 2의 incr coupon_count 가 동작한다고 말씀하셨는데요 이는 딱 redis 가 싱글스레드로 동작하는 시간 만큼만이 lock 이 걸린 시간이라고 보면 될까요? 예컨데 ApplyService 의 apply 가 싱글 스레드, 단일 요청에 딱 2분이 걸리는 메서드라고 가정하고 그 안에 있는 couponCountRepository.increment() 가 1초가 걸린다고 가정하면 100개의 요청이 동시에 들어온 경우, 전체 요청이 모두 처리되는 시간이 2분 + 1*100초 = 3분 40초가 걸린다고 계산하는게 맞는거죠? 2분*100이 아니라요
-
해결됨[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 2.8.2 버전과 많이 차이가 있을까요??.
강의 매우 유익하게 듣고 있습니다. 다른 질문들도 많이 찾아보았는데요 3버전은 실무에서 적극적으로 활용하고있는 사례가 없다라고 말씀하셨는데 카프카 버전이 현재기준으로는 2버전은 2.8.2버전까지 나온걸로 아는데 강의 들을 때 사용하는 2.5.0버전이 아직 현역인지 궁금합니다 ㅎㅎ (제가 근무하는 회사는 카프카 적용사례도 없고, 현황을 알기 어려워서요 ㅠㅠ) 우선 강의 기준 2.5.0으로 열심히 강의 듣고 2.8.x버전과 차이를 스스로 공부해보려고 하는데 개발하는데 차이가 없다면 2.8.2바전 기준으로 주키퍼버전도 올리고 듣는게 좋을까요? ㅎㅎ
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 컨슈머와 커넥트에 대해 질문 드립니다.
강의를 들으면 카프카 커넥트와 카프카 컨슈머는 사실상 같은 동작을 하는데 왜 두 가지가 있나? 에 대해 고민하면서 의문이 든 점들을 여쭤볼려고 합니다.카프카 커넥트를 사용하는 경우에는 "반복적인 파이프라인을 만들어야할 경우 분산모드 커넥트를 설치하고 운영"을 강조하셨습니다. 여기서 말하는 의미가 데이터 전처리 없이 바로 DB와 같은 외부에 데이터를 넘기는 경우를 말씀하시는 걸까요??그럼 카프카 컨슈머는 데이터 전처리가 필요할 때 사용하는 것일까요??전처리가 필요하고 단발적인 처리가 아닐 경우에는 consumer application을 파티션 갯수만큼 띄워서 데이터 처리량을 높이는게 맞는 걸까요??---------------------------------------그리고 마지막으로 "카프카 기술별 아키텍처 적용 방법 정리" 를 생각하지 말고 동일한 구현을 커넥트와 컨슈머 각각 구현한다면 커넥트가 조금 더 빠른 성능을 보이는걸까요??제가 아직 많이 부족해서 이해가 잘안되는 부분 질문드립니다!! 답변해주시면 정말 감사드리겠습니다!!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
자료 다운받고 굿노트에
옮기려는데 자꾸 암호를 적으라고해서요..;;
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
Kafka 서버에서 Kafka만 실행하는 게 일반적인가요?
안녕하세요.현재 KRaft를 도입하기 위해 하드웨어 구성을 검토 중입니다. 해소가 안 되는 궁금증이 있어 질문 올립니다.Kafka 서버에서 Kafka만 실행하는 게 일반적인지 궁금합니다. 로그 수집을 위해 Kafka 서버에서 opensearch도 함께 사용할 계획이었습니다. 일반적인 경우에 이렇게 하는 경우가 있는지, 아니면 분리하는 게 맞는지 선생님의 의견을 듣고 싶습니다.
-
미해결카프카 완벽 가이드 - 코어편
Zookeeper 관련 문의 드립니다.
개발자님 Zookeeper 관련 전문가의 견해가 궁금 합니다. Apache Kafka 에 Zookeeper 가 없이 설치 해서 사용 할 수 있는 것에 궁금한 것이 있습니다. 1.Zookeeper 설치 없이 사용 하는 것은 Apache Kafka 에 Zookeeper 가 하던 task를 Apache Kafka 가 처리 하게 개발 하는 걸까요? 분리된 작업을 합치면 성능적 효과가 있는 걸까요? 2.Zookeeper 설치 없이 사용 하는 Apache Kafka 를 하나의 PC에 docker container로 단일 브로커로 3개의 container을 만든다면, 실무에서 사용 사능 할까요? 3.클러스터 환경에서 브로커를 두어 replication을 통해 가용성을 증가 시키는 것은 이해 했습니다. 혹 하나의 PC 에서 브로커를 여러개 두는 것은 가용성과는 크게 관련이 없는 것일까요?4.PC 한대에서 여러개의 Topic 을 통해 message 를 분류 해서 받는 것과,PC 한대에서 브로커를 여러개 두어 message 를 분류 해서 받는 것의 성능 적 차이가 있을까요?ex) 하나의 브러커에 2개의 토픽, 1번 토픽은 이미지만 받고 2번 토픽은 동영상만 받고,2개의 브로커에 각각 1나의 토픽으로 1번 브로커에 이미지만 받고, 2번 브로커에 동영상만 받고,둘다 consumer 가 소비 하는 데이터는 동일 하다는 가정 입니다. 5하나의 PC에 container 환경 구축 보다, 그냥 설치 해서 하는 방법이 좋다고 알고 있습니다. 또 성능이 좋아서 하나로도 충분 하다고 알고 있는데 맞는 걸까여? 성능을 측정 하는 것에 지식이 없어서 문의 드립니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
user service에서는 토큰 검증을 하지 않나요?
제가 작성한 user-service SecurityConfig 입니다강의 내용과 최대한 유사하게 작성한거 같은데 GET /users에서 403이 발생하여 문의드립니다.gateway service에서 토큰 검증을 하여도 user service에서는 검증된 토큰인지 알 수 없으니 403이 발생하는게 맞는거 같은데 강의에서는 api가 제대로 동작하여 왜 그런지 궁금합니다 @RequiredArgsConstructor @Configuration public class SecurityConfig { //AuthenticationManager가 인자로 받을 AuthenticationConfiguraion 객체 생성자 주입 private final AuthenticationConfiguration authenticationConfiguration; private final JwtProvider jwtProvider; private static final String[] WHITE_LIST = {"/login", "/h2-console/**", "/health-check", "/welcome", "/join"}; @Bean public SecurityFilterChain config(HttpSecurity http) throws Exception { AuthenticationManager authenticationManager = authenticationManager(authenticationConfiguration); AuthenticationFilter authenticationFilter = new AuthenticationFilter( authenticationManager, jwtProvider); http.csrf(csrf -> csrf.disable()) //CSRF 보호를 비활성화. REST API 환경만 비활성화. Web Form 기반에서는 필요. .formLogin((auth) -> auth.disable()) // .httpBasic((auth) -> auth.disable()) .headers(header -> header.frameOptions( frameOptionsConfig -> frameOptionsConfig.disable()) ) //h2 console iframe을 사용하기 때문에 X-Frame-Options 헤더를 비활성화 .authorizeHttpRequests(auth -> auth.requestMatchers(WHITE_LIST).permitAll() .anyRequest() .authenticated() ) .authenticationManager(authenticationManager) .addFilterAt(authenticationFilter, UsernamePasswordAuthenticationFilter.class) .sessionManagement((session) -> session .sessionCreationPolicy(SessionCreationPolicy.STATELESS)); return http.build(); } //AuthenticationManager Bean 등록 @Bean public AuthenticationManager authenticationManager(AuthenticationConfiguration configuration) throws Exception { return configuration.getAuthenticationManager(); } @Bean public BCryptPasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } }
-
미해결카프카 완벽 가이드 - 코어편
한대의 PC 에서의 Docker container 를 통한 cluster 구성
안녕 하세요. 개발자님 궁금 한 것이 있어 문의 드립니다. 1.1대의 PC 에서 docker container 환경에서 confluent kafka를 container 로 3개 를 뛰어서, 3 개의 Broker 환경을 만든다 가정 하고 --replication-factor=3 개로 설정 해서 사용 하는 방법에 대해서 어떤 생각을 가지고 있으신가요? 2.docker image confluent kafka 를 사용 하는 것은 기존 container 환경에서 하지 않는 방시과 성능적인 차이가 있을까요? 너무 궁금 합니다.
주간 인기글
순위 정보를
불러오고 있어요