1. 파이썬으로 Confluent Kafka의 Producer 구현하기

2023. 10. 24. 22:10·Kafka

앞선 포스팅에서 Confluent Kafka를 설치하고 토픽을 생성했다. 또한 Control Center를 통해 토픽에 메시지를 생성했다.

메시지 생성을 매번 UI를 통해서 수행할 수 없기에 confluent-kafka 라이브러리를 이용해 파이썬으로 메시지를 생성해 보자.

대상 독자

  • 파이썬으로 카프카 토픽에 메시지를 생성하고자 하는 개발자

1. confluent-kafka 설치하기

confluent-kafka 라이브러리는 Kafka에 메시지를 생성하고 소비하는 등의 행위를 파이썬으로 할 수 있게 도와준다.

Star History Chart

pip install confluent-kafka

나는 2.2.0 버전을 설치했다.

2. 프로듀서 정의하기

프로듀서(Producer)는 토픽에 메시지를 생성할 수 있는 객체다.

그러면 토픽은 어디에 있을까? 브로커라고 부르는 카프카를 구성하는 VM에 저장된다.

프로듀서를 정의하기 위해 꼭 필요한 것이 브로커의 주소를 가리키는 bootstrap.servers이다.

프로듀서 정의

from confluent_kafka import Producer

producer = Producer({'bootstrap.servers': 'localhost:9092'})

여기서 localhost:9092는 broker의 주소를 가리킨다. (docker-compose ps 에서 확인가능)

3. 메시지 생성하기

프로듀서 객체가 정상적으로 생성되었다면 메시지 생성은 아주 간단하다.

앞선 포스팅에서 만들었던 users 토픽에 메시지를 생성해 보자.

from confluent_kafka import Producer
import json

producer = Producer({'bootstrap.servers': 'localhost:9092'})

topic_name = "users"
message = {
  "userid": 2,
  "gender": "FEMALE",
  "username": "옥순"
}

producer.produce(topic=topic_name, value=json.dumps(message))
producer.flush() # 토픽에 메시지가 들어갈 때까지 대기

users 토픽에 이동해 보면 메시지가 생성된 것을 확인할 수 있다.

'Kafka' 카테고리의 다른 글
  • 4. Schema Registry와 함께 안전하게 카프카 메시지 Consume 하기
  • 3. Schema Registry와 함께 안전하게 카프카 메시지 Produce 하기
  • 2. 파이썬으로 Confluent Kafka의 Consumer 구현하기
  • Confluent Kafka 설치하기 with Docker Compose
ssuwani
ssuwani
  • ssuwani
    Oops!!
    ssuwani
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • MLOps (19)
      • 데이터 엔지니어링 (4)
      • Kubernetes (5)
      • Kafka (10)
      • 📚책 (3)
      • 라즈베리파이 (1)
      • ETC (8)
      • Python (6)
      • 언어모델 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Spark
    Kubeflow
    Confluent Cloud
    mlflow
    태그1
    producer
    Kafka
    LangChain
    auto tagging
    MLOps
    gcp
    Docker
    RDD
    태그2
    asyncronous
    Airflow
    BentoML
    LLM
    redis
    Github Actions
    topic
    FastAPI
    evidently ai
    Python
    Kubernetes
    Schema Registry
    datadrift
    consumer
    Prometheus
    fluentbit
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
ssuwani
1. 파이썬으로 Confluent Kafka의 Producer 구현하기
상단으로

티스토리툴바