묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
rabbitmq에 configservice 연결에 대해 질문있습니다.
안녕하세요 강사님 강의 잘 듣고 있습니다.섹션 9에서 강의대로 docker에 rabbitmq를 올린 뒤 configservice를 실행했는데 오류가 발생합니다.org.springframework.amqp.rabbit.listener.BlockingQueueConsumer$DeclarationException: Failed to declare queue(s):[springCloudBus.anonymous.PswTKgDeT12hTiCFa33hLw]at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.attemptPassiveDeclarations(BlockingQueueConsumer.java:772) ~[spring-rabbit-3.2.5.jar:3.2.5]at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.passiveDeclarations(BlockingQueueConsumer.java:649) ~[spring-rabbit-3.2.5.jar:3.2.5]at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.start(BlockingQueueConsumer.java:636) ~[spring-rabbit-3.2.5.jar:3.2.5]at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.initialize(SimpleMessageListenerContainer.java:1482) ~[spring-rabbit-3.2.5.jar:3.2.5]at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1322) ~[spring-rabbit-3.2.5.jar:3.2.5]at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na]Caused by: java.io.IOException: nullat com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:140) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:136) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:158) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.ChannelN.queueDeclarePassive(ChannelN.java:1033) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.ChannelN.queueDeclarePassive(ChannelN.java:47) ~[amqp-client-5.25.0.jar:5.25.0]at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na]at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na]at org.springframework.amqp.rabbit.connection.CachingConnectionFactory$CachedChannelInvocationHandler.invoke(CachingConnectionFactory.java:1201) ~[spring-rabbit-3.2.5.jar:3.2.5]at jdk.proxy2/jdk.proxy2.$Proxy140.queueDeclarePassive(Unknown Source) ~[na:na]at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.attemptPassiveDeclarations(BlockingQueueConsumer.java:750) ~[spring-rabbit-3.2.5.jar:3.2.5]... 5 common frames omittedCaused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'springCloudBus.anonymous.PswTKgDeT12hTiCFa33hLw' in vhost '/', class-id=50, method-id=10)at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:552) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:316) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:152) ~[amqp-client-5.25.0.jar:5.25.0]... 12 common frames omittedCaused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'springCloudBus.anonymous.PswTKgDeT12hTiCFa33hLw' in vhost '/', class-id=50, method-id=10)at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:528) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:349) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:193) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:125) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:761) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQConnection.access$400(AMQConnection.java:48) ~[amqp-client-5.25.0.jar:5.25.0]at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:688) ~[amqp-client-5.25.0.jar:5.25.0]... 1 common frames omitted 깃허브의 프로젝트를 그대로 가져오고어떻게 해도 해결이 안되네요ㅠㅠ도움 부탁드립니다..
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
19강 15_2) 템블릿에 List가 없는경우는 어떻게 해야되나요?
템플릿에 리스트가 없을때 템플릿을 추가할수 있는 방법이 있는지 궁금합니다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
15강 12-3) 값 제출후 mysql 저장이 안됩니다.
제출을 누르면 이렇게 메세지가 나오고 값이 저장이 안됩니다.
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
Nat Gateway
Nat Gateway를 추가한 아키텍처 그림만 봤을때는 private subnet이 라우팅 테이블을 통해Nat Gateway을 호출하고 Nat Gateway가 IGW를 호출하는 거처럼 보이는데요.Nat Gateway는 라우팅 테이블 없이 어떻게 IGW를 호출할 수 있는건가요?
-
미해결AWS 클라우드 이해와 실습
보안그룹 아웃바운드 규칙
좋은 강의 감사합니다. 덕분에 전반적인 개념 잡는 것에 큰 도움 되고 있습니다.33. AWS EC2 인스턴스 생성12분 부분 쯤에 보면, 아웃바운드 규칙에서 이미 모든 트래픽의 모든 아이피가 허용상태인데 SSH와 HTTP를 내 아이피만 허용하는 것이 맞는건가요?인바운드에서만 추가하는 것이 맞지 않나요?
-
미해결아키텍처와 함께하는 GCP (Google Cloud Platform)
jar 파일 빌드
아니 jar 파일 만 공유해주면 되는데 왜 자꾸 코드에서 빌드를 하고 있냐 진짜 답답하네
-
미해결아키텍처와 함께하는 GCP (Google Cloud Platform)
GCP SQL 진짜 어이가 없네
강의에 코드도 첨부 안해놓고, 주석 제거해야 한다는 말도 없고, jar파일 걍 빌드해서 겁나 올려놓으면 저건 실습이 제대로 하지도 못하는데 쌍욕하고 싶은데 진짜 돈받고 파는 강의를 이따위로 하다니 반성하세요
-
해결됨2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지
레디스로 재고 관리
안녕하세요.최근 수백만 동시 접속을 처리하는 예매 시스템 아키텍처 관련 강의와 유튜브 영상을 참고하면서, 작은 프로젝트로 선착순 쿠폰 발급 시스템을 직접 구현해보며 학습하고 있습니다.현재는 Redis를 활용해 선착순 쿠폰 발급을 구현하는 구조를 고민하고 있는데, 몇 가지 아키텍처 설계에 대해 궁금한 점이 있어 질문드립니다.1. Redis + DB 원자성 관련Redis에서 쿠폰 발급 가능 수량을 감소시키고, 동시에 DB에도 반드시 반영(쿠폰 발급 및 사용자 할당 기록)해야 하는 상황을 가정하고 있습니다.이 경우 Redis의 재고 감소와 DB 반영을 하나의 트랜잭션처럼 원자적으로 묶어야 할 것 같은데, 현실적으로는 분산 환경 특성상 이를 직접적으로 묶는 것이 어렵다고 이해하고 있습니다.그래서 일반적으로는Lua Script로 Redis 내부에서쿠폰 재고 감소중복 발급 방지 처리Redis Stream(또는 Queue)에 발급 이벤트 기록을 원자적으로 수행하고,이후 별도의 스케줄러(또는 Worker)가 해당 Stream을 읽어서 DB에 반영하는 방식으로 설계하는 것이 맞는지 궁금합니다.2. 메시지 큐(Kafka 등) 사용 시 구조또한 쿠폰 발급 결과를 Kafka 같은 메시지 큐로 전달하는 방식도 있을 것 같은데,이 경우에도 동일하게Lua Script로 Redis 내부에서쿠폰 재고 감소중복 발급 방지 처리Redis Stream(또는 Queue)에 발급 이벤트 기록이후 스케줄러가 stream읽어서 Kafka로 전달Consumer가 DB에 반영과 같은 구조로 가져가는 것이 일반적인지 궁금합니다.
-
해결됨2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지
Lock 해제 문의 드립니다.
Lock 해제 코드에서다른 사용자가 생성한 락을 삭제하지 않기 위해 본인의 identifier이랑 락의 value를 비교해서 삭제하는 로직 부분에서 궁금한 내용이 있습니다. 멀티스레드, 프로세스 환경에서 충분히 일어날 일 이라고 하셨는데 내가 락을 얻으면 다른 사용자는 락을 얻지 못해 value는 항상 나의 identifier이 들어있어야 하는게 아닌가? 라는 생각이 드는데 rd.set(lock_name, identifier, nx=True, px=lock_timeout_ms)이 코드 방식으로 락을 만들면 여러 사용자가 특정 환경에 락을 얻을 수 있는건가요?
-
미해결프론트엔드 개발을 위한 모든 지식 (개념편)
강의 일정 및 수업 자료 공유 관련 문의드립니다!
안녕하세요 해여님. 강의 잘 수강하고 있습니다. 남은 강의는 언제 업로드 되는지 일정 공유 부탁드립니다. 수업자료 공유(notion/pdf)는 가능한지 문의드립니다. 2-1. 가능하다면 어떤 형태로 언제 업로드 되는지 공유 부탁드립니다. 감사합니다. 오늘도 행복한 하루 되시길 바랍니다.
-
해결됨2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지
레디스로 대기큐 구현 질문
학습 중 궁금한 점이 있으시면 편하게 질문 주세요. 참고로 질문이 구체적일 수록 더 정확한 답변을 드릴 수 있습니다. 😊 안녕하세요. 강의를 듣고 있는 개발자입니다. 이전에 유튜브에서 선착순 예매 관련 영상을 봤었는데 해당 영상에서 레디스를 이용해서 대기큐를 구현하는 것을 설명해주셨는데 그거에 대해서 질문이 있습니다. 레디스의 소티드 셋에 넣고 폴링을 통해서 상태를 확인한다.타 스케줄러가 소티드셋에서 꺼내서 액티브로 바꾼다 라는 설명이 있었는데, 정확히 어떤식으로 구현하는 건지가 궁금합니다. 스케줄러가 꺼내고 액티브 유저 set으로 집어 넣는건가요?그리고 소티드셋에서 꺼내서 엑티브 유저로 만드는 작업은 원자적으로 처리되게 하는건가요?
-
미해결2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지
API LIMIT
안녕하세요.항상 좋은 강의 감사합니다. API LIMIT을 보면 ABUSING이랑 비슷한 개념이라고 느꼈습니다. 예를 들어, 어떤 유튜브 라이브에서 좋아요 리액션을 너무 많이 눌렸을 때, API LIMIT 알고리즘으로 고정 윈도우 방식이 적절하다고 생각했습니다. INCR 이 빈번한 작업이기 때문이죠. 근데 악성 BOT(봇)으로 좋아요를 악의적으로 누를 수도 있는데 이때는 ABUSING(어뷰징) 처리를 해야한다면 API LIMIT과 동일하게 가져가는게 맞을지설명주신 API LIMIT도 제한 구간 10초당 몇개 를 구간과 임계치를 설정하는데, 보통 어떤 기준으로 실무에서 설정하는지 궁금합니다. 운영하면서도 모니터링하면서 조절할거 같은데 유튜브 라이브의 임계치 구간을 설명한다고 가정하면 인간의 마우스나 손으로 눌렸을 때 1초당 10번 이하? 이렇게 추상적인 실험 데이터도 정하는게 맞는지도 궁금합니다.감사합니다.
-
미해결2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지
캐시 무효화
DB부하를 줄이는 전략에서 DB의 데이터 사용자 이름을 변경 할 때, 기존 캐식 삭제 보다 기존 캐시의 JSON 프로필 이름만 수정하는 게 더 비효율적인가요? 기존 캐식 삭제 > 새로운 캐시 생성 VS 기존 캐시의 수정
-
미해결2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지
Redis와 Kafca의 Pub/Sub 차이
항상 좋은 강의 감사합니다.Redis와 Kafca의 Pub/Sub 차이가 궁금합니당.예를 들어, 인스타 라이브에서 사용자의 리액션 좋아요를 Redis에 두고 post로 좋아요를 업데이트 칠 때, MYSQL 좋아요 수도 같이 증가하기 위해 Redis와 Kafca의 Pub/Sub 의 차이점이 있을까요?좋아요 api가 redis의 좋아요 수 증가 > kafca 메시지 발행 > mysql 구조라 가정했을 때, 대규모트래픽에서 kafca와 redis의 Pub/Sub의 차이랑 뭐가 더 적절한 선택인지 궁금합니다.감사합니다.
-
해결됨[디펙업_PASS] 데이터 아키텍처 준전문가(DAsP)_신규 리뉴얼 완료
스크립트를 한번에 복사하고 싶습니다.
스크립트를 한번에 복사하고 싶은데 각 문장마다 따로 돼있어서 불편합니다.
-
미해결2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지
너무 흥미진진합니다..
RDBMS 로만 생각이 고정되어있었는데-캐싱으로도 이렇게 문제들을 해결할수 있는거군요...
-
미해결개발자 개념 장착 - 프로그래밍 개발에 필요한 필수 개념과 핵심 이론정리
SP를 아직도 사용하나요?
안녕하세요. 웹/백엔드 JAVA 개발자입니다.현재 SP를 실제로 사용할까요? (DB Procedure로 이해)(레거시 시스템 운영 외 현대의 서비스에서)일반적으로 SP 방식의 경우 강의 내용에서 나온버전 관리의 문제, 벤더 락인, 부분적 로직 재사용 등의 한계가 있어보여, 저는 줄곧 ORM에 적합한 환경이 아니더라도 SP 보다는 Application 레벨에서 Query를 작성&관리&실행하는 형태로 줄곧 서비스를 운영해왔고, 강의에서 언급된 ORM의 단점도 Application 에서 쿼리를 관리하면 사라지는 단점으로 보여져서, 사실상 SP는 지양해야 할 레거시 방식으로 생각하고 있었습니다.아직 다른 도메인 영역에서는 SP를 고수하는 분야가 있는걸까요?
-
미해결시스템 디자인 첫걸음: 면접에서 돋보이는 백엔드 아키텍처 설계하기
캐시전략 - Write-behind
안녕하세요. 강사님캐시전략 - Write-behind 전략을 설명해주셨는데,인스타라이브나 유튜브라이브에서 좋아요를 한 사용자가 여러번 누를 수 있는데, 이때가 아마 Write-behind 전략을 적용할 수 있을 거 같습니다.1. 좋아요를 레디스 캐시에 카운트 증가2. 좋아요 누른 개수를 몇 초마다 flush로 카프카 큐에 발행3. 카프카 consumer에서 db저장 이런 방식으로 설계가 가능할 거 같습니다. 강의에서는 Write-behind DB에 나중에 저장한다고 말씀하셨는데 그럼 이런 라이브 상황에서 DB에 좋아요를 언제 저장하는 것이 바람직할까요? 그 기준을 어떤 식으로 잡으면 좋을지도 선생님의 고견이 듣고 싶습니다.좋은 강의 감사합니다.
-
미해결2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지
순위가 동률일 때의 처리에 대해 질문드립니다.
안녕하세요, 강의 잘 듣고 있습니다. 양질의 강의 감사드립니다.Sorted Set을 활용한 리더보드 강의 시청 후 궁금한 점이 생겨 질문 남깁니다.Redis 공식 문서에 따르면 Score가 동률일 때 사전순(lexicographical)으로 처리된다고 명시되어 있는데요, 실제 비즈니스 환경에서는 사전순이 아닌 여러 기준을 복합적으로 비교해야 하는 경우가 많을 것 같습니다.Score가 64비트 부동소수점임을 활용해, 자릿수별로 기준을 나누는 방안(예: 1~8자리는 기본 점수, 9~12자리는 2순위 기준, 13~15자리는 3순위 기준 ...)도 생각해 보았습니다. 다만 동률 비교 기준이 많아지거나 기본 점수 자체가 클 경우 double 정밀도 한계로 인해 적용이 어렵겠다는 생각이 들었습니다.실무에서는 이러한 복잡한 동률 상황을 어떤 방식으로 처리하는지 팁을 여쭤봐도 될까요?감사합니다.
-
해결됨C++로 만드는 게임 엔진 프레임워크 (소코반과 슈팅 게임으로 배우는 엔진 구조)
Singleton 관련 질문입니다.
안녕하세요. 먼저는 기억하기 어려울 수도 있는 부분을 잘 정리하시고 전달해주셔서 감사합니다. 명쾌한 설명과 구조 정리 덕분에 명쾌하게 이해할 수 있는 것 같습니다. 구조와 테스트 면에서 제가 잘 몰라서 궁금한 부분에 대해 여쭤보고 싶습니다.Singleton 구현을 보다가 문득 생각이 드는 부분이 있었습니다.GameEngine을 만들 때 생성자를 public으로 만드셨는데 이 부분에서API를 가져다 쓰는 입장을 생각하면 생성자를 private으로 만들고 Get만 공개하는 것이 더 안전하지 않았을까 하는 생각이 들었습니다. 두 번째로는 이런 전역 객체는 어떻게 테스트 하는가 입니다.테스트도 마땅히 들어가야 할 것으로 알고 있는데 이 부분은 뒤에 나오겠지요?