묻고 답해요
147만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결쿠버네티스 101 - 클라우드/서버 개발 첫걸음
섹션2 Yaml로 Deployment 실습 시 Pod 이미지가 없다는 오류
안녕하세요.강의에 나온 것처럼 똑같이 Yaml을 만들어 Deployment를 생성하는데 아래처럼 오류가 나는데 잘 모르겠습니다.실제 Deployment와 Pod도 replicas=3으로 모두 생성되기는 하는데 대시보드에서 보면 오류가 있다고 나옵니다.도커 이미지를 조회하면 분명히 있거든요. (docker image inspect hello-kube:v1) 오류 내용Container image "hello-kube:v1" is not present with pull policy of Never
-
미해결실습으로 배우는 선착순 이벤트 시스템
질문드립니다
1분 42초에 lock을 건다고 하는데 이게 어떤 lock을 건다는 의미인지 모르겠습니다.설명해주시기로는 범위로 락을 잡고 처음에 쿠폰 발급 여부를 가져와서 판단하는 방식입니다.라고 설명해주셨는데 여기서 lock이란게 뭐고 lock을 사용하는 이유가 뭔지 설명해주시면 감사하겠습니다.if문을 통해 확인한다는게 lock인건지 아니면 apply메서드 자체에 lock을 걸고 다른 프로세스가 접근하지 못하게한다는건지 모르겠내요유저 아이디별로 쿠폰 발급 개수를 한개로 제한할때 Redis에 Set자료구조를 써도되고 Map을 써도될거같은데 Set을 소개해주신 이유가 있을까요?
-
미해결실습으로 배우는 선착순 이벤트 시스템
데이터베이스에 쿠폰 insert 실패시
안녕하세요. 강의 잘 듣고있습니다 !카프카 컨슈머가 쿠폰레포지토리에 save하는 과정에서 모종의 이유로 실패하여 롤백 되었을 때, 레디스에서는 이미 increment가 되었는데 이걸 하나 빼줘야되는거 아닌가요?이런 처리는 어떻게하는지 궁금합니다 !추가) 뒤에 얘기가 나오는군요 ㅎㅎㅎ.. FailedEvent를 저장하는 것도 실패하였다면, 배치프로그램이 제 역할을 못할 것 같은데요.. ! 그렇다면 로그를 보고 판단해야할 것 같은데 실무에서도 그렇게 진행이 될까요 ? 그리고, FailedEvent를 삽입하는 것에서도 에러가 발생할 수 있기 때문에 또 try catch로 묶어서 이것 마저 실패할 경우에도 로그를 따로 남겨야하는지 궁금합니다 !
-
미해결실습으로 배우는 선착순 이벤트 시스템
mac m2 arm64 vim docker-compose.yml설정
zookeeper에서 오류가 발생해서 테스트 진행시 어려움이있습니다. 강의상의 내용으로 진행되었고,해당내용으로는 진행되지 않아 웹서핑 이후version: '3'services: zookeeper: image: zookeeper ports: - "2181:2181" kafka: build: . ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: localhost KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/docker.sock확인되는 내용으로 변경했는데도 잘 안되더라구요 ㅜ늦게라도 확인되신다면 회신부탁드립니다!!
-
미해결실습으로 배우는 선착순 이벤트 시스템
컨슈머 테스트 중 쓰레드 슬립을 사용하지 않았는데 성공하는 이유가 뭘까요??
안녕하세요. 강의 잘 보고 있습니다. 저는 현재 kotlin, postgreSQL을 사용하고 있으며M3 맥북 환경입니다 강의에서 쓰레드슬립 사용 전 테스트케이스가 실패하는걸 확인할 수 있는데, 왜 저는 테스트가 성공되는걸까요..?? 원래 실패 해야 정상인 상황일까요? 어떤 이유에서 성공하는지 감이 잘 안옵니다..
-
미해결쿠버네티스 101 - 클라우드/서버 개발 첫걸음
minikube service명령어를 입력시 해당 에러가 뜹니다
vscode상에서는 url이 발생하지만 접속시 접속할수 없다고 뜨고서 해당로그가 발생됩니다 docker 접속오류라는데 도커는 정상작동을 합니다
-
미해결15일간의 빅데이터 파일럿 프로젝트
각 서버에 설치하는 프로그램은 어떻게 정하나요?
안녕하세요!강의 듣다 궁금한 점이 몇 가지 있어 질문 드립니다.먼저 강의에서는 빅디님께서 각 서버에 설치할 프로그램을 알려주셔서 편하게 설치는 했는데, 어떤 기준으로 설치할 프로그램을 선택하고 각 서버에 설치할 프로그램을 나눠서 아키텍처를 짜셨는지 빅디님의 관점?이 궁금합니다.예를 들어 postgreSQL는 서버 1에만 설치하고, HBase Region 같은 경우는 서버 세 곳 모두 설치 한 이유와, 다른 RDBMS 중에서도 postgreSQL을 선택한 특별한 이유 같은거요..!그리고 서비스 중간에 서버를 늘리려고 할 때 추가해야 하는 서버 수는 어떻게 정하나요? 모니터링 하다가 서버 전체 메모리의 몇 퍼센트를 차지하게 되면 서버를 늘려야 한다 이런 기준이 있을까요? 비용은 제외하고 기술적인 부분에서 기준으로 세울만한 건 어떤게 있는지 궁금합니다. 현업에서는 프로젝트 특성마다 다 다르게 설계를 해야 할 테고 3V 관점으로 봐야 한다는 건 알겠는데 조금 더 구체적인 예시가 있으면 이해하는데 도움이 많이 될 것 같습니다! 감사합니다:]
-
해결됨Backend 멀티쓰레드 이해하고 통찰력 키우기
어떻게 상호배제가 이루어지는지 잘 이해가 안갑니다
private void Write(){// 다른 스레드가 읽기나 쓰는지 검증 ...var request = DateTime.Now.ToString();Interlocked.Increment(ref writeCount);//...쓰기작업}03:40 부분의 내용입니다스레드1 이 var request = DateTime.Now.ToString();이 부분을 실행할때는 아직 writeCount 가 0인 상태인데이때 스레드2가 writeCount와 readCount 0인거 확인하고들어올 위험은 없는건가요? 어떻게 상호배제 되는지 이해가 안갑니다!
-
해결됨Backend 멀티쓰레드 이해하고 통찰력 키우기
임계영역에 2개 이상의 스레드가 올 수 있는지요?
안녕하세요섹션4 코드를 보면 requests 라는 오브젝트 키를 사용해서스레드1과 스레드2가 임계영역을 이용중인데서버 함수를 보면 일이 없으면 lock 안에서 wait 즉 대기 상태로 빠집니다 그리고 클라 함수를 보면 일을 넣어주고 다른 스레드를 깨웁니다여기서 의문인게 임계영역 안에서 대기중인 스레드와 실행중인 스레드가 공존할 수 있나요 https://www.inflearn.com/questions/1046075제가 다른 수업에서 한 질문인데 답변에는 ai 답변이긴 하지만그럴 수 없다고 들어서 질문드립니다
-
미해결실습으로 배우는 선착순 이벤트 시스템
DB Lock 대신 Redis를 이용하는 이유
DB Lock을 이용하면 시간이 오래 걸린다는 성능 저하 문제가 발생하기 때문에 Redis를 써야 한다고 이해하였습니다. 하지만 강의 영상에서는 Redis가 싱글스레드를 이용한다고 하셨는데 그럼 똑같이 DB Lock과 마찬가지로 시간이 오래걸리는 것이 아닌가요..?
-
해결됨실전! Redis 활용
Stable Cache Invalidation 해결방안
캐싱을 위해 redis를 사용할 경우 db에 값이 변경되었다면 redis에 있는 값과 일치하지 않는 정합성 문제가 일어날수 있다는 것은 알았습니다. 그러면 이걸 해결하기 위한 대표적인 방법들이 무엇이 있을까요??
-
미해결실습으로 배우는 선착순 이벤트 시스템
쿠폰 개수를 증가시키는 코드에서 궁금한 점이 있습니다.
public Long increment() { return redisTemplate .opsForValue() .increment("coupon_count"); } ---------------------------------------------------- public void apply(Long userId) { Long count = couponCountRepository.increment(); if (count > 100) { return; } couponRepository.save(new Coupon(userId)); }코드에서 쿠폰을 100개 발급할 수 있도록 했는데만약 동시에 100만 개의 요청이 들어오게 되면 redis에도 똑같이 100만 번의 요청이 가서 100개의 요청을 제외한 나머지 불필요한 요청을 redis가 처리해야 되는 문제가 발생할 것 같습니다. public void apply(Long userId) { Long count = couponCountRepository.getCount(); if (count > 100) { return; } couponCountRepository.increment(); couponRepository.save(new Coupon(userId)); }그래서 쿠폰 개수를 먼저 가져와서 검증 후 개수를 올리게 되면 또다시 Race Condition이 발생할 것 같습니다.실무에서는 어떠한 방식으로 코드를 작성하시는지 궁금합니다!
-
미해결15일간의 빅데이터 파일럿 프로젝트
파일럿 프로젝트 pc 환경 구성 질문입니다.
혹시 docker를 활용해서 실습환경을 구축하여도 문제가 있을까요?
-
해결됨15일간의 빅데이터 파일럿 프로젝트
고사양 server03 이미지
안녕하세요고사양 pc에서는 server01, 02, 03 이 필요한 것으로 알고 있는데 혹시 server03은 어디서 받을 수 있을까요? 섹션 1~2에 업로드된 첨부파일 확인했는데 server03 이미지를 찾지 못하여 문의 드립니다!
-
해결됨실습으로 배우는 선착순 이벤트 시스템
kafka를 왜 사용하는지가 잘 이해가 안가서 질문 남깁니다!
안녕하세요! 강의 잘 듣고 있습니다. 감사합니다. https://www.inflearn.com/course/lecture?courseSlug=%EC%84%A0%EC%B0%A9%EC%88%9C-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%8B%A4%EC%8A%B5&unitId=156125&category=questionDetail&tab=community&q=1029856해당 질문과 답변을 보고 추가 질문 드리려고 합니다. 제가 kafka나 redis, 분산서버 등에 대해 이해도가 낮은 점 양해 부탁드립니다! 1.Kafka 미사용시 주문생성/회원가입요청의 타임아웃 및 10분뒤 실행에 대한 해결책으로 Kafka 를 선택한 이유는 배압조절(back pressure) 때문입니다.이렇게 말씀을 해주셨는데요,답변에서 말씀하신 예시에서 처럼 10000개 요청이 있고,카프카를 사용한다면,요청 100개가 쌓일때마다 db에 insert를 하고, 다시 요청 100개가 쌓일때까지 기다렸다가 insert 하기를 반복한다는 것으로 이해하면 될까요?2. 그게 맞다면, 강의에서 구현한 apply 메서드에서 100개의 요청이 왔는지 확인하지 않고, kafka를 사용해서 다른곳에 전달하여 처리하는 이유는 무엇인가요?예시로 apply 메서드 안에서 redis의 incr 값을 체크하면 요청이 몇개가 쌓였는지 알 수 있을테고, 데이터를 임시저장하다가 100개마다 처리할 수 있을거란 생각이 들었습니다. kafka로 다른 모듈로 전달하는 것과의 차이점이 무엇인가 궁금합니다.3.실제로 consumer에서 100개의 작업이 완료되었는지는 일반적으로 어떻게 확인하는 걸까요? db에 저장하기 전에 100개의 데이터는 어디에 임시저장을 하나요?
-
해결됨15일간의 빅데이터 파일럿 프로젝트
VirtualBox-5.0.40 실행불가
VirtualBox-5.0.40윈도우에서는 실행이 안된다고 에러메시지가 뜹니다. 다른분이 질문하신 게시글에서 버츄얼박스는 '흰색남자'님의 OS(Windows 10)에 최적화된 버젼을 설치해 사용 하시면 됩니다. 라고 하셨는데 그 글도 삭제된 것 같아서요 VirtualBox-5.0.40-115130-Win다른 방안을 알려주시면 감사하겠습니다.
-
미해결15일간의 빅데이터 파일럿 프로젝트
클라우데라 ERR_CONNECTION_REFUSED 문제
안녕하세요 VM 통합 환경 구성 중입니다.현재 인텔 MAC 사용중이고 ,HOST,NAC 설정 까지 다 해주었는데 연결이 안돼서 진행을 못하고 있습니다 . ㅠ추가로 putty 접속도 안되네요.. 원인이 뭘까요??..확인 한번 부탁드립니다..++ 수정네트워크를 다음과 같이 변경후 서버 재시작하였더니이제 refused는 뜨지 않지만 time out 에러가 뜨네요 ㅠputty도 마찬가지입니다. ++ 수정 server02 는 현재 ssh 접속이 가능합니다..!정확하게 host정보를 입력한거 같은데 server01은 접속이 안되네요 ! ++ server 01 에서 바로 서비스체크 해보았습니다.클라우데라 매니저 잘 작동 중이고 ,, 리스타도 해보았는데여전히 http://server01.hadoop.com/ 치고 들어가면 refused 뜨네요 ㅜㅜ
-
해결됨실습으로 배우는 선착순 이벤트 시스템
consumer에서 숫자가 출력되지 않습니다ㅠ
안녕하세요제가 누락된 곳이 있는건지 테스를 시작하면터미널에서 컨슈머쪽에 숫자가 찍히지 않는데 무슨 문제일까요....?아예 실행자체가 안되는 것 같은데 혹시 터미널로 Producer테스트 코드 여쭤볼 수 있을까요..혹시 아니면 프로젝트 코드 문제가 있을 것 같아서주소 첨부드립니다..감사합니다 https://github.com/KMSKang/coupon-system [터미널에 입력한 consumer 명령어]docker exec -it kafka kafka-console-consumer.sh --topic coupon_create --bootstrap-server localhost:9092 --key-deserializer "org.apache.kafka.common.serialization.StringDeserializer" --value-deserializer "org.apache.kafka.common.serialization.LongDeserializer"ProducerConfig values: acks = -1 batch.size = 16384 bootstrap.servers = [localhost:9092] buffer.memory = 33554432 client.dns.lookup = use_all_dns_ips client.id = producer-100 compression.type = none connections.max.idle.ms = 540000 delivery.timeout.ms = 120000 enable.idempotence = true interceptor.classes = [] key.serializer = class com.fasterxml.jackson.databind.ser.std.StringSerializer linger.ms = 0 max.block.ms = 60000 max.in.flight.requests.per.connection = 5 max.request.size = 1048576 metadata.max.age.ms = 300000 metadata.max.idle.ms = 300000 metric.reporters = [] metrics.num.samples = 2 metrics.recording.level = INFO metrics.sample.window.ms = 30000 partitioner.adaptive.partitioning.enable = true partitioner.availability.timeout.ms = 0 partitioner.class = null partitioner.ignore.keys = false receive.buffer.bytes = 32768 reconnect.backoff.max.ms = 1000 reconnect.backoff.ms = 50 request.timeout.ms = 30000 retries = 2147483647 retry.backoff.ms = 100 sasl.client.callback.handler.class = null sasl.jaas.config = null sasl.kerberos.kinit.cmd = /usr/bin/kinit sasl.kerberos.min.time.before.relogin = 60000 sasl.kerberos.service.name = null sasl.kerberos.ticket.renew.jitter = 0.05 sasl.kerberos.ticket.renew.window.factor = 0.8 sasl.login.callback.handler.class = null sasl.login.class = null sasl.login.connect.timeout.ms = null sasl.login.read.timeout.ms = null sasl.login.refresh.buffer.seconds = 300 sasl.login.refresh.min.period.seconds = 60 sasl.login.refresh.window.factor = 0.8 sasl.login.refresh.window.jitter = 0.05 sasl.login.retry.backoff.max.ms = 10000 sasl.login.retry.backoff.ms = 100 sasl.mechanism = GSSAPI sasl.oauthbearer.clock.skew.seconds = 30 sasl.oauthbearer.expected.audience = null sasl.oauthbearer.expected.issuer = null sasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000 sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100 sasl.oauthbearer.jwks.endpoint.url = null sasl.oauthbearer.scope.claim.name = scope sasl.oauthbearer.sub.claim.name = sub sasl.oauthbearer.token.endpoint.url = null security.protocol = PLAINTEXT security.providers = null send.buffer.bytes = 131072 socket.connection.setup.timeout.max.ms = 30000 socket.connection.setup.timeout.ms = 10000 ssl.cipher.suites = null ssl.enabled.protocols = [TLSv1.2, TLSv1.3] ssl.endpoint.identification.algorithm = https ssl.engine.factory.class = null ssl.key.password = null ssl.keymanager.algorithm = SunX509 ssl.keystore.certificate.chain = null ssl.keystore.key = null ssl.keystore.location = null ssl.keystore.password = null ssl.keystore.type = JKS ssl.protocol = TLSv1.3 ssl.provider = null ssl.secure.random.implementation = null ssl.trustmanager.algorithm = PKIX ssl.truststore.certificates = null ssl.truststore.location = null ssl.truststore.password = null ssl.truststore.type = JKS transaction.timeout.ms = 60000 transactional.id = null value.serializer = class org.apache.kafka.common.serialization.LongSerializer
-
미해결15일간의 빅데이터 파일럿 프로젝트
managed_smartcar_status_info 테이블
안녕하세요.제가 최초 학습/실습했을 때도, 겪었던 문제인데, 계속 해결을 하지 못해 해당 문제를 여쭙습니다. [현재 문제상황]먼저 문제는, Oozie를 강제 실행했을 때, managed_smartcar_status_info 테이블은 생성되지만, 빈 테이블로, 내부에 아무 데이터가 조회되지 않는 것입니다. 제가 오타가 있을까 싶어, 테이블 삭제에 여러 날을 데이터 생성부터 재시도를 4..5번 정도 했는데, 모두 동일하게 데이터가 조회되지 않았습니다. 우선, 제가 세팅한 값과 생성되어 cat-batch-log 에 저장된 데이터의 이미지를 보여드리겠습니다.제가 작업을 실행한 것은 금일(2024-02-08)이고, 데이터 생성 시, 입력한 일자는 2022-03-22입니다. 따라서, 강의에서 말씀하신 용어를 기준으로, working_date와 biz_date는 각각, 20240208, 20220322입니다. Oozie에 task를 할당할 때는, download한 쿼리를 그대로 복사해서 붙여서 task를 정의했습니다. 이는 오타가 발생할 수 없고, 여러번 시도했었던 부분이기 때문에 해당 부분에는 에러가 없을 것으로 기대하고 있습니다. task에 대한 scheduling은 아래와 같이 구성하였습니다.Oozie를 강제 실행하였을 때, working_date에는 오늘 일자인 20240208을 입력하고, [저장] - [실행]을 했습니다. 실행 과정에서 에러는 발생하지 않았고, 로그에도 별다른 특이사항은 없었습니다. 이 후, 새로운 테이블 managed_smartcar_status_info이 생성되었음을 refresh를 통해 확인하였으나, 해당 테이블을 조회하면, 데이터가 조회되지 않는 것이 ... 일주일동안 해결하지 못하는 트러블 ...입니다.테이블을 조건절(where) 없이 조회했을 때도, 조회된 데이터가 마찬가지로 없었기 때문에 이 또한, 조건절 오타로 인해 조회되지 않는 것은 아닌 것으로 추측됩니다. [현재 확인된 부분]hdfs 쿼리를 통해 정상적으로 파일이 생성되었음을 확인했습니다.redis에서 데이터가 저장되어있음을 확인했습니다.hue를 통한 hbase 브라우저에 DriveCarInfo 내 key값을 이용하여 데이터를 조회했을 때, 조회되는 부분을 확인하였습니다. [개인적인 의견]HiveQL/그림-6.71.hql 내 작성된 쿼리를 통해 현재 제가 겪고 있는 문제를 생각해보았는데,현재 아래 두 쿼리는 조회 값이 NULL이 아니고, 충분히 많은 데이터가 조회됩니다. 그런데,select distinct car_number from smartCar_master_over18; select distinct car_number from SmartCar_Status_Info where wrk_date = '20240208';그런데, insert 내 select 부분만 추출하여 실행하면,select t1.car_number, t1.sex, t1.age, t1.marriage, t1.region, t1.job, t1.car_capacity, t1.car_year, t1.car_model, t2.tire_fl, t2.tire_fr, t2.tire_bl, t2.tire_br, t2.light_fl, t2.light_fr, t2.light_bl, t2.light_br, t2.engine, t2.break, t2.battery, t2.reg_date, substring(t2.reg_date, 0, 8) as biz_date from SmartCar_Master_Over18 t1 join SmartCar_Status_Info t2 on t1.car_number = t2.car_number and t2.wrk_date = '20240208';조회가 되지 않는다는 것을 알게 되었습니다. 위 쿼리를 조금 더 간략히 하면,select distinct t.car_number from smartcar_master_over18 t join smartcar_status_info son t.car_number = s.car_number where s.wrk_date = '20240208'; 가 되고, 이 또한 조회된 값이 없습니다. 현재 제가 학습을 하면서 이해를 하기론, smartcar_status_info 데이터는 flume에 의해 입수된 로그 데이터이고, smartcar_master_over18는 특정 조건에 의해 redis에 저장된 일부 데이터로 알고 있는데, 이렇게 되면,smartcar_master_over18 이 smartcar_status_info 에 포함되는 관계가 필연적으로 되어야하는게 아닌가하는게 제 생각입니다. 만약 제 생각이 맞다면, 로그가 잘못 생성되었다는 뜻인데, 혹시 강사님께선 제가 생각하는 것 외에 확인해야할 부분이 있다고 생각하신다면, 조언해주시길 부탁드립니다. 항상 친절한 가르침 감사합니다.즐거운 연휴 보내시고, 새해 복 많이 받으시길 바랍니다.감사합니다. """(마음의 소리)많이 바쁘시겠지만, 가능하다면 오늘 해결 방법 및 조언을 듣고, 긴 연휴.. 프로젝트를 마무리 및 정리를 하고 싶습니다... !! ㅠㅠ """
-
미해결실습으로 배우는 선착순 이벤트 시스템
부하테스트 비용이 궁금합니다
강의에서 부하테스트를 하셨을 때 비용이 어느 정도 나왔는지 궁금합니다.부하테스트 시 비용 절약하는 방법이 궁금합니다. elb, ec2, rds 등등 설정하고, ngrinder를 통해 부하테스트를 진행한 뒤에 결과 확인 후 바로 끄면 비용을 절약할 수 있을까요?
주간 인기글
순위 정보를
불러오고 있어요