# 什么是服务治理?
对于任何一个产品或者功能来说,开发完成仅仅只是开始,后面还会有很长一段时间的维护期。
上图是一个很基础的产品或者功能的生命周期示意图,从图中我们可以看到:
- 功能开发阶段的成本非常显性,但是功能维护期,包含了产品功能迭代以及后续的维护,隐性成本往往会更高。
- 功能开发阶段时间虽然有可能很短(相对维护期来讲),但是它是起点,也是源头。在功能开发期的“所作所为”,很大程度上决定了后续功能维护代价。
但是,以互联网为载体的产品或者服务往往还会要求 24 小时不间断服务。这就导致了功能开发与维护的边界变得不再那么清晰,尤其是 Web 服务,还不像客户端那样有着固定的发版周期,有时候我们每天都会发布新的版本,以及不定期的 Hot Fix,甚至频繁的 “Hot Featrue” 而服务治理的核心目标,除了软件治理(如何让众多的软件一起融洽相处,感觉好像自己独享着物理的硬件资源)外,更重要的是考虑如何能够真正做到 24 小时不间断的服务。
# 服务治理包含哪些部分
服务治理这个范畴很宽泛,可以包含以下部分:
- 发布、升级与版本管理
- 日志、监控与报警
- 资源与容量
- 服务发现
- 流量调度
- 过载保护
- 故障预案、故障排查与根因分析
- 可支持性