最近用node做手游服务器项目,策划会给过来很多配置表,我要求策划把配置表导成json格式,然后我把所有的配置放在工程的配置表文件夹里,然后在代码里通过require拿到对应的配置。现在我发现这样的设计存在问题:就是当上线做负载的时候,假如我有10台服务器(或者更多),这个时候如果要更新配置表,那我得每一台服务器都得刷一遍,这样的设计难免有些问题,而且刷的过程中万一某一台没刷到,就会出问题。我的想法是能不能单独独立一台服务器出来,专门存放静态文件什么的。但是不知道require能require别的服务器上的资源吗?或者还有更好的解决方案吗?
放etcd 服务端做缓存定时同步之类的
@jiangzhuo etcd 服务端 是什么 能在详细点吗?谢谢!
写个脚本动态去修改服务器的配置不就搞定了,当然服务器要写个接口接受这个请求,然后去require.delete你指定的配置文件,如果是cluster模式,就用线程间通信去触发别的线程的require.delete
@fantasticsoul 多谢!
都不用require.delete,直接去修改暴露出来的文件,这种运行中可能变化的配置,最好在启动时从mysql什么的去加载填充到你的config.js里的{对象里}
@fantasticsoul 嗯,目前准备是改存到数据库里。每次启动项目的时候从数据库里拿一次。