kafka, redis 사용해보기

young·2021년 9월 26일
0

사용환경

*kafka, redis는 docker로 설치해서 이용

  • Ubuntu 18.04
  • Kafka 2.5.0
  • Redis 6.0.5
  • Python 3.6.9

Kafka

  • 비동기 처리를 위한 메시징 큐
    1) Producer: 정해진 topic에 메시지를 기록함
    2) Consumer: topic에 저장되어 있는 메시지를 필요로 할 때, 가져갈 수 있음

Redis

  • 메모리 기반의 key-value 구조 데이터베이스 관리 시스템
  • value 값으로 string, list, set, hash 등 여러 데이터 형식을 지원

0. python 패키지 설치

*가상 환경으로 프로젝트 실행

(venv) $ pip install kafka-python
(venv) $ pip install redis

1. txt 파일 읽고 Kafka에 데이터 전송

  • txt 파일을 읽어 dictionary로 만들고 list 생성
  • producer를 생성해 topic에 dictionary 형태로 메시지 전송

2. Kafka 데이터 Redis에 저장

  • consumer를 생성해 topic 메시지를 list에 저장
  • redis 서버에 연결
  • sets을 이용해 key에 데이터 저장
    *이 때의 데이터는 dictionary를 json 문자열로 변환해서 저장

3. Redis에 저장된 데이터를 json 데이터로 생성

  • key에 저장된 sets 데이터를 list에 저장
  • list 내의 데이터(json 문자열로 저장된 데이터)를 다시 dictionary로 변환
  • list 데이터를 json 파일로 저장

0개의 댓글