麻烦问一下大家,一些不经常改变并且有用的参数,应该放在什么地方存储?比如数据库的配置参数以及一些token参数等 1:直接写到了json文件里(很方便但是不安全) 2:写到数据库里,然后用Redis做缓存(目前使用这种) 3:定义全局变量,全局变量缓存Redis里的内容 想用第三种方法,因为第二种方法会造成频繁的对Redis进行访问,不知道第三种方法有没有什么问题!或者大家都是怎么做的啊?
“配置参数” 配置中心也是一种选择,例如 Consul、ZK 等
放配置中心,业界开源如携程Apollo,楼上那两个虽说有也叫配置中心,但是我理解跟这种配置中心干的不是一码事更是倾向于分布式数据一致性
放json文件/或者其他格式例如yml,但通过Jenkins等工作流工具自动在部署打包前注入到发布包里
构建期或部署期注入方式,前者要保证镜像是私有的,后者 k8s 有个 secret map 来注入秘钥。
@Q-Angelo 谢谢回复,目前分布式还没涉及到
@AnzerWall 这个比较接近我的需求,但是还是有点太重了,没有没有轻量级的node.js能用的啊?十分感谢您的回复
@atian25 k8s好像也太重了,现在没有分布式的需求,有更轻量级的参数管理的工具么?
@iori2882 安全是看你整个部署环境链路的,任何一个环境薄弱都不行,要看你们的具体情况来选择具体方案。
譬如服务器是安全的,那甚至可以直接明文文件放在服务器都行。或者是服务器上有私有启动脚本,源码里面放应用维度的加密过的秘钥,服务器上解密。