回顾计算机发展历史,能够发现分布式的发展跟计算机网络发展非常类似。它们都经过节点由少到多,再由多成网的过程。
TCP/IP 协议诞生是解决计算机之间相连的问题,虽然是几十年前的产物,但到今天仍然是计算机网络传输中的基础,而且在大部分情况下都不需要感知到它的存在。服务治理也面临类似的问题:从最开始的单机到集群再到微服务时代,硬件成本越来越低,服务数量呈指数级增长,使得调用关系越来越复杂,这时工程师们就需要一种方式来有效管理这些服务及调用关系;历史总是惊人的相似,只是现在我们面临的不再是如何有效地将计算机连接起来,而是如何将服务透明地连接起来而已。
为了让上层业务开发更加轻松,工程师们需要想出一个方案,将底层的细节更好地隐藏起来,无感知地变迁下层基础服务——这个方案就是 Istio。经过了“集群化”“反向代理”及“旁路负载”前三代的进化,软负载迎来了第四代“服务网格”架构,其统一透明的架构为服务治理提供了全面的支撑,并具备高度可扩展性。
接下来的几章,笔者将使用目前使用面最广的 Istio为大家详细讲解服务网格的实现原理,同时为大家剖析 Istio 的架构设计。