Kafka 6

Kafka Producers - Spring Boot

들어가며..기존에는 터미널에서 CLI를 이용해 생산자를 생성했지만, 이제는 스프링 부트를 사용해 터미널 없이 생산자를 생성해보자.스프링 부트 서비스를 생산자로 설정하여 아래와 같은 역할을 수행하도록 하자:메시지 전송(publish)메시지를 바이너리 형식으로 직렬화(serialize)메시지를 보낼 토픽과 파티션 지정  동기 vs 비동기동기식(Synchronous) 메시지 전송생산자가 브로커에 메시지를 전송할 때, 메시지가 브로커에 성공적으로 저장될 때까지 대기하는 방식으로 다른 작업이 잠시 Blocked됨.신뢰성이 높아 주로 사용되지만, 성능이 다소 느려질 수 있음언제 사용?:신뢰성과 전달 보장이 중요한 상황에서 활용 사용자 로그인 인증, 금융 거래, 데이터 업데이트 등   비동기식(asynchronous..

Kafka/Spring 2024.12.17

Kafka Consumers CLI(kafka-console-consumer.sh) - 메시지 수신

들어가며..해당 스크립트는 카프카 Topic에서 메시지를 가져오거나(fetch) 표시(display)할때 주로 사용할 수 있는 작업오직 새 메시지만 읽는 작업모든 메시지를 읽는 작업 모든 메시지 수신./kafka-console-consumer.sh --topic studytopic2 --from-beginning --bootstrap-server localhost:9092,localhost:9094명령어를 실행시키면 해당 topic의 모든 메시지를 출력한 후명령어를 종료하지 않고 대기하며, 새로운 메시지가 수신되면 출력  새로운 메시지 수신./kafka-console-consumer.sh --topic studytopic2 --bootstrap-server localhost:9092,localhost:9..

Kafka/CLI 2024.10.26

Kafka Producers CLI(kafka-console-producer.sh) - 메시지 전송

들어가며...해당 스크립트는 카프카 Topic에게 메시지를 전송할때 주로 사용할 수 있는 작업Key를 포함/포함하지 않고 메시지 전송하나의 파일에서 여러개의 메시지 전송  메시지 전송 without key./kafka-console-producer.sh --bootstrap-server localhost:9092,localhost:9094 --topic studytopic2만약 존재하지 않는 topic으로 전송을 하면, kafka에서 자동으로 기본 구성으로 해당 topic을 생성 (이게 기본설정)메시지 종료를 하고 싶으면 control + c   메시지 전송 with key./kafka-console-producer.sh --bootstrap-server localhost:9092,localhost:90..

Kafka/CLI 2024.10.25

Kafka Topic CLI(kafka-topics.sh) - Topic crud작업

들어가며..카프카 클러스터 내의 Topic들을 관리하고 상호작용하는데 사용java 코드를 이용하거나 CLI 스크립트를 사용하여 작업할 수 있음할 수 있는 작업들새로운 Topic Create, Delete기존의 Topic들을 나열(list)해당 Topic의 세부 정보 확인(describe) Topic 생성 (create)./kafka-topics.sh --create --topic studytopic2 --partitions 3 --replication-factor 3 --bootstrap-server localhost:9092, localhost:9094 단, 파티션의 개수는 소비자 수 이상이여야함그러면 그 이상의 소비자를 사용하고 싶다면 어떻게 해야하는가? -> 복제를 사용 (replication-fa..

Kafka/CLI 2024.10.25

1. MSA와 Apache Kafka

MSA개요하나의 대규모 모놀리식 애플리케이션보다 여러 개의 작은 애플리케이션으로 시스템을 구축하는 방식각 마이크로서비스는 특정 작업을 담당하며, 다른 것에 의존하지 않고 독립적으로 배포되도록 설계된 매우 작은 응용 프로그램특징작고 느슨하게 결합된 애플리케이션 -> 필요한 경우 수평으로 쉽게 확장 가능예를 들어 필요한 경우 동일한 MSA 인스턴스를 10개 더 시작 할 수 있어야함 -> 이거는 모두 그룹으로 작동스프링 프레임워크는 MSA 구축을 위한 다양한 기능을 제공 vs 모놀로식  모놀로식MSA변경사항 발생전체 시스템의 재빌드 요구변경된 서비스만 독립적으로 배포DB구조하나의 DB에 모든 데이터 저장(사용자, 상품, 주문...)각 서비스마다 별도의 DB를 사용-> 서비스간 DB 접근이 불가-> 서비스간 통..

Kafka 2024.10.19