Documentation ¶
Overview ¶
Package kafka provides a simple high-level API for producing and consuming Apache Kafka messages.
Based on github.com/segmentio/kafka-go, it abstracts away the complexities of the Kafka protocol and provides a simplified interface for working with Kafka topics.
It allows to specify custom message encoding and decoding functions, including serialization and encryption.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultMessageDecodeFunc ¶ added in v1.85.0
DefaultMessageDecodeFunc is the default function to decode a message for ReceiveData(). The value underlying data must be a pointer to the correct type for the next data item received.
Types ¶
type Consumer ¶
type Consumer struct {
// contains filtered or unexported fields
}
Consumer represents a wrapper around kafka.Consumer.
func NewConsumer ¶
NewConsumer creates a new instance of Consumer. Please call the HealthCheck() method to check if the connection is working.
func (*Consumer) HealthCheck ¶
HealthCheck checks if the consumer is working.
type Option ¶
type Option func(*config)
Option is a type alias for a function that configures Kafka client.
func WithFirstOffset ¶
func WithFirstOffset() Option
WithFirstOffset tells Kafka consumer to read from the beginning of uncommitted offset. By default it will read from the end of the queue.
func WithMessageDecodeFunc ¶ added in v1.85.0
func WithMessageDecodeFunc(f TDecodeFunc) Option
WithMessageDecodeFunc allow to replace DefaultMessageDecodeFunc(). This function used by ReceiveData() to decode a message encoded with messageEncodeFunc to the provided data object. The value underlying data must be a pointer to the correct type for the next data item received.
func WithMessageEncodeFunc ¶ added in v1.85.0
func WithMessageEncodeFunc(f TEncodeFunc) Option
WithMessageEncodeFunc allow to replace DefaultMessageEncodeFunc. This function used by SendData() to encode the input data.
func WithSessionTimeout ¶
WithSessionTimeout sets the timeout used to detect client failures when using Kafka's group management facility. The client sends periodic heartbeats to indicate its liveness to the broker. If no heartbeats are received by the broker before the expiration of this session timeout, then the broker will remove this client from the group and initiate a rebalance.
type Producer ¶
type Producer struct {
// contains filtered or unexported fields
}
Producer represents a wrapper around kafka.Producer.
func NewProducer ¶
NewProducer creates a new instance of Producer.
type TDecodeFunc ¶ added in v1.85.0
TDecodeFunc is the type of function used to replace the default message decoding function used by ReceiveData().