Client that binds to kafka broker.
Client that binds to kafka broker. Usually application need only one client.
Client lives until the emitted process is interrupted, or fails.
Logger trait allowing to attach any Logging framework required.
Logger trait allowing to attach any Logging framework required. Jdk Instance is available
Message read from the topic.
Message read from the topic.
Offset of the message
Key of the message
Message content
Offset of last message in the topic
Starting from this offset will assure that we will read always from very oldest message (head) kept in topic *
Starting from this offset will assure we starting with most recent messages written to topic (tail) *
syntax helper to construct broker address *
Build a stream, that when run will produce single kafka client.
Build a stream, that when run will produce single kafka client.
Initially client spawns connections to nodes specified in ensemble and queries them for the topology. After topology is known, it then initiates connection to each Kafka Broker listed in topology. That connection is then used to publish messages to topic/partition that given broker is leader of.
For the subscription client always initiate separate connections to 'followers'. Only in such case there is no ISR (follower) available client initiate subscribe connection to 'leader'.
Client automatically reacts and recovers from any topology changes that may occur in ensemble:
Ensemble to connect to. Must not be empty.
Protocol that will be used for requests. This shall be lowest common protocol supported by all brokers.
Name of the client. Name is suffixed for different type of connections to broker:
types the offset in the topic*
types correctly id of the partition*
types correctly name of the topic *