1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-28 15:32:20 +00:00
2018-08-07 16:06:25 +08:00

771 B

6.3 分布式配置管理

在分布式系统中,常困扰我们的还有上线问题。虽然目前有一些优雅重启方案,但实际应用中可能受限于我们系统内部的运行情况而没有办法做到真正的“优雅”。比如我们为了对去下游的流量进行限制,在内存中堆积一些数据,并对堆积设定时间/总量的阈值。在任意阈值达到之后将数据统一发送给下游,以避免频繁的请求超出下游的承载能力而将下游打垮。这种情况下重启要做到优雅就比较难了。

所以我们的目标还是能尽量避免或者绕过上线的情况下,对线上程序做一些修改。比较典型的修改内容就是程序的配置项。

使用 viper 和 etcd 实现配置更新