Bạn Tìm Gì Hôm Nay ...?
Tất cả đều có chỉ trong 1 nốt nhạc !
Nếu cần hỗ trợ chi tiết gọi 1900 9477
Nếu bạn mới tìm hiểu về Kafka bạn sẽ thấy nhiều điều khá lạ, vì Confluent định nghĩa đây là một nền tảng stream, nhiều bài viết khác cũng đi theo định hướng này; còn nhiều bài viết khác lại nói về Kafka là một message broker.
Apache Kafka là một hệ thống phân tán message – distributed messaging system, Kafka được phát triển và duy trì bởi Apache, vì thế Kafka (message broker) có tên là Apache Kafka.
Giống như những chương trình/ phần mềm message broker khác, nó được phát triển theo mô hình public/subscribe. Bên public dữ liệu được gọi là producer và bên nhận dữ liệu theo các topic sẽ được gọi là consumer.
Kafka stream là một nền tảng streaming phân tán sự kiện – distributed event streaming platform. Được phát triển dựa trên nền tảng Apache Kafka distributed messaging system bởi Linkedin vào năm 2011, sau đó trở thành dự án mã nguồn mở của Apache. Cho đến thời điểm hiện tại, nó được phân phối chính thức và đầy đủ nhất bởi Confluent thông qua Confluent Platform.
Nền tảng Kafka stream được viết bởi ngôn ngữ Scala và Java nhằm mục đích cung cấp dịch vụ xử lý sự kiện dựa trên thời gian thực với độ trễ thấp và thông lượng cao. Vì thế, hệ thống được hơn 80% doanh nghiệp trong top 100 của Fortune tin dùng.
Kafka là một kho dữ liệu phân tán được tối ưu hóa để xử lý dữ liệu theo thời gian thực. Nếu là một nền tảng streaming trực tuyến sẽ cần phải xử lý dữ liệu một cách liên tục và tuần tự tăng dần. Sau đây sẽ là 3 chức năng chính Kafka sẽ cung cấp cho người dùng:
Vì đây là một dự án mã nguồn mở được đóng gói hoàn chỉnh, với hiệu năng tốt, dễ dàng mở rộng mà không cần phải tạm dừng hệ thống cùng với đó là khả năng chịu lỗi cao.
Nếu bạn đang xây dựng một phần mềm, một trang web hiển thị thông tin cho người dùng theo thời gian thực, Kafka chính là một lựa chọn tối ưu. Bạn có thể sử dụng Kafka để nhập và lưu trữ dữ liệu trong quá trình phát trực tiếp; bạn cũng có thể sử dụng như một phần mềm message broker giúp 2 ứng dụng/ nền tảng có thể giao tiếp với nhau.
Những lợi ích khiến bạn cân nhắc về việc sử dụng Kafka:
Hệ thống sử dụng kết hợp 2 mô hình chính là queuing và publish-subscribe nhằm cung cấp lợi ích tốt nhất cho người dùng.
Trước khi xử lý, nó sẽ thực hiện phân loại và lưu trữ các message dựa theo topic của chúng. Producer có nhiệm vụ publish message vào các topic thích hợp. Sau đó, khi dữ liệu được gửi đến partition của topic được lưu trữ tại Broker.
Consumer
Các consumer sẽ được định danh theo từng group name, nhiều consumer có thể cùng nằm trong một topic.
Partition là nơi lưu trữ dữ liệu cho các topic, mỗi topic có thể có một hoặc nhiều Partition khác nhau. Mỗi Partition sẽ được gán một ID và lưu trữ dữ liệu có định.
Trong 1 Kafka cluster, một Partition có thể được sao chép thành nhiều bản và có một bản chính leader chịu trách nhiệm đọc ghi dữ liệu; các bản còn lại sẽ có tên là follower. Khi bản chính bị lỗi,sẽ có một bản follower lên thay thế thành leader
Kafka cluster là một nhóm các server và mỗi nhóm server này sẽ được gọi là broker.
Zookeeper là một chức năng nhằm để quản lý và bố trí lại các broker.
Bạn có thể sử dụng Kafka để thay thế cho các Message broker như ActiveMQ hoặc RabbitMQ.
Đây là một cách thức truyền thống để sử dụng Kafka, bạn có thể sử dụng để xây dựng website và đăng tải nội dung theo thời gian thực. Tất cả các dữ liệu như: lượt xem trang, hoạt động tìm kiếm và bất cứ một hoạt động nào khác trên trang của bạn đều sẽ được tạo thành các topic. Hoạt động theo dõi website này sẽ giúp bạn có thể phân tích được hành vi người dùng trên trang và thu hút nhiều người đọc hơn.
Bạn có thể sử dụng Kafka để xây dựng dữ liệu giám sát các hoạt động. Đồng nghĩa với việc bạn đang tập hợp số liệu thống kê từ các nguồn phân tán trên trang nhằm tạo ra một nguồn dữ liệu tổng hợp.
Tổng hợp log hay nhật ký hoạt động, đây là phương pháp nhiều người sử dụng Kafka nhằm để tóm tắt các chi tiết và cung cấp bản ghi rõ ràng về dữ liệu sự kiện nhằm để xử lý về sau.
Đây là cách sử dụng phổ biến nhất ở thời điểm hiện tại của Kafka, là một hệ thống được phát triển để thích hợp với việc xử lý dữ liệu trong thời gian thực. Mỗi khi dữ liệu được thêm mới vào topic sẽ ngay lập tức được ghi vào hệ thống và truyền đến cho bên nhận dữ liệu. Với thư viện Kafka Streams được tích hợp từ phiên bản 0.10.0.0 có khả năng xử lý stream nhẹ nhưng vô cùng mạnh mẽ.
Ngoài ra, bạn cũng có thể sử dụng các công cụ mã nguồn mở khác như: Apache Storm và Apache Samza để xử lý.
Tổng kết lại, bài viết đã giúp bạn hiểu được về Kafka là gì cũng như bạn cũng đã có thể thấy rằng Kafka rất đáng để sử dụng.
——————————————————————————————————————————–
Cách triển khai một Kafka đơn giản như thế nào?
Tài liệu tìm hiểu sâu Kafka ở đâu?
RabbitMQ là gì?
——————-
P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng
Cloud Server
Cloud Server Pro
Máy Chủ Riêng
Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/
Đọc thêm các bài viết tại link