在讲能不能替换之前,我们先看看Spring Cloud 是什么?
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
我们可以看出,Spring Cloud 是一套微服务框架,和部署形态无关,事实上,你的整个Spring Cloud 是完全可以部署到Kubernetes中。
然后我们再看下,sidecar+kubernetes 架构 是否就是Istio之类的Service Mesh?
我觉得包括Service Mesh,但绝不仅于此。sidecar+kubernetes 架构 真正应该是mecha架构。如下图:
通过上图我们可以清晰看出,未来的sidecar 不仅仅包括envoy,同时包括其他公共业务逻辑的模块,例如dapr。
那么接下我们看看能不能完全取代?
首先我们看看Istio等Service Mesh能解决什么?
通过负载均衡、服务间的身份验证、监控等方法,Istio 可以轻松地创建一个已经部署了服务的网络,而服务的代码只需很少更改甚至无需更改。通过在整个环境中部署一个特殊的 sidecar 代理为服务添