如果我已经有了 Kubernetes(或 mesos),为什么还需要使用 Spring Cloud?

笔刷

我是 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我们已经有了StringBuilder时为什么要使用StringJoiner?

如果我已经在使用Modernizr,那么我是否还需要HTML5 Shiv?

如果我们已经有了Eclipse,为什么我们需要Maven或Ant?

Spring Cloud Kubernetes FeignClient错误

我还需要使用可变参数模板继承来创建lambda重载?

如果我们可以使用Selenium,为什么还需要像BeautifulSoup这样的解析器?

如果我已经有了aws-sdk(javascript),是否需要amazon-cognito-identity-js?

在switch / case中使用return之后,我还需要使用break吗?

如果已经有作业在运行,如何防止在Kubernetes中执行Cronjob

使用Kubernetes Spring Cloud多个配置映射

当我还需要使用withColumnRenamed时,如何从Spark数据框中选择列?

Spring Cloud Kubernetes:什么是集群读取器权限?

在SQL中,如果可以使用NOT NULL和UNIQUE约束代替主键,为什么还需要主键?

如果我们已经有了numpy.load,为什么我们需要numpy.fromfile?

迁移到Kubernetes,还需要Spring Cloud Eureka / Zuul吗?

带有Spring Cloud Load Balancer的Spring Cloud Kubernetes

如果我们已经有了CONTAINS,为什么我们需要FREETEXT?

在本地禁用Spring Cloud Kubernetes

C ++完美转发:如果可以使用const_cast(),为什么还需要forward()?

为什么使用.children使.modal工作后,我还需要另一个$()

我是否还需要使用 compareTo 方法覆盖 hashCode 和 equals 方法?

如果我已经有一个普通的旧类,我还需要 NSManagedObject 类吗?

我还需要使用虚拟内存吗?

使用 Kubernetes 时,我还需要使用 Containers for Oracle 吗?

为什么我的 ArrayList 中已经有元素?

既然已经声明了类,为什么还需要使用元素?

如果我们有 <!DOCTYPE html>,为什么还需要 <html> 标签?

如果我们可以更改线程池使用的线程数,为什么还需要节点集群?

当我们已经有了更强大的向量时,为什么还需要堆栈?