fastapi 请求过多一般缓存方案是什么?
fastapi 请求过多一般缓存方案是什么?
本地开了 fastapi , 本身要处理的 post 请求过多,要对数据库写入
想到做请求缓存队列,
一般 fastapi 缓存方案是什么?
回答:
写太多:
- 扩容 DB 硬扛,水平扩容或者垂直扩容
- 写缓冲就用外部 message queue,比如 rabbitmq、kafka。别想着用进程内的 queue,一 kill 就丢数据,就完蛋
读太多:读缓存就用外部的 redis 或者进程内的各种数据结构,不怕 kill
回答:
这种一般称之为缓冲
。
方案的话,一般两种:写队列,写内存。思想是一样的,无非就是提高吞吐以适应接口,但同时还需要考虑数据的可靠性。
一般会使用外部中间件,如Redis,先写Redis请求直接返回。有专门的线程做数据同步,Redis->DB。或使用消息队列,如RabbitMQ、Kafka,写入成功后响应请求,然后有专门线程做数据同步。
以上是 fastapi 请求过多一般缓存方案是什么? 的全部内容, 来源链接: utcz.com/p/939034.html