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

Kafka producer contructor và các loại send message.

0 0 18

Người đăng: Open Dev

Theo Viblo Asia

Constructing a Kafka Producer

Đầu tiên muốn ghi một message xuống Kafka là bạn cần tạo một producer object with các thuộc tính mà bạn gửi đến producer. Trong Kafka producer có 3 thuộc tính là yêu cầu bắt buộc.

Bootstrap server

Bao gồm một danh sách các host:port của broker producer sẽ sử dụng để tạo kết nối đến cluster. Danh sách này không cần phải bao gồm tất cả các broker, từ đó producer sẽ có nhiều thông tin hơn sau khi hết nối thành công. Nhưng nên khuyến khích là có ít nhất 2 broker để chánh trường hợp 1 broker bị down thì producer vẫn còn kết nối đến cluster.

Key.serializer

Là tên của class mà chúng ta sử dụng để tuần tự hoá các message của nhiều record, cung cấp cho Kafka. Kafka broker mong muốn array dạng byte, key và value của message. Tuy nhiên, producer cũng cho sử dụng nhiều parameterized type, bất kể các java object. Để có thể code một cách dễ đọc nó cũng có thể convert những object này đến dạng byte.

Value.serializer

Tên của class mà chúng ta sử dụng để tuần tự hoá các giá trị(message) của nhiều record, để bàn giao Kafka. Cách này tương tự với * key.serializer * cũng là name of class chúng ta sẽ tổng hợp các message key object đến dạng byte-array, bạn đặt value.serializer đến class sẽ tuần tự các giá trị(message) đến đối tượng thông báo.

Send Method

Một instance producer chúng luôn có thời gian bắt đầu gửi message, có 3 methods của việc gửi message:

Fire-and-forget: Là khi gửi message đến server, chúng ta thực sự không cần quan tâm đến việc nhận response là thành công hoặc thất bại. Đa số là sẽ nhận thành công bởi vì có cơ chế retry gửi lại đến khi thành công. Tuy nhiên cũng có đôi lúc sẽ thất bại.

Synchronous send: Là khi gửi message đến server chúng ta sẽ đợi để nhận kết quả là thành công hay thất bại.

Asynchronous send: Chúng ta send message with callback function, sau đó nó sẽ triggered khi nhận được response từ kafka broker.

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 33

- 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 152

- 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 141

- 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 204

- 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 118

- 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 52