这是一个设计问题。
我有一个使用websocket的Web应用程序,该应用程序保持与服务器的连接。当用户连接到websocket时,服务器将调用Mysql DB来查找用户信息并在内存中将用户信息缓存10分钟,因此,如果用户在10分钟内多次刷新页面,则服务器无需再次调用DB。
我使用一台服务器,通常在任何给定时间通过websocket连接5k用户。
当websocket服务器崩溃并重新启动时,一旦服务器备份,所有客户端都将尝试重新连接到websocket。同时,由于服务器已重新启动,所有缓存的数据都消失了,服务器必须同时从所有数据库中为所有用户获取数据,并且数据库不善于处理高并发调用。
我应该如何处理这种情况?我能想到的一种方法是拥有另一个不会与websocket服务器同时崩溃的缓存服务。