Giriş
Debezium aslında 4 tane şeyin aynı anda çalışması ile oluşan bir şey. Bunlar
1. zookeeper
2. kafka
3. kafka-connect
4. debezium
Image olarak şunlar kullanılabilir
debezium/server
debezium/connect
outbox-transformer
Şu değişkenler belirtilir
BOOTSTRAP_SERVERS : Kafka adresi
GROUP_ID
CONFIG_STORAGE_TOPIC
OFFSET_STORAGE_TOPIC
STATUS_STORAGE_TOPIC
Ayrıca şu edeğişkenler ile Avro sunucusu belirtilir
KEY_CONVERTER
VALUE_CONVERTER
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL
Şöyle yaparız.
version: '3.1'services:postgres:...zookeeper:...kafka:...connector:image: debezium/connect:latestports:- "8083:8083"environment:GROUP_ID: 1CONFIG_STORAGE_TOPIC: my_connect_configsOFFSET_STORAGE_TOPIC: my_connect_offsetsBOOTSTRAP_SERVERS: kafka:9092depends_on:- zookeeper- postgres- kafka
Örnek - postgres + debezium + kafka
Şöyle yaparız
services: db: ... zookeeper: ... kafka: ... connect: image: debezium/connect ports: - "8083:8083" environment: - BOOTSTRAP_SERVERS=kafka:9092 - GROUP_ID=1 - CONFIG_STORAGE_TOPIC=my_connect_configs - OFFSET_STORAGE_TOPIC=my_connect_offsets - STATUS_STORAGE_TOPIC=my_connect_statuses depends_on: - zookeeper - kafka
Örnek - postgres + debezium + kafka
Şöyle yaparız
version: "3.5"services:# Install postgres and setup the user service databasepostgres:...# Install zookeeper.zookeeper:...# Install kafka and create needed topics.kafka:...# Install debezium-connect and add outbox-transformer here.debezium-connect:container_name: custom-debezium-connectimage: outbox-transformerhostname: debezium-connectports:- '8083:8083'environment:GROUP_ID: 1CONFIG_STORAGE_TOPIC: debezium_connect_configOFFSET_STORAGE_TOPIC: debezium_connect_offsetsSTATUS_STORAGE_TOPIC: debezium_connect_statusBOOTSTRAP_SERVERS: kafka:29092depends_on:- kafka- postgres
Örnek - postgres + debezium + kafka + avro
Şöyle yaparız
version: “3.7” services: postgres: ... zookeeper: ... kafka: ... kafka-ui: ... debezium: image: debezium/connect:1.4 environment: BOOTSTRAP_SERVERS: kafka:9092 GROUP_ID: 1 CONFIG_STORAGE_TOPIC: connect_configs OFFSET_STORAGE_TOPIC: connect_offsets KEY_CONVERTER: io.confluent.connect.avro.AvroConverter VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8081 CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8081 depends_on: [kafka] ports: — 8083:8083 schema-registry: ...
Şöyle yaparız. Burada Debezium Kafka yerine Redis'e yazıyor. Connector ayarları conf dizinindeki application.properties dosyasında
version: '3.1' services: redis: image: redis ports: - 6379:6379 depends_on: - postgres postgres: image: postgres restart: always environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres volumes: - ./postgresql.conf:/etc/postgresql/postgresql.conf - ./init:/docker-entrypoint-initdb.d command: - "-c" - "config_file=/etc/postgresql/postgresql.conf" ports: - 5432:5432 debezium: image: debezium/server volumes: - ./conf:/debezium/conf - ./data:/debezium/data depends_on: - redis
Hiç yorum yok:
Yorum Gönder