스키마 레지스트리의 호환성 (Backward, Forward, Full)
·
Kafka
스키마 레지스트리를 사용하는 가장 큰 이유는 데이터의 호환성과 품질을 보장하기 위함이다. 메시지의 스키마가 없다면 Producer에게 발생한 장애가 모든 Consumer 들에게 전파될 수 있다. 그렇기에 카프카를 사용한다면 스키마 레지스트리 사용은 필수라고 말할 수 있다. Producer가 토픽에 메시지를 생성하고 Consumer가 토픽의 메시지를 소비하기까지 스키마 레지스트리 입장에선 다음과 같은 단계가 수행된다. 1. 토픽에 등록된 스키마 관리 2. Producer의 메시지 Validation Check 3. Consumer의 메시지 Validation Check 그런데, 운영 중 스키마를 변경해야 하는 경우가 생겼다면 어떻게 해야 할까? 다 같이 운영을 중단하고 스키마를 변경한 뒤 운영을 재개할 ..
2. 파이썬으로 Confluent Kafka의 Consumer 구현하기
·
Kafka
앞선 포스팅에서 토픽에 메시지를 생성했다. 이번엔 소비해 보자. 대상 독자 파이썬으로 카프카 토픽에 쌓인 메시지를 소비하고자 하는 개발자 Steps 컨슈머 정의하기 메시지 소비하기 마무리 1. 컨슈머 정의하기 컨슈머(Consumer)는 토픽에 쌓인 메시지를 소비할 수 있는 객체다. 프로듀서와 동일하게 bootstrap.servers 가 필요한데 컨슈머는 추가로 group.id도 필요하다. group.id는 컨슈머 그룹의 고유 ID 값이다. 위 사진으로 알 수 있는 것이 하나의 토픽을 여러 컨슈머가 읽을 수 있다는 것이다. 이를 구분하기 위한 구분자가 group.id 인 것이다. from confluent_kafka import Consumer consumer = Consumer({'bootstrap.se..
1. 파이썬으로 Confluent Kafka의 Producer 구현하기
·
Kafka
앞선 포스팅에서 Confluent Kafka를 설치하고 토픽을 생성했다. 또한 Control Center를 통해 토픽에 메시지를 생성했다. 메시지 생성을 매번 UI를 통해서 수행할 수 없기에 confluent-kafka 라이브러리를 이용해 파이썬으로 메시지를 생성해 보자. 대상 독자 파이썬으로 카프카 토픽에 메시지를 생성하고자 하는 개발자 1. confluent-kafka 설치하기 confluent-kafka 라이브러리는 Kafka에 메시지를 생성하고 소비하는 등의 행위를 파이썬으로 할 수 있게 도와준다. pip install confluent-kafka 나는 2.2.0 버전을 설치했다. 2. 프로듀서 정의하기 프로듀서(Producer)는 토픽에 메시지를 생성할 수 있는 객체다. 그러면 토픽은 어디에 있..
Confluent Kafka 설치하기 with Docker Compose
·
Kafka
개요 이번 포스팅에서는 Confluent Kafka를 설치하는 방법을 설명하고, 간단하게 Confluent에서 제공하는 Control Center를 사용하여 토픽을 생성하고 메시지를 생성(produce)하는 방법을 알아보겠습니다. 포스팅의 내용을 따라 하면 Confluent Kafka를 실습하기 위한 최소한의 준비를 마친 것으로 간주할 수 있으며, 아래 화면을 확인할 수 있을 것입니다. 대상 독자 Confluent Kafka를 처음 다루는 개발자 로컬에서 Confluent Kafka를 자유롭게 사용하고 싶은 개발자 단계 Confluent Kafka란 무엇인가? Confluent Kafka 설치하기 토픽 생성하기 토픽에 메시지 생성하기 마치며 1. Confluent Kafka란 무엇인가? Confluent..