Các thuật ngữ trong Kafka được sử dụng phổ biến

1289
26-12-2022
Các thuật ngữ trong Kafka được sử dụng phổ biến

Kafka đang nhanh chóng trở thành xương sống của nhiều đường dẫn dữ liệu trong doanh nghiệp. Để hiểu về Kafka, trước tiên chúng ta cần hiểu về các thuật ngữ chính trong kiến trúc của nó. Cùng Bizfly Cloud tìm hiểu các thuật ngữ trong Kafka trong bài viết dưới đây nhé!

Tổng quan về Kafka

Kafka là một nền tảng message publish/subscribe phân tán (distributed messaging system) mã nguồn mở, được xây dựng nhằm mục đích lưu trữ, đọc và phân tích dữ liệu streaming theo thời gian thực. Kafka được thiết kế để chạy trong môi trường "phân tán", nghĩa là thay vì ngồi trên máy tính của một người dùng, nó chạy trên một số (hoặc nhiều) máy chủ, tận dụng sức mạnh xử lý và dung lượng lưu trữ kết hợp.

Kafka cung cấp ba chức năng chính cho người dùng:

  • Publish và subscribe các luồng record
  • Lưu trữ hiệu quả các luồng record theo thứ tự được tạo
  • Xử lý luồng record trong thời gian thực

Ban đầu được tạo ra để xử lý các nguồn cấp dữ liệu theo thời gian thực tại LinkedIn vào năm 2011, Kafka đã nhanh chóng phát triển từ message queue thành một nền tảng event streaming mạnh mẽ có khả năng xử lý hơn 1 triệu message mỗi giây và hàng nghìn tỷ message mỗi ngày. Ngày nay, Kafka được sử dụng bởi hơn 80% doanh nghiệp trong số Fortune 100 trên hầu hết mọi ngành, với các use case lớn và nhỏ. Một lĩnh vực mà Kafka đã giành được sự thống trị là ngành Du lịch, nơi khả năng streaming của nó rất lý tưởng để theo dõi chi tiết booking của hàng triệu chuyến bay, holiday tour và phòng trống của khách sạn trên toàn thế giới.

Kafka là một nền tảng message publish/subscribe phân tán

Kafka là một nền tảng message publish/subscribe phân tán

Một số thuật ngữ phổ biến trong Kafka

Dưới đây là danh sách các thuật ngữ phổ biến nhất trong Kafka sẽ giúp bạn xây dựng nền tảng vững chắc để làm việc với Kafka:

1. Broker

Có một hoặc nhiều máy chủ có sẵn trong cụm Kafka của Apache, về cơ bản, những máy chủ này được gọi là Broker. Broker là cầu nối giữa publisher và consumer giúp chúng có thể trao đổi message với nhau.

2. Event

Các message được tạo hoặc tiêu thụ từ Kafka broker được gọi là event. Các message này được lưu trữ dưới dạng byte trong bộ lưu trữ đĩa của broker.

Các message được tạo hoặc tiêu thụ từ Kafka broker được gọi là event

Các message được tạo hoặc tiêu thụ từ Kafka broker được gọi là event

3. Producer và Consumer

Bên publish dữ liệu được gọi là producer (hay người gửi), bên subscribe nhận dữ liệu theo topic được gọi là consumer (hay người nhận).

4. Cluster và Node

Kafka cluster là một tập hợp của một hoặc nhiều Kafka broker.

Trong Kafka cluster, một node là một máy tính.

5. Topic

Một Topic trong Kafka là một danh mục (category) hoặc tên nguồn (feed) do người dùng xác định nơi dữ liệu được lưu trữ và publish. Nói cách khác, một topic chỉ đơn giản là một bản ghi các event. Ví dụ: trong trường hợp sử dụng theo dõi hoạt động của trang web, có thể có một topic có tên "nhấp chuột" nhận và lưu trữ event "nhấp chuột" mỗi khi người dùng nhấp vào một nút nhất định.

Một Topic trong Kafka là một danh mục hoặc tên nguồn do người dùng xác định

Một Topic trong Kafka là một danh mục hoặc tên nguồn do người dùng xác định

