# golang写一个配置同步工具

开源地址：[https://github.com/molizz/synconfig](https://github.com/molizz/synconfig)

### Synconfig 是什么

这个工具是基于 boltDB 开发的基于 http 协议的 配置同步工具。

这个的初衷是之前写一个你懂得工具，然后在分布在各地服务器，如果每次增加个新的服务器，那么就要重新同步配置，总之非常容易出错，是一个非常不可靠的设计。

于是就想整一个“配置中心”的功能，最开始想用 etcd，但是好像有点复杂了，所以感觉自己写了一个 服务端和客户端。

第三方的软件，直接集成客户端的功能，就实现配置的同步了。

实现 配置 与 服务的解耦。

当有新的配置更新时，所有的客户端能自动收到新的配置，自动更新自身。

造这个轮子不仅仅是为了“你懂得”的软件，未来我的任何新的一些服务，都可以直接集成客户端，并且快速上线

### 基本实现

“配置中心” 服务端需要运行在某个服务器的。我是在 vultr 上购买了一个最低配的服务器，每个月 3.5 刀，还可以，上面还跑了一些其他的服务。

“客户端” 配置好服务器端后，就会隔几秒通过自己的 stamp 来获取新的配置，从而更新自身的配置。

通讯上使用 token 来校验，并且可以配置 https 来通讯，避免 token 外泄，也建议使用 https 来与服务端通讯，避免 token 被检测到。

### 其他

通过写这么一个简单的“基础设施”，还是挺好玩的。

我设想的一些很多功能，都会集成这个服务端。

奶一波我的一个网站：[https://v2geek.com](https://v2geek.com) ，欢迎大家来贩卖自己的软件。
