This kind of issue comes up in game development where I think the standard answer is a tier of proxies that can hold open the connection to the clients while reconnecting to different backends.
thats exactly what the original suggestion seemed to be was.