To implement guaranteed messaging, some messaging vendors employ a messaging broker and a store-and-forward messaging model, to ensure that the message is persisted on a hard disk before sending along to consumers. While this model does simplify late join and loss recovery, since all messages flow through one central server, it carries a hefty price tag: slower performance, a single point of failure, and for resilience, you have to buy expensive HA or SAN hardware.
Informatica Ultra Messaging® changed all that with the revolutionary Parallel Persistence® feature.
At a conceptual level, Parallel Persistence completely removes the persistence functionality from the message path. The persistent store receives streaming data like other receivers, but only sends data in the case of late join or receiver failover. The net effect is to offload the burden of catching up late join/failover receivers from the source to the persistent store.
For example, during normal operation, the message travels straight from source to receiver, not to an intermediate broker, and does not suffer the performance and latency hit of writing it to disk before being forwarded to the receiver. During late join and receiver failover, however, the receiver requests any missing messages from the persistent store instead of from the source, and the store sends them while it continues to receive other streaming messages.
Parallel Persistence provides both the benefits of guaranteed messaging, and the performance and ultra-low latency of Ultra Messaging, all on commodity hardware, including hot/hot failover for High Availability. No expensive SANs or HA hardware are necessary. And Ultra Messaging scales to the limits of the available resources, whether on commodity hardware with a 1 gigabit per second connection, or a 32-way server on 10gE or InfiniBand.
For more, see the longer version of this blog post on Informatica’s Perspectives blog: Guaranteed Messaging: It’s Not Just For Brokers Using Store-And-Forward Any More!