Approach 2 · blue/green · PubSub over Redis
Same app. Different plumbing.
The same Phoenix LiveView application as the other host, deployed a different way: a StatefulSet per colour, no Erlang distribution between pods, and cross-pod messaging carried by Redis. Everything below is pushed over this page's WebSocket once a second.
demo-blue-0
Things to poke at
The same LiveViews as the other host. None ship client-side application JavaScript.
What to compare
Open both hosts at once
Each shows a fleet-wide viewer count and both are correct. One reaches that number over Erlang distribution; this one reaches it over Redis.
Watch the pod name
Here it is a StatefulSet ordinal that survives restarts. On the other host it is derived from the pod IP and changes whenever the pod is rescheduled.
Reload after a release
This host replaces a whole colour and moves new connections to it. The other host replaces pods one at a time and drains each.