Aight... well, lets see the interfaces and the socket impl and I will write the jms impl and see which fairs better with the most features :-P

--jason


On Sep 14, 2006, at 8:17 PM, Kevan Miller wrote:

I'm with Jeff on this one...

I've seen this done w/ JMS. However, there's so much JMS overhead that you don't need (message formats, persistent messages, delivery semantics, etc).

I recall Jeff was talking to Hiram about ActiveIO -- that's the more appropriate way to go. Reuse common technology, but not all of AMQ.

--kevan

On Sep 14, 2006, at 6:26 PM, Jason Dillon wrote:

On Sep 14, 2006, at 7:56 AM, Jeff Genender wrote:
The JMS provider would be a pluggable comm strategy. For performance
reasons, I want to start with TCP communication.

Why do you think that AMQ will not perform well?


I definitely want to
have a JMS strategy...maybe next.  But initially I don't want any
dependencies on other servers or brokers.

With that said, after looking at openwire, the comm marshaller for
ActiveMQ, there is a lot to leverage there and will prevent a rewrite of the comm layer. So, there will be some use of that code base initially.

IMO, AMQ already provides a rich clustering environment, with failover, master-slave, dynamic discovery, firewall-happy transports, monitoring and a heck of a lot more.

Seems like it would be a waste to go and re-implement all of that. It also seems that if you wanted to get something up sooner, that it would be much easier to design a AMQ strategy first, which means that you only have to worry about the message passing to sync up and invalidate state, rather than all of the details of who is in what cluster, failing over, blah, blah...

And, I guess that if after that was implemented you still thought it was not fast enough, then it might be better to get AMQ fixed to perform better, though I don't think that the performance using AMQ will differ all that much from a custom socket protocol to pass messages.

I am a huge fan of AMQ and would really like to see G exploit its network communications facilities as much as possible.

IMO, this is the best way to get the most features for clustering up and running sooner, with less code to maintain.

--jason



Reply via email to