我是Spring Cloud的新手,我对此有点困惑。 Kubernetes和Spring Cloud都是微服务框架。如果我已经有Kubernetes(或mesos),为什么我需要使用Spring Cloud?我注意到许多项目都使用它们。 Kubernetes和Spring Cloud有什么区别?它们都可以提供服务发现,负载平衡等。 我真的很困惑。如果我已经有Kubernetes(或mesos),为什么我需要使用Spring Cloud?
1
A
回答
1
Kubernetes和Spring Cloud解决了很多与微服务相同的问题,但是采用了不同的方法和技术。 Redhat写了一篇很好的文章解释了这一点。这里的主要内容:
Spring Cloud拥有丰富的集成良好的Java库到 作为应用程序堆栈的一部分解决了所有运行时问题。作为 的结果,微服务本身具有用于执行客户端服务发现,负载平衡,配置 更新,度量跟踪等的库和运行时代理 。诸如单件集群 服务,批处理作业的模式也在JVM中进行管理。
Kubernetes是 polyglot,不仅仅针对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。
相关问题
- 1. 如果我们已经有[HttpPost],为什么需要使用JsonRequestBehavior?
- 2. 为什么我们需要Maven或Ant,如果我们已经有Eclipse?
- 3. 我们已经有了nodejs,为什么我们需要nginx或apache?
- 4. 当我们已经有mapDispatchToProps时,为什么我们需要使用redux-thunk
- 5. 为什么使用Consul与Kubernetes,Docker,Mesos?
- 6. 为什么Haskell需要Data.Sequence当我们已经有了列表?
- 7. 为什么我们已经有CSS时需要ASP.NET主题?
- 8. 为什么我需要=(class)...当我已经宣布课程时?
- 9. 如果我已经使用Modernizr的,我会那么即使需要HTML5希夫?
- 10. 为什么我们需要导入类,如果家长已经导入它
- 11. 当我们已经有一阶逻辑时,为什么我们需要PDDL?
- 12. 当我们已经有向量时,为什么我们需要同步ArrayList?
- 13. 如果我们可以直接部署Mesos集群,为什么需要DCOS
- 14. 如果我需要使用IIFE,Angular为什么不使用它?
- 15. 为什么创建集合,如果我们已经有集合?
- 16. 我想使用Railsnstaller如果我已经安装了Git,我还需要做什么不同吗?
- 17. 我为什么要使用Spring Android?
- 18. 为什么我们在java中需要switch-case语句,如果我们已经有if-else if-else语句
- 19. 如果我已经有HTTPS可以使用wss,或者我需要支付附加费用?
- 20. 为什么我们需要calloc(或malloc)?
- 21. 我们为什么要使用`realloc`如果我们需要一个'TMP buffer`
- 22. 为什么我需要告诉git我已经删除了一个文件?
- 23. 为什么我们需要在Spring中使用注释?
- 24. 为什么我需要Iterator接口,为什么要使用它?
- 25. 为什么我们需要使用prompt.start()?
- 26. 为什么我不需要使用Adapter.notifyDataSetChanged()?
- 27. 为什么我们需要使用ExitWindowsEx
- 28. 为什么我需要使用Activator CreateInstance?
- 29. 为什么我需要使用超时?
- 30. 为什么我需要使用stopPropagation()?