3.5 本章总结

今天的读者对于微服务不再陌生,因为过去的几年里,业界一直在不断地讨论如何从单体应用程序向分布式的微服务架构进行转型。在转型的过程中,我们在享受微服务架构带来好处的同时,我们的开发人员、运维人员都面临了很多挑战,特别是随着规模和复杂性的增长,服务之间越来越难以理解和管理,如服务发现、负载均衡、故障容忍、端到端监测、动态路由等。

此外,当前的微服务架构的实现往往是以代码库的方式构建在应用程序本身中,这些代码库中包括了服务发现、熔断、限流等功能,版本不同往往会带来冲突问题,而且版本一旦变更,整个应用也要随之全部变更,即使应用逻辑并没有任何变化。与此同时,复杂系统中的微服务实现往往会使用不同的编程语言、不同的框架,这些实现方案往往存在差异大、缺少共性的问题。而解决这些问题的一个方法就是Service Mesh(服务网格)技术。Istio作为服务网格技术的代表作,提供了一个完整的解决方案,可以解决这些问题。

接下来的几章将介绍Istio的具体功能及实现原理,帮助读者掌握这个利器。