Monday, January 14, 2008

The death of ezMQ

I am discontinuing any effort I was going to put towards the development of ezMQ, If I was ever going to. First of all what the heck is it? The year: 2003-2004. I was given a task (for sun.com) to manage the caches across multiple webservers. The requirement was to remove the cached contents if any changes occurred in the content management system. I built a reactive system using JMS (With Sun's iMQ) and with messages of updates from the CMS we ended up clearing it from the Cache. The trick was that each individual application instance registered itself as a subscriber to this event and cleared their respective in-memory cache. It was an Optimistic unsynchronized cache. The same copy on each individual node. BTW, I did not write the cache just the MQ part though I was not happy with my own implementation. Of course something was missing. I started a project called ezMQ with an intention of Open Sourcing it "one day". ezMQ - A name for easy Message Queue that could work across multiple instances of JVMs not in a "Pub-Sub" mode but something that would behave like a Grid. The idea was to load only subset of data in individual JVM but allow access to it from any node. [A true partitioning of data works very differently where the provider partitions it automagically. The application had two internal modes - One a simple implementation of Observer-Observable pattern that the app used for "with in JVM communications" and a JavaSpace driven implementation for "Networked JVMs" with the same interface to the application client of course. Never had the motivation to complete the project that remained in my "to-do" list for years. I now know I could not have completed it.
Now, I am discontinuing this effort. After working with Oracle Coherence I understand why a Space driven architecture could be bad. And who will use ezMQ if its Grand-dad implementation is already there. The second reason being the SwiftMQ. I have not read about it and I only found it's link from one of the blog comments. Don't know what it is but looks like the "swift" will make my "ez" obsolete. Above all, my energy only goes upto 10-15 classes, after that I lose any impetus I have. I have figured it out, for any serious ezMQ I would need many more classes than 15. Woo-hoo, my lazy ass wins again!

1 comment:

ashish said...

For folks who have visited this blog, eventually I could not resist but to restart this effort. More here: http://sites.google.com/site/miscellaneouscomponents/Home/ezmq