-
Notifications
You must be signed in to change notification settings - Fork 96
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