Skip to content

Instantly share code, notes, and snippets.

@gaurav-gogia
gaurav-gogia / explanation.md
Created November 13, 2017 16:02 — forked from markrendle/explanation.md
Why I am not a fan of Apache Kafka

Update, September 2016

OK, you can pretty much ignore what I wrote below this update, because it doesn't really apply anymore.

I wrote this over a year ago, and at the time I had spent a couple of weeks trying to get Kafka 0.8 working with .NET and then Node.js with much frustration and very little success. I was rather angry. It keeps getting linked, though, and just popped up on Hacker News, so here's sort of an update, although I haven't used Kafka at all this year so I don't really have any new information.

In the end, we managed to get things working with a Node.js client, although we continued to have problems, both with our code and with managing a Kafka/Zookeeper cluster generally. What made it worse was that I did not then, and do not now, believe that Kafka was the correct solution for that particular problem at that particular company. What they were trying to achieve could have been done more simply with any number of other messaging systems, with a subscriber reading messages off and writing

@gaurav-gogia
gaurav-gogia / .Title
Created September 14, 2017 20:21 — forked from congjf/.Title
Using MongoDB in golang with mgo
Using MongoDB in golang with mgo
@gaurav-gogia
gaurav-gogia / Mongo.go
Created December 20, 2016 14:47 — forked from p4tin/Mongo.go
Golang Mongo CRUD Example
package mongo
import (
"time"
"log"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
// Profile - is the memory representation of one user profile