Kafka Connect

Kafka Connect

Framework tích hợp Kafka với các hệ thống bên ngoài (database, file, search...) mà không cần viết code — chỉ khai báo cấu hình JSON. Đây là nền tảng để xây dựng CDC (Change Data Capture) và pipeline ETL ổn định, chịu lỗi và scale được.

5
Bài học
Source + Sink
Connector
Debezium
CDC
REST API
Quản lý
Lộ trình 4 bài
Bài 1
Tổng quan & Kiến trúc
Kafka Connect là gì, các khái niệm cốt lõi: Connector, Task, Worker, Converter, Transform (SMT). So sánh Standalone vs Distributed mode, Source vs Sink, plugin.path.
ConnectorWorkerConverter
Bài 2
Source & Debezium CDC
Source connector đẩy dữ liệu vào Kafka. Debezium đọc transaction log (binlog/redo/WAL), cấu trúc message before/after/op, snapshot vs streaming, quy tắc đặt tên topic.
DebeziumCDCbinlog
Bài 3
Sink & JDBC
Sink connector đọc từ Kafka ghi ra database. JDBC Sink với insert/upsert, pk.mode, auto.create. SMT để unwrap Debezium và đổi tên topic thành tên bảng.
JDBC SinkUpsertSMT
Bài 4
Vận hành & Xử lý lỗi
Quản lý connector qua REST API, trạng thái RUNNING/FAILED/PAUSED, errors.tolerance & Dead Letter Queue, các lỗi thường gặp và best practices vận hành.
REST APIDLQMonitoring
Bài 5
Tự viết Producer / Consumer
Khi nào nên tự code thay vì dùng Connect. Viết ứng dụng Kafka Producer & Consumer bằng Python: gửi/nhận message, key & partition, acks, serialization, consumer group, commit offset, delivery semantics.
ProducerConsumerOffsetPython
3 ý cốt lõi phải nhớ
Connector = cấu hình JSON
Bạn không viết code producer/consumer. Mỗi connector chỉ là một file JSON khai báo class, kết nối, topic... rồi đăng ký qua REST API.
Source vào, Sink ra
Source connector đẩy dữ liệu từ hệ thống ngoài VÀO Kafka. Sink connector lấy dữ liệu trong Kafka ghi RA hệ thống ngoài. Hai chiều ngược nhau.
Distributed = chịu lỗi & scale
Chạy nhiều worker thành một cluster: task được phân bổ tự động, worker chết thì task được rebalance sang worker khác, offset lưu trong Kafka.