webman icon indicating copy to clipboard operation
webman copied to clipboard

对接外部配置中心怎么做

Open weijer opened this issue 3 years ago • 3 comments

例如 apollo

weijer avatar Jan 27 '21 08:01 weijer

粗糙的处理方案,在start.php读取env文件前,加载读取apollo配置信息,重写env文件,apollo配置变更后需要有个方法重启webman

god-daniel avatar Jan 29 '21 02:01 god-daniel

没搞过apollo, 如果是长连接方式,就需要创建自定义进程监听apollo,初始读取到信息 重写env 重启webman,监听到信息变更重写env,重启webman,没了解过webman的内部运行流程,不清楚不重启是否可以在内存中更新配置的信息

god-daniel avatar Jan 29 '21 03:01 god-daniel

可以做到更新内存中的配置,但是最好还是reload webman。虽然配置可以更新,但是内存内部存储的一些类的实例可能仍然使用的是老的配置。例如数据库是单例的,初始化时使用的是HOST_A配置,这时候更改env为HOST_B,但是数据库实例本身仍然连的是HOST_A,与预期不符合。

walkor avatar Jan 29 '21 03:01 walkor