Tổng quan về Producer trong Kafka

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

  • 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.

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