共享内存数据库以进行客户端活动处理

时间:2017-10-01 21:15:42

标签: database spring-boot redis in-memory-database

目前我意识到我已达到关系数据库的极限。周期性地(每10秒)有n> 1000个客户端请求一个简单的微服务端点(表示其活动),我只需要决定客户端是否处于活动状态(3个请求丢失期)。

天真的方法是为每个客户端请求进行数据库更新(这会对性能产生不良影响,因此不适合作为解决方案)。 现在,拥有更多这些服务的实例(用于未来的服务扩展),任何批量处理(例如,通过使用周期性处理的队列结构)将自动引入数据库锁定问题,因为不同实例的相同客户端的后续请求(此客户端ID将成为不同服务的多个数据库批量更新的一部分)。因此,即使对于没有并行处理的客户,这些更新也会部分失败。

有没有办法使用其他(例如内存)数据库解决方案(如Redis或其他方法)使此处理可靠且高性能?在Redis中,我没有办法管理密钥和值,以便检索在过去x期间未更改的所有密钥。

您对完善的技术有什么想法来应对这个问题吗?

0 个答案:

没有答案