Channel Topologies

There are a few main channel topologies:

  • One-to-one or unicast (can be unidirectional or bidirectional)
    • e.g. in 1-1 chat or private chat
  • One-to-many or broadcast (fan out)
    • e.g. announcements, a live poll, audience participation, firmware update, etc.
  • Many-to-many or multicast
    • e.g. group chat
  • Many-to-one or consolidation (fan in)
    • e.g. IoT, sensor data, telemetry, a live poll, audience participation

 

Topologies

Each channel topology has multiple ways of being implemented. For example, for one-to-one chat, each user can:

  • publish and subscribe to a common channel ‘userA_userB-ch’
  • subscribe to their own private channels, but publish to the opposite person’s channel
    • e.g. user A subscribes to ‘userA-ch’ and publishes to ‘userB-ch’, while user B subscribes to ‘userB-ch’ and publishes to ‘userA-ch’
  • a combination of A & B for ease of history retrieval
    • e.g. user A subscribes to ‘userA-ch’ and publishes to ‘userB-ch’, while user B subscribes to ‘userB-ch’ and publishes to ‘userA-ch’, and both users also publish to ‘userA_userB-ch’

While architecture may vary depending on the use case and application requirements, we have created some general design patterns outlining best practices. We also have architecture resources – architecture reviews, consultants, solution architects, partners, etc. – available for those interested.

Try PubNub Today