✅ AWS EC2에 Kafka 설치하기 JDK 17 설치하기 Kafka 설치 파일 다운받기 설치한 파일 압축풀기 Kafka를 실행시켰을 때 잡아먹는 메모리 크기 낮추기 swap을 활용해 메모리 늘리기 Kafka 설정 수정하기 Kafka 서버 시작하기
✅ Kafka를 왜 배워야할까? 최근에 Kafka를 배우려는 취준생 개발자분들이나 현업 개발자분들이 시간이 갈수록 점점 많아지고 있다. 이 분들이 Kafka를 배우려는 이유는 다음과 같다. SI/SM 회사가 아닌 서비스 기업에 취업/이직을 하기 위해서
✅ 이전 강의 복습 (Untitled) 이전 강의에서 REST API 방식은 요청을 보낸 뒤에 모든 작업이 다 처리될 때까지 기다렸다가 응답을 받는 식으로 통신을 한다고 얘기했다. 그래서 만약 이메일 발송을 처리하는 데 시간이 오래 걸린다면 사용자는
✅ 토픽 세부 정보 출력값 정보 해석하기 (Isr, Leader, Replicas, Elr 등) # 토픽 세부 정보 조회하기 $ bin/kafka-topics.sh \ --bootstrap-server localhost:9092 \ --desc
이전 강의에서는 Kafka를 통해 비동기적으로 이메일 발송 요청을 처리함으로써 사용자에게 빠르게 응답할 수 있다는 장점을 살펴봤다. 그러나 Consumer가 실제 작업에 실패했을 때 사용자에게 실패 여부를 전달할 수 없다는 단점이 있었다. 이번 시간에
✅ kafka 서버 3대 셋팅하기 이전 강의에서 kafka 노드 1대(= kafka 서버 1대)만 운용하면, 이 노드 1대가 고장나는 순간 서비스에 장애가 일어난다고 얘기했다. 이걸 방지하기 위해 kafka 노드 2대를 추가적으로 연결시켜보자. 현
✅ Spring Boot로 EmailService 서버 초기 환경 설정하기 Spring Boot 프로젝트 셋팅 application.yml에 Kafka 연결을 위한 정보 작성하기 application.yml에 H2 데이터베이스 연결을 위한 정보 작성하
이전 강의에서는 Kafka에서 재시도까지 실패한 메시지를 email.send.dlt와 같은 DLT(Dead Letter Topic)에 안전하게 저장하는 방법을 배웠다. 하지만 DLT에 저장하는 것만으로는 문제가 해결되지 않는다. 실패한 메시지를 직접
kafka의 고가용성(시스템이 장애 상황에서도 멈추지 않고 정상적으로 서비스를 제공할 수 있는 능력)을 확보하는 방법을 이해하려면 아래 용어들을 먼저 알고있어야 한다. ✅ 노드(node)란? 노드(node)란, 카프카가 설치되어 있는 서버 단위를 의미
토픽명과 컨슈머 그룹명을 지을 때 어떤 식으로 지어야 하는 지 고민될 수 있다. 그래서 이와 관련된 참고하기 좋은 링크가 있어서 공유한다.