90 条回复  ·  779 次点击
mymail6811 小成 2024-9-2 12:38:14

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

在服务器加一层, app 给服务器发一个请求, 服务器再去获取那上千个配置项并返回. 之后再慢慢改后端
li746224 小成 2024-9-2 12:53:26

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

好想见识一下这个 app
aduangduang 初学 2024-9-2 13:36:48

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

配置项清单带上每个配置的 md5 结果
前端第一次请求全部内容后本地存储
后续只请求配置项清单,和本地配置项清单做对比后 增量同步有变动的内容
qbmiller 小成 2024-9-2 13:38:08

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

是游戏吗? 40-50m.  
长连接 ( mqtt 那种也行)||  oss
superedlimited 小成 2024-9-2 13:41:52

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

hoge ?
ShuWei 小成 2024-9-2 13:47:28

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

你确定这些东西能叫配置项?
fov6363 小成 2024-9-2 13:56:53

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

一个类似的解决办法,加一个 BFF 层,将所有接口汇总为两个接口:
1 、/api/config/update
2 、/api/config/list

app 在打包时,自动从 /api/config/list 拉到最新的全量的配置,并返回一个 hashId 来标识这次结果,这样用户打开 app 所有功能都是可用的。

然后 app 定期轮询 /api/config/update?id=$hashId ,如果有变更,就返回 true ,然后 app 端异步更新 diff 数据(复杂点就设计一套 add 、update 、delete 的语法,简单点就全量再拉一遍),如果无变更,就返回 false 。

这样针对相同的 hashId 还可以做 cache ,对后端的压力比较小
wxf666 小成 2024-9-2 13:59:15

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

能不能像聊天记录一样,只拉取有更新却没下载过的?

简单做法:配置项放数据库里,标记创建/更新时间。

客户端开启时,拉取 [上次开机时间,现在] 范围内的新配置项?

https://i.imgur.com/F29pmQ6.png https://i.imgur.com/F29pmQ6.png
henix 小成 2024-9-2 14:00:47

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

展示加载进度条
jdkxnktkdkxod 初学 2024-9-2 14:01:24

app 初始化时需要通过接口获取上千个独立的配置项,如何优化?

什么样的配置会有 40-50M? 你知道 40M 存文本可以存多少吗?
返回顶部