Ever since we introduced the VMR a little over 2 years ago, people have been asking me “I get why your hardware performs so much better than software messaging products, but why is the VMR so much faster than other software products on the market – isn’t it just software too?”
Well, yes, the VMR is software, but I wouldn’t say “just.” Our developers come from a background of building hard real-time software for things like IP routers, ATM switches, and other embedded solutions — designing for performance, robustness, and scalability is in our DNA. The engineers who programmed the network processor on the Network Acceleration Blade, and wrote the code that makes the Assured Delivery Blade do its magic, are the same people who wrote the code for the VMR. In fact, we share the code between the hardware and software wherever we can, building the two products from a common code base. And we’ve applied everything we’ve learned over nearly 15 years building our hardware messaging product to the VMR.
As just one example of designing in performance, the VMR was architected from day one as multi-threaded, event-driven architecture, with clear separation of control-plane and data-plane functions. That allows us to take full advantage of modern multi-core processor architectures so our performance will scale as the resources on the platform scale. You can see a complete breakdown of the VMR’s performance in a variety of real-world scenarios here.
We design the router to perform solidly under load, we carefully control and manage our memory and buffer usage, and we take the attitude that crashing or hanging under overload is never acceptable behavior for a production-grade product.
We also understand the hard problems of messaging — things like slow consumers, performance under fan-out, the need to speak multiple messaging protocols — and we’ve designed the VMR to handle these things.
To sum up why we have higher performance and are more robust than any other full-fledged message broker, it’s because we know messaging, and we know how to write the very best real-time software. Oh, and we don’t compromise on quality. Simple as that 🙂