Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Consumer ¶
type Consumer interface {
io.Closer
// Name returns the name of this consumer group.
Name() string
// Topics returns the names of the topics being consumed.
Topics() []string
// Errors returns a channel of errors for the topic. To prevent deadlocks,
// users must read from the error channel.
//
// All errors returned from this channel can be safely cast to the
// consumer.Error interface, which allows structured access to the topic
// name and partition number.
Errors() <-chan error
// Closed returns a channel that unblocks when the consumer successfully shuts
// down.
Closed() <-chan struct{}
// Messages returns a channel of messages for the topic.
//
// If the consumer is not configured with nonzero buffer size, the Errors()
// channel must be read in conjunction with Messages() to prevent deadlocks.
Messages() <-chan Message
// CommitUpTo marks this message and all previous messages in the same partition
// as processed. The last processed offset for each partition is periodically
// flushed to ZooKeeper; on startup, consumers begin processing after the last
// stored offset.
CommitUpTo(Message) error
}
A Consumer allows users to read and process messages from a Kafka topic. Consumer processes within the same group use ZooKeeper to negotiate partition ownership, so each process sees a stream of messages from one or more partitions. Within a partition, messages are linearizable.
type Message ¶
type Message interface {
// Key is a mutable reference to the message's key.
Key() []byte
// Value is a mutable reference to the message's value.
Value() []byte
// Topic is the topic from which the message was read.
Topic() string
// Partition is the ID of the partition from which the message was read.
Partition() int32
// Offset is the message's offset.
Offset() int64
// Ack the message
Ack()
// Nack the message
Nack()
// Cluster is the message's originated cluster.
Cluster() string
}
Message is a single message pulled off a Kafka topic.
Click to show internal directories.
Click to hide internal directories.