目前在微服务架构领域有多种微服务治理框架,如Spring Cloud、Istio等。这几种微服务架构都符合上一节介绍的微服务架构的特点,但实现的方式不同:有的通过代码侵入的方式实现,有的通过使用代理的方式实现。
在Kubernetes出现和普及之前,实现微服务架构需要通过像Spring Cloud这种代码侵入的方式实现,也就是说,在应用的源代码中引用微服务架构的治理组件。在Kubernetes出现以后,我们可以将容器化应用之间的路由、安全等工作交由Kubernetes实现,也就是说,应用开发人员再也不必在开发阶段考虑微服务之间的调用关系,只需关注应用代码的功能实现即可。这种无代码侵入的微服务架构(如Istio)越来越受到业内和客户青睐。而本书也会着重介绍基于Istio实现微服务。