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

Khám Phá Kiến Trúc Kafka: Nền Tảng Cho Xử Lý Dữ Liệu Thời Gian Thực

0 0 6

Người đăng: Nguyễn Trung Nam

Theo Viblo Asia

Trong thế giới công nghệ ngày nay, xử lý dữ liệu theo thời gian thực là một yêu cầu quan trọng. Apache Kafka, một nền tảng xử lý dữ liệu phân tán, đã trở thành công cụ chủ chốt cho việc truyền tải và xử lý luồng dữ liệu lớn. Với khả năng mở rộng, độ tin cậy và hiệu suất cao, Kafka giúp các doanh nghiệp thu thập, quản lý và phân tích dữ liệu một cách hiệu quả.

1. Một số case study mình đã sử dụng Kafka

Trong lĩnh vực chứng khoán, trái phiếu

  • Lệnh điều kiện (Stream tín hiệu giá thị trường)
  • Hệ thống notification (Tạo nhiều luồng stream channel phục vụ hàng triệu message notification, email, sms)
  • Đồng bộ dữ liệu giữa cache datasource và persistence datasource
  • Đồng bộ thông tin tài sản
  • Robo trader trái phiếu doanh nghiệp
  • Bảng giá V.v…. Trong lĩnh vực thương mại điện tử:
  • Quản lí kho
  • ETL dữ liệu data warehouse V.v….

Trải qua nhiều dự kiến trúc hệ thống từ đơn giản đến phức tạp, có những hệ thống tải lớn, đòi hỏi tính nhất quán cao. Việc sử dụng Kafka đem lại sự tin tưởng và độ tin cậy rất cao và là một thành phần không thể thiếu trong khác kiến trúc mình thiết kế và triển khai.

Trong quá trình triển khai có rất nhiều điều thú vị mình sẽ chia sẻ dần qua các bài viết, từ việc cách sử dụng, lưu ý các config từ Kafka client cho đến Kafka server để phù hợp với những bài toán khác nhau.

Bài viết này mình sẽ tóm tắt lại kiến trúc của Kafka để giúp anh em có thể hệ thống lại các thành phần chủ yếu của Kafka:

2. Tổng quan kiến trúc

Kafka clients:

  • Producer: đẩy thông điệp (message) vào các chủ đề (cụ thể) cụ thể.
  • Consumer group: đăng ký vào các chủ đề và tiêu thụ thông điệp. Kafka servers:
  • Core Service và Lưu trữ
  • Broker: chứa nhiều phân vùng (partitions). Một phân vùng chứa một tập hợp các thông điệp của một chủ đề.
  • Lưu trữ (storage): Data storage: thông điệp được lưu trữ trong các phân vùng. State storage: trạng thái của consumer được quản lý bởi state storage. Metadata storage: cấu hình và thuộc tính của các chủ đề được lưu trữ trong metadata storage.
  • Coordination Service: Service discovery: xác định các broker đang hoạt động. Leader election: một trong các broker được chọn làm “active controller” hoạt động. Chỉ có một controller hoạt động trong cụm. Controller hoạt động chịu trách nhiệm phân phối các phân vùng. Apache Zookeeper hoặc etcd thường được sử dụng để bầu chọn "active controller".

3. Thông tin kết nối

Nếu anh em muốn trao đổi thêm về bài viết, hãy kết nối với mình qua LinkedIn và Facebook:

Rất mong được kết nối và cùng thảo luận!

Bình luận

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

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

Kafka là gì?

Apache Kafka® là một nền tảng stream dữ liệu phân tán. . stream data: dòng dữ liệu, hãy tưởng tượng dữ liệu là nước trong 1 con suối. .

0 0 43

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

001: Message-driven programming với Message broker và Apache Kafka

Bài viết nằm trong series Apache Kafka từ zero đến one. . . Asynchronous programming.

0 0 164

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

002: Apache Kafka topic, partition, offset và broker

Bài viết nằm trong series Apache Kafka từ zero đến one. Nói qua về lịch sử, Kafka được phát triển bởi LinkedIn (các anh em dev chắc chẳng xa lạ gì) và viết bằng ngôn ngữ JVM, cụ thể là Java và Scala.

0 0 153

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

003: Gửi và nhận message trong Apache Kafka

Bài viết nằm trong series Apache Kafka từ zero đến one. . . Nếu muốn các message được lưu trên cùng một partition để đảm bảo thứ tự thì làm cách nào.

0 0 222

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

004: Apache Kafka consumer offset, Broker discovery và Zookeeper

Bài viết nằm trong series Apache Kafka từ zero đến one. 1) Consumer offset.

0 0 130

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

Apache Kafka - Producer - Gửi message đến Kafka bằng kafka-python

Overview. Understand how to produce message and send to the Kafka topic. Architecture. .

0 0 63