Apache Kafka là gì
Nền tảng streaming sự kiện
Apache Kafka là một nền tảng streaming sự kiện phân tán được thiết kế để xử lý khối lượng lớn dữ liệu theo thời gian thực.
Khái niệm cốt lõi
- Topic — danh mục để tổ chức tin nhắn
- Partition — phân chia topic cho xử lý song song
- Producer — người gửi tin nhắn
- Consumer — người nhận tin nhắn
- Broker — máy chủ Kafka
- Consumer Group — nhóm consumer để cân bằng tải
Lợi ích của Kafka
- Thông lượng cao (hàng triệu tin nhắn/giây)
- Mở rộng theo chiều ngang
- Lưu trữ tin nhắn dài hạn
- Đảm bảo giao hàng (at-least-once, exactly-once)
- Khả năng chịu lỗi thông qua sao chép
Ứng dụng
- Kiến trúc hướng sự kiện — giao tiếp microservices
- Logging — thu thập log tập trung
- Streaming dữ liệu — phân tích thời gian thực
- Pipeline ETL — tích hợp dữ liệu
- IoT — xử lý dữ liệu thiết bị
Hệ sinh thái
- Kafka Connect — connector cơ sở dữ liệu
- Kafka Streams — xử lý stream trong Java
- ksqlDB — SQL cho data streams
- Schema Registry — quản lý schema Avro/JSON