Site icon LCDUNG

Apache Kafka là gì?

Apache Kafka® A DISTRIBUTED STREAMING PLATFORM

Hiểu đơn giản là nền tảng về đường truyền dữ liệu phân tán.

Apache Kafka là distributed event streaming platform có khả năng xử lý hàng nghìn tỷ sự kiện mỗi ngày. Ban đầu được hình thành như một hàng đợi nhắn tin, Kafka dựa trên sự trừu tượng của nhật ký cam kết phân tán. Kể từ khi được tạo và mở bởi LinkedIn vào năm 2011, Kafka đã nhanh chóng phát triển từ hàng đợi nhắn tin đến một nền tảng phát trực tuyến sự kiện đầy đủ.

Một stream platform sẽ có 3 khả năng chính:

Kafka thường được sử dụng cho 2 mục đích chính sau:

Để khái quát được các tính năng của kafka, bạn có thể xem ảnh dưới.

Tại sao Apache Kafka được sử dụng?

Kafka là dự án mã nguồn mở, đã được đóng gói hoàn chỉnh, khả năng chịu lỗi cao và là hệ thống nhắn tin nhanh. Vì tính đáng tin cậy của nó, kafka đang dần được thay thế cho hệ thống nhắn tin truyền thống. Nó được sử dụng cho các hệ thống nhắn tin thông thường trong các ngữ cảnh khác nhau. Đây là hệ quả khi khả năng mở rộng ngang và chuyển giao dữ liệu đáng tin cậy là những yêu cầu quan trọng nhất. Một vài use case cho kafka:

Để rõ hơn về lợi ích của kafka, hãy tưởng tượng một hệ thống thương mại điện tử có nhiều máy chủ thực hiện các công việc khác nhau, tất cả các máy chủ này đều muốn giao tiếp với database server, vì vậy chúng ta sẽ có nhiều data pipeline kết nối các server khác đến database server này, hình ảnh minh họa như sau:

Nhưng trong thực tế, hệ thống thương mại điện tử sẽ còn phải kết nối đến một vài server khác nữa như là

Như bạn thấy ở ảnh trên, data pipeline đang trở nên phức tạp theo sự gia tăng của số lượng hệ thống. Để giải quyết vấn đề này thì kafka ra đời. Kafka tách rời các data pipeline giữa các hệ thống để làm cho việc communicate giữa các hệ thống trở nên đơn giản hơn và dễ quản lý hơn.

Cấu trúc của Apache Kafka

Một mô hình cấu trúc kafka đơn giản

Một mô hình cấu trúc kafka chi tiết

Như bạn thấy ở 2 ảnh trên, cấu trúc của kafka bao gồm các thành phần chính sau:

Kết

Bài viết này chỉ giới thiệu về kafka chứ không đào sâu vào cách hoạt động hoặc cách implement kafka. Để sử dụng kafka, bạn đọc có thể tải kafka ở đây và làm theo hướng dẫn.

Exit mobile version