
Kafka là gì? Apache Kafka là nền tảng stream event mã nguồn mở được xây dựng để xử lý hàng tỷ sự kiện mỗi ngày theo thời gian thực. Được tạo ra tại LinkedIn năm 2011, Kafka giờ đây phục vụ hơn 80% trong danh sách Fortune 100, từ Netflix đến Uber và Spotify.
Apache Kafka là gì?
Apache Kafka là một nền tảng phân phối sự kiện (event streaming platform) mã nguồn mở thuộc Apache Software Foundation, được viết bằng Java và Scala. Jay Kreps, Neha Narkhede và Jun Rao tạo ra Kafka tại LinkedIn vào tháng 1 năm 2011 nhằm giải quyết vấn đề xử lý dữ liệu lưu lượng cực lớn. Hiện tại phiên bản mới nhất là 4.3.1, phát hành tháng 6 năm 2026.
Kafka kết hợp ba năng lực chính trong một nền tảng duy nhất: phát subscribes stream events theo mô hình publish/subscribe, lưu trữ events một cách bền vững theo thời gian cần thiết, và xử lý events theo thời gian thực hoặc phân tích lại sau này.
Kiến trúc Apache Kafka

Hiểu kiến trúc Kafka giúp bạn chọn đúng công cụ cho hệ thống của mình. Các thành phần cốt lõi bao gồm:
- Broker — mỗi server trong cluster Kafka chịu trách nhiệm lưu trữ dữ liệu và phục vụ yêu cầu từ client. Cluster có thể trải dài nhiều trung tâm dữ liệu.
- Topic — tương tự thư mục trong hệ thống file, nơi chứa các events. Một topic luôn hỗ trợ nhiều producer và nhiều consumer cùng lúc.
- Partition — mỗi topic được chia thành nhiều partition đặt trên các broker khác nhau, giúp đọc ghi đồng thời và mở rộng quy mô. Các event có cùng key luôn được ghi vào cùng một partition để đảm bảo thứ tự.
- Replication — mỗi topic có thể được sao chép across brokers (thường replication factor bằng 3), đảm bảo hệ thống chịu lỗi tốt.
- Offset — consumer tự quản lý vị trí đọc, cho phép retry và xử lý lỗi linh hoạt.
Tính năng nổi bật
Điểm mạnh lớn nhất của Kafka nằm ở khả năng mở rộng ngang: khi lưu lượng tăng, bạn chỉ cần thêm broker và partition mới, hiệu năng gần như không suy giảm theo kích thước dữ liệu. Kafka cũng hỗ trợ xử lý exactly-once — đảm bảo mỗi event được xử lý đúng một lần, điều quan trọng trong xử lý thanh toán và giao dịch tài chính.
Ngoài ra Kafka cung cấp Kafka Connect để import và export dữ liệu từ các hệ thống bên ngoài, cùng Kafka Streams — thư viện xử lý stream bằng Java với các phép filter, map, grouping, windowing và joins. Hỗ trợ đa ngôn ngữ bao gồm Java, Scala, Go, Python, C/C++ và REST API.

Use cases phổ biến
- Log Aggregation — thay thế Scribe hoặc Flume, giúp thu thập log từ nhiều nguồn với độ trễ thấp hơn.
- Theo dõi hoạt động website — use case gốc của Kafka tại LinkedIn, xây dựng pipeline theo dõi người dùng theo thời gian thực.
- Event Sourcing — ghi lại mọi thay đổi trạng thái dưới dạng log theo thời gian.
- Microservices Communication — nền tảng cho kiến trúc event-driven giữa các service.
- Xử lý IoT và thanh toán — từ dữ liệu cảm biến IoT đến xử lý payment real-time.
So sánh Kafka với RabbitMQ và Google Pub/Sub
| Tiêu chí | Kafka | RabbitMQ | Google Pub/Sub |
|---|---|---|---|
| Mô hình | Distributed log | Message broker | Fully managed |
| Throughput | Rất cao (triệu msg/giây) | Trung bình đến cao | Cao |
| Lưu trữ | Persistent log, giữ theo config | Xóa sau khi giao | 7–31 ngày |
| Thứ tự | Đảm bảo trong partition | Theo queue | Theo partition |
| Phù hợp | Streaming, event sourcing | Task queue, messaging truyền thống | Serverless, GCP-native |
Các công ty sử dụng Kafka
LinkedIn — nơi Kafka ra đời — sử dụng Kafka để xử lý hàng nghìn tỷ sự kiện mỗi ngày. Netflix dùng Kafka để xử lý luồng dữ liệu xem phim real-time, Uber dùng cho hệ thống theo dõi chuyến đi và thanh toán. Spotify, Twitter, Airbnb, PayPal, Goldman Sachs và hàng trăm công ty lớn khác đang chạy Kafka trong môi trường production.
Bắt đầu với Kafka
Để chạy Kafka trên máy tính cá nhân, bạn cần Java 17 trở lên, tải phiên bản mới nhất từ kafka.apache.org, giải nén rồi chạy lệnh khởi tạo cluster storage và start server. Nếu dùng Docker, chỉ cần một dòng lệnh: docker run -p 9092:9092 apache/kafka:4.3.1. Sau đó tạo topic đầu tiên, bắt đầu ghi events bằng producer và đọc chúng bằng consumer.
Điều đáng chú ý là Confluent — công ty do chính ba người sáng lập Kafka thành lập — hiện có định giá 4,5 tỷ USD (Forbes), chứng minh tiềm năng kinh tế khổng lồ của nền tảng này.

Kết luận
Kafka là gì không còn là câu hỏi khó — đây là nền tảng xử lý sự kiện thời gian thực mạnh mẽ nhất hiện nay, phù hợp cho mọi quy mô từ startup đến doanh nghiệp lớn. Với kiến trúc partition-based, khả năng chịu lỗi và xử lý exactly-once, Kafka là lựa chọn hàng đầu cho bất kỳ hệ thống nào cần xử lý dữ liệu streaming.
Tham khảo thêm
Thông tin trong bài dựa trên: Wikipedia – Apache Kafka, Apache Kafka Official – Introduction, Apache Kafka Official – Use Cases, Apache Kafka Quickstart.
