我们现在需要保留 ai 对话内容,我原本想的是直接保存早 oss 上,每次客户端直接从 oss 临时链接下载。但是频繁写入文件和刷新 cdn 会有性能瓶颈,大佬么有啥好方案吗?
如果直接保存在 mysql ,我担心聊天内容太多,网关流量扛不住
![]() |
1
shellus 4 天前
|
![]() |
2
shellus 4 天前
|
![]() |
3
shellus 4 天前

我不知道你的并发量多大 oss 都扛不住 |
![]() |
4
shellus 4 天前 ![]() |
![]() |
5
shellus 4 天前
|
6
fanxinxiaozhan 4 天前 via Android
找个带聊天记录的 ui 然后接 api 不就能自动保存记录了,例如 openwebui
|
8
cnbatch 4 天前
|
9
zsh2517 4 天前
@shellus V2EX 测试沙盒 https://v2ex.com/go/sandbox ,我之前测试的链接 https://v2ex.com/t/1063562?p=1
好像是限定的几个白名单的站点才允许加载图片。而且 imgur 默认给的链接还不能用 按照你的那个,用 https://i 。imgur 。com/aiQ7XXI 。png (为了防止被转换成图片,把句号换成点) 可以开 F12 ,看别人图片链接长啥样 |
![]() |
10
weenhall5 3 天前
存 es 呢
|
11
crackidz 3 天前
存在 MySQL 中没有什么太大问题
一般情况下你也无需加载所有的聊天内容,当然这个和业务形态也会有关系。网关不卡,我也见过客户端会卡的案例 |
![]() |
12
konakona 3 天前
存入数据库的想法是对的,只是不一定需要关系型数据库( Mysql ),还有性能更好更适合文档型的数据库:mangoDb 这些。
|
![]() |
13
liu731 3 天前
性能品鉴不用担心(你真有那么大的并发吗?),使用 AI 总结更加高效。
|
![]() |
16
shellus 1 天前
1. 聊天记录每次变动,属于动态内容,CDN 的缓存失效,但是网络加速效果还是有的。
2. CDN 不会有写入并发量的瓶颈,人家本身就是对象存储级别的写入性能。 建议:将历史聊天记录以块形式储存为静态不变的内容,例如聊天记录存为 index.json 往里面放第 201 条记录时候,即将 1-100 条内容另存为 page1.json, 然后 index.json 的第一行指向 page1.json ,后面是 101-201 行聊天记录。 这样就实现了仍然能利用到 CDN 的缓存特性,并不会频繁刷新缓存。 再下一步应该是读写分离,读总是从 CDN 读,但是写可以先缓存本地或者其他储存,有变化则定时同步到 OSS ,减少 OSS 写入。 但是总的来说,建议别折腾,CDN+OSS 没有你想的那么脆弱,除非你进行了并发测试证明性能真的达不到你的要求(可能性很低) |
17
zhangfuguan OP @shellus #16 嗯嗯 ,多谢老哥指点
|