服务器重新启动时如何处理海量数据库调用?

时间:2018-12-29 04:45:17

标签: mysql caching websocket cold-start

这是一个设计问题。

我有一个使用websocket的Web应用程序,该应用程序保持与服务器的连接。当用户连接到websocket时,服务器将调用Mysql DB来查找用户信息并在内存中将用户信息缓存10分钟,因此,如果用户在10分钟内多次刷新页面,则服务器无需再次调用DB。

我使用一台服务器,通常在任何给定时间通过websocket连接5k用户。

当websocket服务器崩溃并重新启动时,一旦服务器备份,所有客户端都将尝试重新连接到websocket。同时,由于服务器已重新启动,所有缓存的数据都消失了,服务器必须同时从所有数据库中为所有用户获取数据,并且数据库不善于处理高并发调用。

我应该如何处理这种情况?我能想到的一种方法是拥有另一个不会与websocket服务器同时崩溃的缓存服务。

0 个答案:

没有答案