Serialization and deserialization with protocol buffers in kafka | Kafka tutorial in Hindi

Опубликовано: 03 Март 2026
на канале: IT MATE PK
387
6

Protocol buffer link: https://protobuf.dev/

Official appache kafka hithub link: https://github.com/apache/kafka/blob/...

kafka yml file link: https://github.com/apache/kafka/blob/...

kafka ui yml: https://github.com/provectus/kafka-ui

aiokafka link: https://github.com/aio-libs/aiokafka

lifespan link: https://fastapi.tiangolo.com/advanced...
---------------------------------- compose.yml---------------------------------------------
services:
broker:
image: apache/kafka:latest
hostname: broker
container_name: broker
ports:
'9092:9092'
environment:
KAFKA_NODE_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT_HOST://localhost:9092,PLAINTEXT://broker:19092'
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@broker:29093'
KAFKA_LISTENERS: 'CONTROLLER://:29093,PLAINTEXT_HOST://:9092,PLAINTEXT://:19092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'

kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
8080:8080
environment:
DYNAMIC_CONFIG_ENABLED: 'true'

postgres_db:
image: postgres
restart: always
ports:
"5432:5432"
volumes:
postgres_db:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD=abc
POSTGRES_HOST_AUTH_METHOD=trust
api:
build: ./ms_01
container_name: ms_01
ports:
"8000:8000"
depends_on:
postgres_db
volumes:
postgres_db:
driver: local
networks:
default:
driver: bridge


---------------------------------- Dockerfile ---------------------------------------------
FROM python:3.12

RUN pip install poetry

WORKDIR /work

RUN apt-get update && apt-get install -y protobuf-compiler

COPY . /work/

RUN poetry config virtualenvs.create false

RUN poetry install

EXPOSE 8000

CMD [ "poetry", "run", "uvicorn", "fastapi_docker.main:app", "--host", "0.0.0.0", "--reload" ]