묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
https://github.com/joneconsulting/eshop 소스
강의에 나온https://github.com/joneconsulting/eshop강의 공개 후에도 비공개 레포지토리로 보이는데요어디서 확인가능할까요
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
강의 pdf교재는 별도로 없나요?
강의 pdf교재는 별도로 없나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
수업 방식 질문
맨 마지막 섹션 19는 그냥 차례대로 읽으면서 진행하면 되는건가요 ?어떻게 학습을 해야 하는건가요 .. ;; 그리고 이번에 새롭게 강의 내셨던데 기존거랑 뭐가 다른건가요 ? 얼마전에 강의 산 사람은 어떻게 하나요 ?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
암호화 관련 질문
실무에서 설정 파일의 내용을 어떻게 관리하시는지 궁금하여 질문 드립니다. 제 생각엔 [ '평문' -> jasypt 암호화 -> keytool 암호화 ] 이 과정으로 서버에 설정 정보를 저장하는 것이 좋을 거 같은데, 사바사 일거 같지만.... 보통 이렇게 2번 암호화를 하는지 궁금하네요.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
섹션3 16번 강의에서 질문있습니다
ImagePullPolicy: IfNotPresent를 설정했지만 여전히 NAME READY STATUS RESTARTS AGEspring-pod 0/1 ErrImageNeverPull 0 59s라고 나옵니다.제가 찾아보니 docker 이미지는 데몬 에서 생성되었고, Kubernetes의 런타임이 자기 저장소에서 spring-server 이미지를 찾을수없다고 나오는데 이럴때 어떻게 해결해야하나요?
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
컨슈머 서버 질문드립니다
안녕하세요 @RabbitListener(queues = LogRabbitMQConfig.ERROR_QUEUE) public void consumeError(String message) { System.out.println("[ERROR]를 받음 : " + message); } @RabbitListener(queues = LogRabbitMQConfig.WARN_QUEUE) public void consumeWarn(String message) { System.out.println("[WARN]를 받음 : " + message); } @RabbitListener(queues = LogRabbitMQConfig.INFO_QUEUE) public void consumeInfo(String message) { System.out.println("[INFO]를 받음 : " + message); } @RabbitListener(queues = LogRabbitMQConfig.ALL_LOG_QUEUE) public void consumeAllLog(String message) { System.out.println("[LOG]를 받음 : " + message); }위의 코드처럼 하나의 어플리케이션에서 여러개를 구독하고 있는데실제 현업에서도 하나의 어플리케이션에서 여러개의 메세지를 구독하여 각각 서비스를 처리하나요? 예를들면 문자메세지를 발송하는 외부업체에 api를 쏘는 리스너가있고슬랙api를 통해 error 정보를 쏘는 리스너가있고등등 .. 다양한 리스너를 하나의 애플리케이션 서버에서 처리하는지 궁금합니다
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 콘텐츠 업데이트 일정
안녕하세요. 수강평들을 살펴보니 올해 상반기 중으로 강의를 업데이트 할 계획이라고 하신 것을 봤습니다. 상반기중에 업데이트 완료될 지, 그리고 업데이트 될 거라면 업데이트 예정 일정 정도를 대략적으로 알 수 있을까요?
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
ECR에서 이미지를 받아오지 못하고있습니다
ECR에서 이미지를 못받아 오는거같습니다... 무슨 문제일까요..NAME READY STATUS RESTARTS AGE spring-deployment-6fdbd9cd87-j8ljj 0/1 ErrImagePull 0 6m1s spring-deployment-6fdbd9cd87-mchqp 0/1 ErrImagePull 0 6m1s spring-deployment-6fdbd9cd87-tp5x6 0/1 ErrImagePull 0 6m1sError from server (BadRequest): container "spring-container" in pod "spring-deployment-6fdbd9cd87-j8ljj" is waiting to start: trying and failing to pull imageEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 4m7s default-scheduler Successfully assigned default/spring-deployment-6fdbd9cd87-j8ljj to ip Normal Pulling 70s (x5 over 4m6s) kubelet Pulling image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0" Warning Failed 70s (x5 over 4m6s) kubelet Failed to pull image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0": rpc error: code = NotFound desc = failed to pull and unpack image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0": no match for platform in manifest: not found Warning Failed 70s (x5 over 4m6s) kubelet Error: ErrImagePull Normal BackOff 10s (x15 over 4m5s) kubelet Back-off pulling image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0" Warning Failed 10s (x15 over 4m5s) kubelet Error: ImagePullBackOff 아키텍처 불일치 문제 같은데ARM64용 이미지 빌드 및 푸시를 해서 해결하려니Dockerfile이 없다고ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory꼬리에 꼬리를 무는게 뭔가 잘못된방향으로 가는거 같아서 도움이 필요합니다..
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요 강의 포스트맨 요청 데이터 공유받을수 있을까요?
강의 도중에 포스트맨 구글 로그인 하니 데이터가 사라졌습니다혹시 갖고계시면 공유좀 받을수 있을까요?
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
DLQ 관련 질문
위와 같이 로그가 찍혔으면,DLQ에서 ack 상태가 되어야하는것 아닐까요?@RabbitListener(queues = RabbitMQConfig.DLQ) public void process(String message) { System.out.println("DLQ Message Received: " + message); try { String fixMessage = "success"; rabbitTemplate.convertAndSend( RabbitMQConfig.ORDER_EXCHANGE, "order.completed.shipping", fixMessage ); System.out.println("DLQ Message Sent: " + fixMessage); } catch (Exception e) { System.err.println("### [DLQ Consumer Error] " + e.getMessage()); } }위의 코드인 경우 AUTO 모드로 동작해서 자동으로 DLQ에서 처리가 되면 ACK 을 받을 것이라 생각했는데, DLQ에서 unack 상태로 남아있어서 여쭤봅니다!이후에 애플리케이션을 종료하면 DLQ에서는 다시 ready 상태가 되고, 애플리케이션을 실행하면 이를 실행하고 와 같이 로그가 찍힌 다음에 다시 unack 상태가 됩니다. 좋은 강의 감사드립니다 :)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카 도커 오류
강의대로 docker-compose-single-brokey.yml 파일 작성하고 파일 안에 맨 밑에networks: my-network: external: true name: ecommerce-network 이렇게도 작성하고 아래 명령어 그대로 docker-compose -f docker-compose-single-broker.yml up -d 입력했는데 Error response from daemon: user specified IP address is supported only when connecting to networks with user configured subnets 이런 오류 가 발생합니다..
-
해결됨장애 없는 서비스를 만들기 위한 Resilience4j - CircuitBreaker
recordException을 지정하지 않았을때 동작 방식 질문
Foo님 안녕하세요.간단한 질문 드립니다!recordException을 지정하지 않으면 서킷 브레이커 설정을 해도 동작을 안하는 걸까요? 아니면 기본적으로 RuntimeException과 Error만을 체크하는 걸까요? 감사합니다.
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
argocd 이미지 pull 문제...
argocd에서 sync를 하여 cd를 하게 되면, 몇초 이따가 STATE: ImageInspectError, STATE DETAILS: Failed to inspect image "": rpc error: code = Unknown desc = unable to convert a nil pointer to a runtime API image 라는 에러가 발생합니다.여러 자료를 찾아보니 인증서 문제 같다고 하여서 호스트 PC에서 Harbor의 cicd-web-project:태그를 docker pull 하여 보니 tls: failed to verify certificate: x509: certificate signed by unknown authority 인증서 관련 에러가 발생하였습니다.아무래도 자체 인증으로 인하여 Harbor 레지스트리에서 신뢰하지 못하는 CA 인증서를 사용하기 때문인 것 같은데, 강사님께서 강의를 하시기 이전에 이러한 문제가 생겨서 조치한 부분이 있으실까요? 아니면, 이 부분은 Docker 업데이트로 인하여 이제는 제가 따로 인증서를 구하여 적용을 해야할까요?? 추후에 프로젝트에서 쿠버네티스까지 적용할 예정이어서 argocd에 대한 테스트를 정확히 하고 싶은데, 지금은 눈으로 보고 넘어가고, 프로젝트를 할때, 제대로 된 인증서를 발급 받아서 붙이는게 나을까요?
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
알림은 왜 pub sub 구조로 설계하나요?
동일한 메시지를 여러 서비스에서 처리하는 것을 pub sub 구조로 이해하였는데요,알림이라는 하나의 서비스에서 처리한다면 pub sub 구조로 설계할 필요가 없는 걸까요?
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
Receiver를 여러개 하려면 어떻게하나요?
@Bean public SimpleMessageListenerContainer container(ConnectionFactory connectionFactor, MessageListenerAdapter listenerAdapter) { SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(); container.setConnectionFactory(connectionFactor); container.setQueueNames(QUEUE_NAME); container.setMessageListener(listenerAdapter); return container; } @Bean public MessageListenerAdapter listenerAdapter(Receiver receiver) { return new MessageListenerAdapter(receiver, "receiveMessage"); // Receiver의 메소드명 }안녕하세요. 좋은 강의해주셔서 감사합니다.만약 하나의 큐에서 여러 컨슈머를 통해 동시에 여러개를 소비하고자한다면 Receiver를 추가해서 새롭게 MessageLisnterAdaper 빈을 추가하는걸까요? 어떤식으로 하는것인지 궁금합니다.여러큐와 거기에 따른 여러 컨슈머 구성시에는 어떤식으로 환경설정하면 될까요? 감사합니다.
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
깃허브 step11 브랜치
Slack 관련된거 같은데, 강의에는 나와있지 않네요 ! step11은 혼자 공부하면 되는걸까요 ?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
프론트단에 대해
안녕하세요. 궁금한 점이 있어 질문드립니다.추후 스프링 클라우드로 msa 팀프로젝트 만들려고합니다. 프론트단을 만들려고 하면 공통 레이아웃 및 기능화면을 따로 공통 서비스 예를 들면 ui-service를 만들고 이 서비스의 yml에서 게이트웨이를 작성한다고 들었습니다. 이게 제일 효율적인 방법인지 아니면 다른 방법으로 프론트단 구현법이 있는지 알고 싶습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
버전 업데이트 질문
새롭게 마지막 섹션에 updated 된것은 어떻게 봐야하나요 ? 커리큘럼 중간에 deprecated 된것도 있는데, 건너뛰면 되는지 기존에 이것 대신에 updated 된곳에 어떤걸 봐라 라고 설명좀 해주실 수 있나요 ?
-
미해결RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
DLQ 재시도 로직 처리후 DLQ에 unacked 1건이 남는거에 대해서
안녕하세요.예시 학습 중에 DeadLetterQueue 수동 재시도 관련해서 질문있습니다. http 호출 이후에 추가적으로 DLQConsumer가 호출되지는 않는데, 처리 후 RabbitMQ 콘솔 확인해보니 DLQ에 unacked 한 건이 남아 있었습니다. 제 생각에는 DLQConsumer에서 정상적으로 메시지 소비했으면 마찬가지로 ack 처리 해줘야 하는게 아닌가 싶은데, DLQ에 unacked 상태로 남기는게 의도된 경우가 있을수 있는건지 궁금합니다. order_completed_queue에서는 모두 처리되서 메시지가 보이지 않습니다. 예시 코드@Component @RequiredArgsConstructor public class OrderDLQConsumer { private final RabbitTemplate rabbitTemplate; @RabbitListener(queues = RabbitMQConfig.DLQ) public void process(String message) { System.out.println("DLQ Message Received: " + message); try { String fixMessage = "success"; rabbitTemplate.convertAndSend( RabbitMQConfig.ORDER_EXCHANGE, "order.completed.shipping", fixMessage ); System.out.println("DLQ Message Sent: " + fixMessage); } catch (Exception e) { System.err.println("### [DLQ Consumer Error] " + e.getMessage()); } } }
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
NotificationMessage가 필요한 이유 질문
학습중 궁금한 것은 언제든 문의 하세요.질문을 최대한 자세히 남겨주시면 반드시 답변 드리도록 하겠습니다.추가로 알고 싶은 내용도 요청해주시면 강의 자료를 업데이트 해서 제공할 예정입니다.Pub-Sub 모델을 이용한 실시간 알림 part2에 질문이 있습니다 ! package com.example.messagequeue.step2.step2; public class NotificationMessage { private final String message; public NotificationMessage() { message = ""; } public NotificationMessage(String message) { this.message = message; } public String getMessage(){ return message; } }짊여기에서 NotificationMessage DTO를 만들어주셧는데, 뭐 때문에 만드신걸까요 ? 직렬화, 역직렬화와 관련이 있는거 같은데, 잘 이해가 안되네요 ㅎㅎ 답변 주시면 감사드리겠습니다 !