我是Spring Cloud的新手,我对此感到有些困惑。 Kubernetes和Spring Cloud都是微服务框架。如果我已经拥有Kubernetes(或mesos),为什么我需要使用Spring Cloud?我注意到很多项目都使用它们。 Kubernetes和Spring Cloud之间的区别是什么?它们都可以提供服务发现,负载均衡等。 我真的很困惑。
答案 0 :(得分:1)
Kubernetes和Spring Cloud解决了与微服务相关的许多问题,但采用了不同的方法和技术。 Redhat写了一篇很好的文章来解释这一点。主要内容如下:
Spring Cloud拥有丰富的集成良好的Java库 将所有运行时关注点作为应用程序堆栈的一部分。作为一个 结果,微服务本身具有库和运行时代理 做客户端服务发现,负载均衡,配置 更新,指标跟踪等。单例聚类等模式 服务,批处理作业也在JVM中管理。
Kubernetes是 polyglot,不仅仅针对Java平台,而是针对Java平台 所有语言方式的通用分布式计算挑战。 它提供配置管理,服务发现, 负载平衡,跟踪,指标,单例,预定作业 平台级别,在应用程序堆栈之外。应用程序 客户端逻辑不需要任何库或代理,它可以 用任何语言写的。
在某些领域,两个平台都依赖于类似的 第三方工具。例如,ELK和EFK堆栈,跟踪 图书馆等。
某些库如Hystrix,Spring Boot很有用 同样适用于两种环境。有两个地方 平台是互补的,可以组合在一起创建一个 更强大的解决方案(KubeFlix和Spring Cloud Kubernetes就是这样 实施例)。
来源:https://developers.redhat.com/blog/2016/12/09/spring-cloud-for-microservices-compared-to-kubernetes/
要更详细地了解差异和相似之处,我建议您阅读完整的article。