|
|
|
|
version: '3.8'
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
kafka:
|
|
|
|
|
image: confluentinc/cp-kafka:latest
|
|
|
|
|
environment:
|
|
|
|
|
KAFKA_BROKER_ID: 1
|
|
|
|
|
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
|
|
|
|
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
|
|
|
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
|
|
|
KAFKA_CREATE_TOPICS: "request_llm_topic:3:1,response_llm_topic:3:1,add_point_cloud_topic:3:1,add_classified_objects_topic:3:1" # Формат: Топик:Кол-во_партиций:Фактор_репликации
|
|
|
|
|
ports:
|
|
|
|
|
- "9092:9092"
|
|
|
|
|
depends_on:
|
|
|
|
|
- zookeeper
|
|
|
|
|
|
|
|
|
|
zookeeper:
|
|
|
|
|
image: confluentinc/cp-zookeeper:latest
|
|
|
|
|
environment:
|
|
|
|
|
ZOOKEEPER_CLIENT_PORT: 2181
|
|
|
|
|
ports:
|
|
|
|
|
- "2181:2181"
|
|
|
|
|
|
|
|
|
|
producer:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
dockerfile: producer.Dockerfile
|
|
|
|
|
environment:
|
|
|
|
|
- KAFKA_BOOTSTRAP_SERVERS=localhost:9092
|
|
|
|
|
depends_on:
|
|
|
|
|
kafka:
|
|
|
|
|
condition: service_healthy
|
|
|
|
|
|
|
|
|
|
consumer:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
dockerfile: consumer.Dockerfile
|
|
|
|
|
environment:
|
|
|
|
|
- KAFKA_BOOTSTRAP_SERVERS=localhost:9092
|
|
|
|
|
ports:
|
|
|
|
|
- "7781:8000"
|
|
|
|
|
depends_on:
|
|
|
|
|
kafka:
|
|
|
|
|
condition: service_healthy
|
|
|
|
|
|
|
|
|
|
processor:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
dockerfile: processor.Dockerfile
|
|
|
|
|
environment:
|
|
|
|
|
- KAFKA_BOOTSTRAP_SERVERS=localhost:9092
|
|
|
|
|
depends_on:
|
|
|
|
|
kafka:
|
|
|
|
|
condition: service_healthy
|