- vừa được xem lúc

Tổng quan về APACHE KAFKA

0 0 1

Người đăng: Hoàng Quang

Theo Viblo Asia

image.png

Apache Kafka là một nền tảng phân tán mạnh mẽ dùng để lưu trữ sự kiện và truyền tải dữ liệu theo luồng, được thiết kế để xử lý khối lượng lớn dữ liệu từ nhiều nguồn trong thời gian thực. Các thành phần chính của Kafka bao gồm Producer (nhà sản xuất dữ liệu), Broker (trung gian lưu trữ và phân phối dữ liệu), và Consumer Group (nhóm tiêu thụ dữ liệu). Mỗi thành phần này phối hợp với nhau để đảm bảo dữ liệu được truyền tải và xử lý một cách hiệu quả.

MESSAGE TRONG KAFKA

Trong Kafka, đơn vị cơ bản của dữ liệu là Message (thông điệp). Mỗi thông điệp bao gồm các phần như Header (chứa thông tin về chủ đề và phân vùng), Key, và Value. Dữ liệu được tổ chức thành các Topic (chủ đề), và mỗi chủ đề lại được chia nhỏ thành các Partition (phân vùng) để phân phối dữ liệu đồng đều giữa các máy chủ. Điều này giúp Kafka có khả năng xử lý song song và đảm bảo hiệu suất cao.

ƯU ĐIỂM NỔI BẬT CỦA KAFKA

Một trong những ưu điểm nổi bật của Kafka là khả năng mở rộng linh hoạt. Hệ thống có thể hỗ trợ nhiều nhà sản xuất dữ liệu (producers) và nhiều nhóm tiêu thụ (consumers) mà không gặp vấn đề xung đột. Ngoài ra, Kafka lưu trữ dữ liệu trên đĩa cứng, giúp dễ dàng truy xuất thông tin khi cần thiết.

PRODUCER VÀ CONSUMER TRONG KAFKA

Các Producer trong Kafka chịu trách nhiệm tạo và gửi thông điệp vào các chủ đề thông qua các phân vùng, trong khi đó, các Consumer sẽ đọc và xử lý dữ liệu từ các phân vùng này. Để tối ưu hóa việc xử lý dữ liệu, Kafka sử dụng Consumer Groups, giúp phân phối công việc một cách hiệu quả giữa các consumer.

KAFKA CLUSTER

Một cụm Kafka (Kafka Cluster) bao gồm nhiều Broker, mỗi broker chịu trách nhiệm lưu trữ các phân vùng của các chủ đề. Các phân vùng này thường được sao lưu trên nhiều broker khác nhau để đảm bảo tính khả dụng và an toàn dữ liệu trong trường hợp xảy ra lỗi. Nhờ tính năng vượt trội, Kafka đã trở thành một công cụ không thể thiếu trong các hệ thống xử lý dữ liệu lớn và thời gian thực.

Broker và Message Broker về cơ bản là cùng một khái niệm, với Message Broker chuyên biệt hơn về xử lý thông điệp

  1. Chức năng chính: lưu trữ/phân phối dữ liệu, quản lý partitions, đảm bảo luồng dữ liệu từ Producer đến Consumer.
  2. Biến thể: Các broker trong Kafka có chức năng giống nhau, chỉ khác về cấu hình và vai trò trong cluster.
  3. Trong Kafka không có component thay thế broker, mà có các thành phần khác (Producer, Consumer) hoạt động cùng broker tạo thành hệ sinh thái hoàn chỉnh.

Kết luận

Trên đây là một số tổng quan về Apache kafka để mọi người có thể tham khảo. Nếu có gì thắc mắc, xin hãy để lại bình luận bên dưới nhé. Đừng quên upvote và bookmark bài viết để xem lại sau. Cám ơn bạn đã đọc bài viết!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Create local develop environment Lavarel by Docker (Apache version)

Repository. https://github.com/ucan-lab/docker-laravel-apache. Cách dùng.

0 0 59

- vừa được xem lúc

Xử lý Apache Access logs với LogStash trong ELK Stack

Mở đầu. Xin chào các bạn, nhân dịp đang có cơ hội được tìm hiểu về ELK Stack mình muốn chia sẻ với các bạn một số thứ mà mình mò mẫm và học được từ công nghệ đang khá hot này.

0 0 127

- vừa được xem lúc

13 mẹo bảo mật server web Apache

Chào mọi người . Chắc hẳn ai học lập trình web đều rất quen thuộc với server web Apache, nó là một máy chủ web rất phổ biến để lưu trữ các trang web của bạn trên web.

0 0 91

- vừa được xem lúc

Lỗ hổng bảo mật Log4Shell(CVE-2021-4428) của thư viện Apache Log4j2

Giới thiệu. Tóm tắt câu chuyện làm chấn động giới IT mấy ngày gần đây đó chính là, có một lỗ hổng bảo mật vô cùng nghiêm trọng liên quan đến thư viện Log4j2 được cung cấp bởi Apache khiến hacker có th

0 0 52

- vừa được xem lúc

Hướng dẫn đọc và ghi file excel trong Java sử dụng thư viện Apache POI

Excel là định dạng file rất phổ biến được tạo ra bởi Microsoft. Thông thường, các ứng dụng Java sử dụng thư viện Apache POI để đọc và ghi tập tin Excel.

0 0 49

- vừa được xem lúc

PHP websites sử dụng Docker Containers với PHP, Apache2 và MySQL

Xem lại series về các lệnh cơ bản trong docker: PHẦN 1, PHẦN 2, PHẦN 3. Docker là một nền tảng để cung cấp cách để building, deploying và running ứng dụng dễ dàng hơn bằng cách sử dụng các containers.

0 0 77