Skip to content

Push notifications pubsub mechanism

Miguel Laginha edited this page Oct 21, 2019 · 1 revision
┌─────────────────┐                                                                                     ┌─────────────────┐
│  App server #1  │                                                                                     │  App server #1  │
└─────────────────┘                          ┌──────────────┐                                           └─────────────────┘
                                             │              │
                                             │ Redis pubsub │
                                             │              │
┌─────────────────┐                          └──────────────┘                                           ┌─────────────────┐
│  App server #2  │                                                                                     │  App server #2  │
└─────────────────┘                                                                                     └─────────────────┘







┌─────────────────┐
│  App server #1  │
└─────────────────┘                          ┌──────────────┐
                                             │              │ publish  ┌───────────────────────┐  subscribe  ┌─────────────────┐       ┌──────────────────┐
                                             │ Redis pubsub │─────────▷│ c:cam:abc123#activity │◁────────────│  App server #1  │───────│  Browser tab #1  │
                                             │              │          └───────────────────────┘             └─────────────────┘       └──────────────────┘
┌─────────────────┐                          └──────────────┘
│  App server #2  │
└─────────────────┘







┌─────────────────┐   c:cam:abc123#activity
│  App server #1  │────────────┐
└─────────────────┘            │             ┌──────────────┐                                                                          c:cam:abc123#activity
                               │             │              │ publish  ┌───────────────────────┐ subscribe   ┌─────────────────┐       ┌──────────────────┐
                               └────────────▶│ Redis pubsub │─────────▷│ c:cam:abc123#activity │◁────────────│  App server #1  │──────▶│  Browser tab #1  │
                                             │              │          └───────────────────────┘             └─────────────────┘       └──────────────────┘
┌─────────────────┐                          └──────────────┘
│  App server #2  │
└─────────────────┘








┌─────────────────┐                                                                               subscribe  ┌─────────────────┐       ┌──────────────────┐
│  App server #1  │                                                                                   ┌──────│  App server #1  │───────│  Browser tab #1  │
└─────────────────┘                          ┌──────────────┐                                         │      └─────────────────┘       └──────────────────┘
                                             │              │ publish  ┌───────────────────────┐      │
                                             │ Redis pubsub │─────────▷│ c:cam:abc123#activity │◁─────┤
                                             │              │          └───────────────────────┘      │
┌─────────────────┐                          └──────────────┘                                         │      ┌─────────────────┐       ┌──────────────────┐
│  App server #2  │                                                                                   └──────│  App server #2  │───────│  Browser tab #2  │
└─────────────────┘                                                                               subscribe  └─────────────────┘       └──────────────────┘










                                                                                                                                       c:cam:abc123#activity
┌─────────────────┐                                                                                subscribe ┌─────────────────┐       ┌──────────────────┐
│  App server #1  │                                                                                   ┌──────│  App server #1  │──────▶│  Browser tab #1  │
└─────────────────┘                          ┌──────────────┐                                         │      └─────────────────┘       └──────────────────┘
                                             │              │ publish  ┌───────────────────────┐      │
                               ┌────────────▶│ Redis pubsub │─────────▷│ c:cam:abc123#activity │◁─────┤
                               │             │              │          └───────────────────────┘      │
┌─────────────────┐            │             └──────────────┘                                         │      ┌─────────────────┐       ┌──────────────────┐
│  App server #2  │────────────┘                                                                      └──────│  App server #2  │──────▶│  Browser tab #2  │
└─────────────────┘  c:cam:abc123#activity                                                         subscribe └─────────────────┘       └──────────────────┘
                                                                                                                                       c:cam:abc123#activity