# 什么是服务治理?

对于任何一个产品或者功能来说,开发完成仅仅只是开始,后面还会有很长一段时间的维护期。

上图是一个很基础的产品或者功能的生命周期示意图,从图中我们可以看到:

  1. 功能开发阶段的成本非常显性,但是功能维护期,包含了产品功能迭代以及后续的维护,隐性成本往往会更高。
  2. 功能开发阶段时间虽然有可能很短(相对维护期来讲),但是它是起点,也是源头。在功能开发期的“所作所为”,很大程度上决定了后续功能维护代价。

但是,以互联网为载体的产品或者服务往往还会要求 24 小时不间断服务。这就导致了功能开发与维护的边界变得不再那么清晰,尤其是 Web 服务,还不像客户端那样有着固定的发版周期,有时候我们每天都会发布新的版本,以及不定期的 Hot Fix,甚至频繁的 “Hot Featrue” 而服务治理的核心目标,除了软件治理(如何让众多的软件一起融洽相处,感觉好像自己独享着物理的硬件资源)外,更重要的是考虑如何能够真正做到 24 小时不间断的服务。

# 服务治理包含哪些部分

服务治理这个范畴很宽泛,可以包含以下部分:

  1. 发布、升级与版本管理
  2. 日志、监控与报警
  3. 资源与容量
  4. 服务发现
  5. 流量调度
  6. 过载保护
  7. 故障预案、故障排查与根因分析
  8. 可支持性

# 推荐阅读

Node服务资源治理 (opens new window)