In publish-subscribe systems, explain how channel-based approaches can trivially be implemented using a group communication service? Why is this a less optimal strategy for implementing a content-based approach?

What will be an ideal response?

In a channel-based approach, events are published to a named channel and subscribers subscribe to a given channel and receive all messages sent on that channel. This can be implemented directly using group communication, that is when a channel is created, you create an associated group; subscriptions are implemented through joining the group and then subsequent events from publishers are sent to the group and hence delivered to all subscribers who are then members of the group.
This trivial mapping is not possible with content-based approaches where communication is more associative and based on content (more specifically, based on arbitrary queries expressed over the content). This cannot easily be implemented using group communication. One option would be to send all events over one group and then do the required filtering in each subscriber, but this would be really inefficient. In practice, efficient implementation of content-based approaches requires the creation of an suitable overlay implementing a content-based routing algorithm, that is routing is influenced by content.

Computer Science & Information Technology

You might also like to view...

In distinguishing an expression as true or false, C++ sees which of the following as true?

a) true b) 0 c) 1 d) Any non-zero value e) The character 'F'

Computer Science & Information Technology

The blank spaces in a dashed line are referred to as ____________________.

Fill in the blank(s) with the appropriate word(s).

Computer Science & Information Technology