I'm starting to design a new version of one of my company's telecommunications products, and to provide load balancing and scalability I was considering some kind of (.NET open source) ESB. I'm hoping to boost the throughput of the system by avoiding relational databases and use (perhaps) non-transactional queues feeding into distributed in-memory caches (Velocity or memcached for example).
I've never used an architecture like this for a real-time system, and I'm worried that what I gain in simplicity of day-to-day development, I lose in throughput (which for this app is hyper-critical).
I've only played about with NServiceBus, so I have no idea whether it (or its brethren) is suitable as a foundation for real-time no-sql apps. What do you think?
How should I judge these products? Should I buy a commercial app instead, avoid ESB like the plague, or use some other approach?