Kafka là gì? Ứng dụng Kafka cơ bản cho hệ thống message

Comments · 1142 Views

Kafka là hệ thống message pub/sub (distributed messaging system) để phân tán và bảo vệ dữ liệu. Bên public dữ liệu được biết tới với tên gọi producer, bên subscribe nhận dữ liệu ứng với topic có tên gọi là consumer

Để nâng cao hiệu quả bảo mật và phòng tránh mất thông tin thì việc ứng dụng Kafka là điều cần thiết. Nội dung bài viết dưới đây cùng bạn tìm hiểu kafka là gì? Ứng dụng Kafka cơ bản cho hệ thống message.

Kafka là gì?

Kafka là hệ thống message pub/sub (distributed messaging system) để phân tán và bảo vệ dữ liệu. Bên public dữ liệu được biết tới với tên gọi producer, bên subscribe nhận dữ liệu ứng với topic có tên gọi là consumer. 

Kafka được ứng dụng rộng rãi cho hệ thống massage

Kafka được ứng dụng rộng rãi cho hệ thống massage

Ứng dụng Kafka cho phép truyền một lượng lớn message trong thời gian thực. Trường hợp bên nhận chưa nhận message thì với Kafka bạn vẫn được lưu trữ sao lưu trên ổ đĩa bảo đảm an toàn. Đồng thời dữ liệu cũng được replicate bên trong cluster nhằm phòng tránh mất dữ liệu. Như vậy có thể hiểu đơn giản Kafka là hệ thống logging để phòng tránh mất dữ liệu cho hệ thống. 

Các khái niệm trong Kafka

Khi tìm hiểu về Kafka bạn cần hiểu về một số khái niệm nhất đinh để quá trình sử dụng thêm hiệu quả:

Kafka yêu cầu các yếu tố cần có mối quan hệ chặt chẽ

Kafka yêu cầu các yếu tố cần có mối quan hệ chặt chẽ

  • Producer giúp thực hiện, phân loại và lưu trữ các message vào bên trong các topic thích hợp. Sau đó, khi dữ liệu của topic được gửi đến partition Producer sẽ tiến hành lưu trữ tại Broker.

  • Consumer được định danh trong từng group name, trong đó có các consumer  cùng nằm trong cùng một topic.

  • Partition là nơi lưu trữ tài liệu dành cho những topic. Trong đó mỗi topic sẽ lưu trữ một hoặc nhiều Partition khác nhau. Mỗi Partition đích xác sẽ được gán một ID và tàng trữ tài liệu có định. Mỗi partition dữ liệu được cố định và được gán một ID gọi là offset. Với một partition có thể replicate (sao chép) ra nhiều bản Kafka cluster. Trong đó, một leader chịu trách nhiệm đọc, ghi dữ liệu và các bản còn lại gọi là follower. Nếu leader lỗi sẽ có một leader thay thế đó là bản follower. 

  • Broker: Kafka cluster gồm một nhóm những server và mỗi nhóm sẽ được gọi là broker.

  • Zookeeper với mục đích quản trị và sắp xếp lại những broker .

Ứng dụng Kafka cơ bản cho hệ thống message 

Kafka là dự án mở đã được đóng gói hoàn chỉnh, tăng khả năng chịu lỗi cao, tăng hiệu năng rất tốt và dễ dàng mở rộng không cần dừng hệ thống. Có thể thấy Kafka thật sự đáng tin cậy, giúp lưu trữ lượng dữ liệu lớn thay thế cho hệ thống message truyền thống. Trong hệ thống massage ứng dụng Kafka được sử dụng phổ biến mang đến nhiều lợi ích vượt trội:

Kafka là dự án mở tăng khả năng chịu lỗi cao và tăng hiệu năng rất tốt

Kafka là dự án mở tăng khả năng chịu lỗi cao và tăng hiệu năng rất tốt

  • Để thay thế cho ActiveMQ hay RabbitMQ người ta sử dụng Kafka như một hệ thống message Queue.

  • Website Activity Monitoring giúp theo dõi hoạt động của một website bất kỳ.

  • Stream Processing: Kafka phát huy vai trò cho việc xử lý dòng dữ liệu trong thời gian thực. Các dữ liệu tại một topic được thêm mới, ghi vào hệ thống và truyền đến cho bên nhận. Kafka là một hệ thống lưu trữ dữ liệu an toàn cho đến khi bên nhận sẵn sàng nhận nó.

  • Log Aggregation: Kafka giúp tổng hợp log hiệu quả.

  • Metrics Collection: Kafka giúp thu thập dữ liệu, tracking các hành động của người dùng như như page view, search action được publish vào một topic và sẽ được xử lý sau.

  • Event-Sourcing: Kafka sẽ tiến hành lưu tiến trình của hệ thống để tái hiện trong trường hợp system bị lỗi. 

Sử dụng Kafka cho hệ thống thương mại điện tử

Hệ thống thương mại điện tử bao gồm nhiều server khác nhau để đọc và ghi dữ liệu. Từ đó tạo ra data pipeline kết nối với nhiều server từ nhỏ đến lớn để tạo thành một hệ thống. Khi đó data pipeline sẽ gia tăng hệ thống server và sử dụng Kafka để tách rời giúp việc giao tiếp trở lên đơn giản và dễ quản lý hơn. Do đó người dùng sử dụng Kafka như một công cụ để tăng tính báo mật, an toàn cho hệ thống. 

Lời kết

Kafka là gì? Ứng dụng Kafka cơ bản cho hệ thống message, những câu hỏi này đã được giải đáp trong nội dung bài viết trên đây. Để tìm hiểu về Kafka khách hàng có thể tham khảo các khóa học bài bản của Aptech Hà Nội.

 
Comments