我想要一个高性能的系统,主要功能是更新产品库存。每个产品都有一个唯一的产品id,我们可以在投资中添加/减去该产品的项目数。为了提高性能,我不想对每个加/减请求访问数据库,而是在应用程序服务器的内存中这样做,然后定期更新数据库。但是,这种方法有一个权衡,如果应用服务器死了,那么我将丢失所有临时数据。我怎样才能改进这个制度来克服它?
发布于 2022-11-14 14:31:25
如果需要事务一致性,则需要访问数据库。
否则,不要写在记忆里。将请求日志写入磁盘(持久存储)。一段时间后,压缩这些日志并计算要发送到数据库的聚合请求。
请记住,如果您分发此过程,并且有其他验证,如“数据库数量不能在任何时候为负值”,那么您可能同时发出多个减法事件,然后使您的需求失效。
https://stackoverflow.com/questions/74427988
复制相似问题