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

Tổng quan về Producer trong Kafka

0 0 24

Người đăng: Open Dev

Theo Viblo Asia

  • Có rất nhiều lý do để một ứng dụng cần sử dụng đến Kafka, và write message vào hệ thống: recording hoặc động của user cho kiểm kiểm toán hoặc phân tích , recording metrics, store log message, recording thông tin từ điện thoại, giao tiếp giữa các ứng dụng với nhau.
  • Đa dạng những trường hợp khác nhau cũng sẽ có nhiều yêu cầu khác nhau, mỗi message hoặc cũng có thể chấp nhận được cho sự mất mát data, cũng như duplication message.
  • Trong giao dịch thẻ tín dụng hoặc các giao dịch chuyển tiền, sẽ không bao giờ xảy ra trường hợp mất message hoặc duplication. Độ trễ có thể thấp nhưng không quá 500ms vẫn có thể chấp nhận được và thông lượng xử lý. Ví dụ chúng ta mong muốn 1 giây có thể xử lý khoảng 1 triệu message.
  • Trong một số trường hợp khi user click trên page cần được lưu trữ hành động của người dùng lại. Trong một số trường hợp nó sẽ bị mất hoặc bị duplication message vẫn coi là ok. Độ trễ có thể cao miễn là không ảnh hưởng đến trải nghiệm người dùng là được.
  • Có một số yêu cầu khác nhau sẽ ảnh hưởng đến cách bạn write message xuống, lúc này sẽ phụ thuộc vào config bạn dùng.
  • Để bắt đầu gửi message xuống, bạn cần tạo một topic mà bạn muốn gửi data, có thể chỉ định key cũng như partition. Khi message được gửi xuống producer sẽ serialize key và value của object đến byte-array. Khi data được sent xuống, nếu có chỉ định partition thì sẽ không làm gì cả mà chỉ trả về partition. Còn nếu không chọn partitioner sẽ chọn partition, khi đã chọn xong thì producer đã biết topic và partition sẽ đi đến, nó sẽ add record đến batch của nhiều record và gửi đến topic-partition.
  • Khi broker nhận được message nó sẽ trả response, nếu broker write message failed nó sẽ trả về error, và producer sẽ cố thử lại vài lần rồi mới trả về data thành công hoặc thất bại.

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