LocalPost.KafkaConsumer
0.3.0
dotnet add package LocalPost.KafkaConsumer --version 0.3.0
NuGet\Install-Package LocalPost.KafkaConsumer -Version 0.3.0
<PackageReference Include="LocalPost.KafkaConsumer" Version="0.3.0" />
<PackageVersion Include="LocalPost.KafkaConsumer" Version="0.3.0" />
<PackageReference Include="LocalPost.KafkaConsumer" />
paket add LocalPost.KafkaConsumer --version 0.3.0
#r "nuget: LocalPost.KafkaConsumer, 0.3.0"
#addin nuget:?package=LocalPost.KafkaConsumer&version=0.3.0
#tool nuget:?package=LocalPost.KafkaConsumer&version=0.3.0
LocalPost Kafka Consumer
librdkafka's background prefetching
The Kafka client automatically prefetches messages in the background. This is done by the background thread that is
started when the client is created. The background thread will fetch messages from the broker and enqueue them on the
internal queue, so Consume()
calls will return faster.
Because of this behavior, there is no need to maintain our own in memory queue (channel).
Concurrent processing
A Kafka consumer is designed to handle messages from one partition sequentially, as it commits the offset of the last processed message.
One of the common ways to speed up things (increase throughput) is to have multiple partitions for a topic and multiple parallel consumers.
Another way is to batch process messages.
Message key ignorance
Kafka's message key is used for almost one and only one purpose: to determine the partition for the message, when publishing. And in almost all the cases this information is also available (serialized) in the message itself (message value in Kafka terms). That's why we are ignoring the message key in this consumer.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Confluent.Kafka (>= 2.4.0 && < 3.0.0)
- LocalPost (>= 0.3.0)
-
net8.0
- Confluent.Kafka (>= 2.4.0 && < 3.0.0)
- LocalPost (>= 0.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.