Its been a while I explored open source projects in distributed systems area, and interestingly, I had two interesting finds in terms of projects worth exploring - Hazelcast and ElasticSearch. I have seen such projects being implemented in large software companies and I was happy to see feature rich open source projects. So I decided to explore both of them.
From their website: "Hazelcast is an open source clustering and highly scalable data distribution platform for Java, which is: "
Some good things that I liked about Hazelcast:
Who is using Hazelcast and how?
Take a look at this article. It talks in detail about caching and processing 2TB Mozilla Crash Reports in memory with Hazelcast. The project lives here.
In short, Hazelcast is cool!
Other alternatives worth looking at:
From their website: "Hazelcast is an open source clustering and highly scalable data distribution platform for Java, which is: "
- Lightning-fast; thousands of operations/sec.
- Fail-safe; no losing data after crashes.
- Dynamically scales as new servers added.
- Super-easy to use; include a single jar.
Some good things that I liked about Hazelcast:
- Hazelcast is dead simple, it does what it says and performs really well without any configuration overhead. e.g. Nodes discover each over with no configuration.
- It uses peer-to-peer communication as against client-server (Teracotta's Ehcache) setup.
- It is a little more than a cache as it provides distributed implementation of map, multimap, queue, topic, lock and executor service.
- Focus on strong consistency as against eventual consistency (Amazon SQS) i.e. GETs and PUTs are guaranteed to be consistent. I am not sure whether availability or partitioning takes a hit here.
- Native Java, memcache, REST and C# clients.
- No external dependencies. Hazelcast uses pure Java including NIO for all peer-to-peer communication.
Who is using Hazelcast and how?
Take a look at this article. It talks in detail about caching and processing 2TB Mozilla Crash Reports in memory with Hazelcast. The project lives here.
In short, Hazelcast is cool!
Other alternatives worth looking at:
- Ehcache
- JBoss Cache
- OSCache
- Memcached
just an interesting note... Rod Johnson of Spring fame is on the board of both hazelcast and elastic search...
ReplyDelete