Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upAdd comparison docs for FsKafka vs Propulsion.Kafka #65
Comments
|
should mention that the AllProcessed vs OverrideWritePosition mechanism in Propulsion can be used to deal with the changelog being ahead of the reader |
Transcript of a FAQ:
FsKafka does:
a) basic logging of errors, support for periodically emitting lag stats per the broker
b) handling in Batches (BatchedConsumer.Start) - you provide a body that is not allowed to throw and takes care of any desired parallism
c) handing in Batches, grouped by Key - BatchedConsumer.StartByKey https://github.com/jet/FsKafka/blob/master/src/FsKafka/ConfluentKafka.fs#L484 - it takes care of max parallelism across the groups, but if you throw, the service stops
d) no throughput stats
e) producers (edited)
Propulsion does:
a) handlers like b/c above but with
b) BatchedConsumer: ability to hold state of multiple streams for complex stateful consumers
c) mix and match / swap ES vs CFP vs Kafka consumers with same semantics (edited)
Propulsion.Kafka does
a) depends on FsKafka
b) adapt Confluent.Kafka/FsKafka to ingest into Propulsion (using CK 1.x)
c) adds your Monitor stuff for 1.x (edited)
Propulsion.Kafka0 does
a) NO other dependencies aside from Propulsion
b) adapt Confluent.Kafka/FsKafka to ingest into Propulsion (using CK 0.11.3)
c) your monitor stuff for 0.x (edited)
Reasons not to use FsKafka
Things FsKafka currently has gaps on relative to Propulsion/Propulsion.Kafka aside from scheduling capabilities / retry management:
(some of the logging gaps will likely be plugged by some work currently being carried out)
Reasons to use Propulsion.Kafka
Rules of thumb