6. Message

Message trong Kafka là thông tin truyền từ producer đến consumer thông qua Apache Kafka.

7. Partitions

Trong mỗi broker ở Kafka có một số partition, đây là nơi lưu trữ dữ liệu cho một topic. Một topic có thể được chia thành các partition để đạt được thông lượng cao hơn. Đây là đơn vị lưu trữ nhỏ nhất chứa một tập hợp con dữ liệu của một topic.

8. Offset

Các event được thêm vào và lưu trữ trong các partition một cách tuần tự và được gán cho một ID được gọi là offset. Có thể nói đây là metadata duy nhất được giữ lại trên cơ sở từng consumer.

9. Consumer Group

Consumer group là một nhóm các Consumer tiêu thụ message từ Kafka server. Nếu hai Consumer đã subscribe cùng một topic và có mặt trong cùng một Consumer group, thì hai Consumer này sẽ được chỉ định một nhóm các partition khác nhau và không nhận được cùng một message.

Consumer group là một nhóm các Consumer tiêu thụ message từ Kafka server

Consumer group là một nhóm các Consumer tiêu thụ message từ Kafka server

10. ZOOKEEPER

ZOOKEEPER là một dịch vụ bổ sung có trong Kafka cluster giúp duy trì các cluster ACL, lưu trữ offset cho tất cả các partition của tất cả các topic, được sử dụng để theo dõi trạng thái của các Kafka broker node và duy trì client quotas (bao nhiêu dữ liệu một producer/consumer được phép đọc/ghi). Zookeeper đang bị loại bỏ dần bắt đầu từ Apache Kafka 3.0.0.

Trên đây là một số thuật ngữ và khái niệm cơ bản trong Apache Kafka. Việc hiểu và sử dụng Kafka không phải là điều dễ dàng và cần thời gian dài để làm quen. Việc sử dụng và khai thác tối đa mọi lợi ích của Apache Kafka là một thách thức lớn đối với bất kỳ ai không có chuyên môn và hiểu biết sâu rộng về nó. Tuy nhiên, việc ứng dụng Apache Kafka sẽ đơn giản và tiện lợi hơn rất nhiều nếu doanh nghiệp lựa chọn Bizfly Kafka - giải pháp tự động hóa hoàn toàn việc quản lý, duy trì và mở rộng các cụm Apache Kafka, không tốn công sức triển khai, dễ dàng quản lý giúp tối ưu chi phí tài nguyên, nguồn lực.

Bizfly Kafka được thiết lập sẵn sàng để triển khai ngay lập tức, giúp các Developer dễ dàng sử dụng Apache Kafka để giao tiếp xử lý dữ liệu theo thời gian thực trong các hệ thống mà không cần phải quản lý hay cài đặt server.

  • Tối ưu chi phí ban đầu (nguồn nhân lực, thiết bị, máy móc, phần cứng đắt đỏ khi tự xây dựng, quản lý, đo lường...)
  • Tự động cập nhật phiên bản trên các cụm đang chạy để duy trì tính khả dụng của I/O.
  • Mở rộng cụm cực kỳ linh hoạt, đáp ứng các nhu cầu throughput khác nhau, đồng thời đảm bảo khả năng lưu trữ và xử lý khối lượng lớn dữ liệu ở tốc độ cao.
  • Bizfly Kafka cung cấp phương thức thanh toán pay-as-you-go, khách hàng chỉ phải chi trả cho những gì thực sự sử dụng, giúp tối ưu chi phí tài nguyên.
  • Cung cấp cơ chế chứng thực và mã hóa cùng với danh sách kiểm soát truy cập Apache Kafka (ACL) để kiểm soát quyền truy cập của máy khách, mặc định mã hóa toàn bộ dữ liệu khách hàng.
  • Khởi tạo, thiết lập cấu hình cụm, theo dõi và quản lý Metrics của topic, consumer, producer, partition chỉ trên 1 Dashboard duy nhất.
  • Đảm bảo tính khả dụng cao, cơ chế tự động phát hiện và phản hồi các sự cố trong cả tầng hạ tầng và tầng phần mềm.

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

TAGS: Kafka
SHARE