我有一个简单的 go 服务器,可以从 toml
文件中获取大部分配置设置。
当前过程涉及每次更改设置时重新启动 go build
源。
仅传送二进制文件和 config.toml 文件的正确/最首选/经过测试的工作方式是什么?
对于编译,我还是个新手,看了很多文献,对这个问题还是没有一个清晰的认识。
任何有用的意见将不胜感激。
最佳答案
配置文件并不意味着嵌入到可执行文件中。最好让它们与可执行文件一起驻留。由于我无法理解您只是为了重新加载配置而重建完整应用程序的观点,因此我假设您在进行硬编码。
如果我们谈到“重新加载”主题,我肯定会重新启动我的程序或发送信号以重新加载配置。您不必这样做,因为有一个不错的库可以执行此操作:https://github.com/spf13/viper .它易于使用并支持实时观察配置文件的变化。除了支持 JSON、YAML、TOML 和 HCL,它还可以从环境变量、远程配置系统(如 Consul 和 etcd)读取。它受到 Kubernetes 等大型项目的信任和使用。
关于go - 使用动态(config.toml)配置文件发送 Golang 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52800217/