upyun / slardar

Updating your upstream list and run lua scripts without reloading Nginx.
494 stars 111 forks source link

【请教】slardar 持久化数据的问题 #45

Open ngxlua opened 6 years ago

ngxlua commented 6 years ago

slardar 只会从 consul 里拉取 kv 的数据,并不会向里面去写入(通过接口新增的 upstream),如果是这样, 想请教下 upyun 是如何使用的,

这块不太明白,当 upstream 新增后, 一旦 slardar 重启,数据岂不是丢失了?


代码里可以发现只有在 init master 时会从 consul 里拉取配置, 那么应该怎么处理新增 upstream 呢,如果通过管理接口新增了一个全新的 upstream 此时 consul 是没有感知的,如果通过 consul 新增了一个 upstream 则需要 reload slardar 以重新拉取 consul kv

huangnauh commented 6 years ago

consul 逻辑和配置文件保持一致。

  1. 启动的时候加载
  2. 配置文件修改时需要 reload nginxconsul 配置修改时,需要通过 upstream 更新接口更新 slardar

至于实时监听 consul 配置变更同步 slardar 的相关处理,有另外的程序来保证

ngxlua commented 6 years ago

@huangnauh 感谢回复,感谢upyun

测试了一下,发现 lua_code_cache off; 时是无法工作的, 你们开发的时候是怎么处理的哇?