V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aboutboy
V2EX  ›  程序员

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

  •  
  •   aboutboy · 16 天前 · 7320 次点击

    正在开发一个 app ,用户在使用 app 访问服务时,需要根据对应的服务从后端获取对应的配置文件( json 格式)。

    一共有上千个独立的配置项。

    目前是当 app 第一次启动时,会首先通过接口查询配置项清单,然后再依次对各配置项进行请求获取。

    这样的问题是,一个 app 就会向后端发起上千个请求。而且可能需要十来分钟甚至更长时间才能把全部配置拉下来。

    这样一方面对后端服务器造成压力,另一方面影响用户体验。

    如果把配置全部打包在一起的话,大概40-50MB左右。

    有些配置项还会更新,这就需要app 在后续的运行过程中对有更新的配置项进行更新

    请问大佬们有什么好的思路?

    106 条回复    2024-09-04 08:00:06 +08:00
    1  2  
    inhzus
        101
    inhzus  
       15 天前
    这设计太逆天了
    1. 收归所有配置到一个服务,于是只有一个或个位数个请求或渐进式
    2. 版本号,每次只拉增量
    3. 关键的配置启动时就拉,不关键的配置按需拉
    4. 有条件还可以做推送
    Hongwu
        102
    Hongwu  
       15 天前
    难道不下载这些配置 app 就不能用了吗,解决思路,端上兜底配置+异步增量更新,并且有些配置读不到下次生效也没问题,配置总有优先级,高优的先拉去
    sdushn
        103
    sdushn  
       15 天前
    diff 来获取呢? 40M 的配置有点离谱
    rainABC
        104
    rainABC  
       15 天前
    怎么跟我们一样,首次打开小程序直接批量后端获取了三百个配置参数。
    chloerei
        105
    chloerei  
       15 天前
    增加一个 Mobile App Backend ,统一处理 App 发起的请求和维护后台配置,解决问题并且增加就业。
    ic3z
        106
    ic3z  
       15 天前 via iPhone
    写一个 api 的 api 聚合加载配置。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5563 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:40 · PVG 09:40 · LAX 18:40 · JFK 21:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.