inkWave
V2EX  ›  Node.js

如何动态热更新程序配置?

  •  
  •   inkWave · Mar 8, 2019 · 3575 views
    This topic created in 2663 days ago, the information mentioned may be changed or developed.

    用 nodejs 做了一个 server 端,现在想实现一个功能,就是远程调用一个接口,程序本来从 A 到 B 的处理,变为从 A 到 C.

    但是程序是用 docker 部署的,现在是文件,环境变量这些手段,如果遇到程序遇到异常重启了,就都失效了.大家有什么好思路呢?

    现在能想到的就是热更新之后,再把挂载进程序的 configmap 也配合着更新了,然后应用如果遇到问题,不得不重启之后,还能读取最新的配置.但是这样有点麻烦,应用部署的多,每个配置还都不太一样,挨个改一遍的话,考虑到我们的实际需求,也没必要增加接口来热更新了.大家有什么好建议?

    1 replies    2019-03-12 18:37:28 +08:00
    libook
        1
    libook  
       Mar 12, 2019
    把配置写在数据库里(如 redis,另外有些云服务提供配置管理功能),程序启动先去固定的数据库里读取配置,然后按照配置运行。当需要修改配置的时候调用一个接口修改数据库里的配置信息,这样程序再去取配置的时候就是修改后的了。

    为了避免数据库访问频率与程序调用频率正相关,可以在服务端上做一个缓存机制,比如每 10 秒才去数据库里取配置,其他时候一律从缓存里取配置。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   881 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 21:19 · PVG 05:19 · LAX 14:19 · JFK 17:19
    ♥ Do have faith in what you're doing.