Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Kafka: A distributed pub/sub messaging system from LinkedIn (sna-projects.com)
41 points by yarapavan on Dec 1, 2010 | hide | past | favorite | 10 comments


Can anyone summarize other software options in the pub/sub market for me? I have a project now that uses Redis' BLPOP with a timeout to implement something similar to pub/sub, but I'd like a more robust solution that does that kind of thinking for me. Kafka looks interesting but I'd like to find something built in C or Erlang due to inherent and irrational distrust for anything running on jvm.


Redis 2.0.0+ has built-in support for pub/sub: http://code.google.com/p/redis/wiki/PublishSubscribe


Unfortunately I believe this is optimized for long-running connections which I don't always have the luxury of maintaining


Features, pros, cons, etc will all vary with these, but here are a few you can consider:

* RabbitMQ -- built with Erlang

* ZeroMQ -- built with C++

* OpenAMQ -- built with C++


ActiveMQ - Java, but it talks STOMP so you can use it with anything.

I'd go with 0mq or ActiveMQ, depending on your use case.

Though, these aren't distributed, as Kafka claims to be.


If you want to go the XMPP route, ejabberd's mod_pubsub. Written in erlang, newer versions can be either Mnesia or db-backed


Making the message IDs equal to the byte offset of the message in the history of all messages for the topic/partition is a neat trick to avoid indexing overhead.

"Any software problem can be solved by adding another layer of indirection. Except, of course, the problem of too much indirection." - Steve Bellovin of AT&T Labs


I'm against naming software anything where your first mental reaction is "turn into a cockroach".

It looks like a good software tool with a real use case, though, naming aside.


> I'm against naming software anything where your first mental reaction is "turn into a cockroach".

Or that using it will be a trial.


Seriously, the first thing I thought was, is this going to be really hard to develop for?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: