Spring Cloud 的理念是让使用微服务架构的人的生活变得更轻松。它具有服务发现、网关、负载平衡和许多其他功能。根据我的经验,现在每个基于微服务的项目都使用docker容器,这迫使他们使用一些编排工具,通常是kubernetes。 kubernetes 已经具备了所有提到的功能,并且设置起来更容易,因为您无需对代码进行任何更改(与 Spring Cloud 不同)。那么这就提出了一个问题,为什么要使用Spring Cloud?有没有人真正在生产中使用过它?
Kubernetes 不具备服务发现、API 网关、断路器、配置管理、Service Mesh 等功能。换句话说,它并不是为了具备这些功能而构建的。因此,如果您在微服务环境中需要这些功能,则需要拥有其中一些功能。 Spring Cloud 甚至可以在 kubernetes 之外工作。最后你可以比较 Consul+Kong、istio+envoy 和 Spring Cloud,因为它们更相似。