Several people asked how this compares to Kafka (I&#x27;m one of the people who created Kafka at LinkedIn). Here&#x27;s my take:<p>I think the motivations they list are:
1. Different I&#x2F;O model
2. Was started before Kafka had replication (the first release of Kafka with replication was in late 2013 I think)<p>The I&#x2F;O model I&#x27;m less sure about, we looked at similar things for Kafka and they didn&#x27;t seem worth it (basically you&#x27;re doing a ton of stuff at the app level that the OS does pretty well--namely caching and buffering linear I&#x2F;O), we&#x27;d have to look at actual benchmarks to know.<p>Here is my take on the pros and cons of the core tech.<p>Pros:
- Seems to have better built in support for fencing&#x2F;idempotence
- Better geo placement?<p>Cons:
- Lots more moving pieces. Already people are irritated that there are both Kafka nodes and ZK to set up. This system seems to split this over separate physical tiers for serving, core, storage, and zookeeper. My experience has been lot&#x27;s of tiers is generally a big headache.<p>Neutral:
- There seems to be a built in achival to HDFS. I think if the consumer is fast and efficient then you don&#x27;t need to reach around your consumer api which will be high latency (since you have to wait for files to be closed out).<p>There is also a bunch of stuff Kafka does that I&#x27;m just not sure about how complete it is in DistributedLog:
- Clients in a bunch of languages
- Integration with all the major stream processing frameworks
- Log compaction <a href="http:&#x2F;&#x2F;kafka.apache.org&#x2F;documentation.html#compaction" rel="nofollow">http:&#x2F;&#x2F;kafka.apache.org&#x2F;documentation.html#compaction</a>
- Connector management <a href="http:&#x2F;&#x2F;www.confluent.io&#x2F;blog&#x2F;announcing-kafka-connect-building-large-scale-low-latency-data-pipelines" rel="nofollow">http:&#x2F;&#x2F;www.confluent.io&#x2F;blog&#x2F;announcing-kafka-connect-buildi...</a>
- Quotas&#x2F;throttling
- Security&#x2F;ACLs