我是 Spring Cloud 的新手,对此有点困惑。Kubernetes 和 Spring Cloud 都是微服务框架。如果我已经有了 Kubernetes(或 mesos),为什么还需要使用 Spring Cloud?我注意到许多项目同时使用它们。Kubernetes 和 Spring Cloud 有什么区别?它们都可以提供服务发现、负载均衡等。我真的很困惑。
Kubernetes 和 Spring Cloud 解决了许多与微服务相同的问题,但采用了不同的方法和技术。Redhat 写了一篇很棒的文章来解释这一点。这里的主要要点:
Spring Cloud 拥有一组丰富的集成良好的 Java 库,可以将所有运行时问题作为应用程序堆栈的一部分来解决。因此,微服务本身有库和运行时代理来进行客户端服务发现、负载平衡、配置更新、指标跟踪等。单例集群服务、批处理作业等模式也在 JVM 中进行管理。
Kubernetes 是多语言的,不仅针对 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/
要更详细地了解差异和相似之处,我建议您阅读完整的文章。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句