Can EDA SOA eventing systems be fast

A lot of  traditional eventing systems  use C++  and are dubious about whether the Lego block style SOA can provide sufficient performance.

Again it boils down to design

 WCF  C# can process  over 22000 small messeges per second on an average 2 year old quad server.   http://msdn.microsoft.com/en-us/library/bb310550.aspx#wcfperform_topic4.

This is more than sufficient for most applications especially as with eventing systems you can add servers relatively simply , the algorithms which manage  the propogation of  subscriptions and the path are far more important . ( Distributed Event-Based Systems  (Muhl , Fiege and Pietzuch) is a good book which covers the theory here .

The other big issue often sited is latency but EDAM ( which uses Windows Communication Foundation ) has sometimes achieved cross machine rates of 3ms again the design is critical here if you pass through 6 nodes each adding 20 ms  it can become  quickly unacceptable.  Often people will use all the features of SOA such as queues , transactions , encryption etc  yet wouldn't implement these on a typical C++  system  these can be killers , don't use them unless you HAVE to and since most C++ eventing systems dont you better have a good reason. .

I would also add Network latency between companies , cities  or even countries add far more significant delays.  With human reaction being about 120ms (At best)  the small delays these services add are insignificant.

The end result is you CAN build lego block style SOA , high speed eventing systems  with a good a design and gain all the SOA benefits .

You could argue computer trading systems require better times but again i think the small differences you will get ( single figure ms at best ) are more than outweighed by a flexible design.  eg  instead of running the trades on the clients premises , critical trades can be uploaded to a providers machine near to the exchange this is often hard due to inflexible implementations .  A strong and flexible design means more optomization can be made more easily eg message priritization , packing multiple data messeges for efficiency etc

Like premature code optomization  the desire to be as fast as possible does not outweigh good progamming algorithms and design. 

Ok i said it enough a flexible and strong design is far more important than premature optomization and making things as fast as possible, 
Print | posted on Friday, July 10, 2009 11:01 AM

Feedback

No comments posted yet.
Title  
Name
Email (never displayed)
Url
Comments   
Please add 7 and 4 and type the answer here: