正文
衡量微服务是否成功的一个最通用的方法就是可用性(Availability)。如果一个服务有很高的可用性(宕机时间很少),那我们就相当信任这个服务。
而且计算可用性的指标也很简单: uptime(正常服务时间)、downtime(宕机时间)、以及总运行时间(uptime + downtime)。
尽管可用性指标很有用,但是它并不是衡量微服务的一个标准,而是这些标准要达到的目标。之所以不是一个标准法则,是因为它不能指导我们如何开发微服务。告诉一个开发人员提高他们的微服务的可用性,而不告诉他们如何去做就想白说一样。光说可用性是没有任何的可实践的步骤,而这本书后面的章节为我们提供了提高可用性的步骤。
计算可用性一般使用几个9来表示。
Production-Readiness背后隐含的含义是:产品或者服务值得信赖,它们可以满足产交互。
我习惯将Production-Readiness翻译成产品级,它实际的意义代表可以应用在产品中,满足产品的需要。
有很多产品和库标榜自己是产品级的,但是我们需要准确的衡量。标准化如果没有可操作的原则也是没有意义的,作者提出了衡量服务是否是产品级的八个原则:stability、 reliability、 scalability、 fault-tolerance、 catastrophe-preparedness、 performance、monitoring、 documentation,它们一起为微服务提供了高可用性,但是单一的原则并不能保证微服务的可用性。
Stability
微服务架构的采用为开发者提供了很大的自由度,他们可以每天增加和发布新特性,修改bug,用新技术代替旧技术,可以重写或者弃用过时的微服务。