Messaging Paradigms supported by Nirvana
Nirvana provides a wide range of different communications models including Publish/Subscribe, Peer to Peer, Message Queues. Asynchrounous and Synchrounous, Guranteed and Reliable as well as fully transactional modes are all available.
Publish/Subscribe
Publish/Subscribe is an asynchronous messaging model where the sender (publisher) of a message and the consumer (subscriber) of a message are decoupled, the two share a common topic or channel. The publisher publishes data to the channel. The channel exists with the Nirvana realm server. As messages arrives on a channel the server automatically sends them onto all consumers subscribed to the channel. Nirvana supports multiple publishers and subscribers on a single channel.
Message Queue
Like Pub/Sub Message Queues decouple the publisher or sender of data from the consumer of data. The Nirvana realm server manages the fan out of messages to consumers. Unlike Pub/Sub only one consumber can read a message from a queue. If more than one consumer is subscribed to a queue then the messages are distributed in a round-robin fashion.
Peer to Peer
Peer to Peer provides a direct communications path between an instance of a service and the client requiring access to the service. The Nirvana realm server brokers the relationship between the service and the client and in doing so becomes transparent as messages pass through it.
