Spring Cloud与微服务构建(二)Spring Cloud简介 2.5 Spring Cloud 与 Kubernetes 比较

Spring Cloud是一个构建微服务的框架,而 Kubernetes是通过对运行的容器的编排来实现
建微服务的。两者从构建微服务的角度和实现方式有很大的不同,但它们提供了构建微服务
所需的全部功能。从提供的微服务所需的功能上看,两者不分上下,如表

微服务关注点Spring CloudKubernetes
配置管理ConfigKubernetes ConfigMap
服务发现Eureka、Consul、ZookeeperKubernetes Services
负载均衡RibbonKubernetes Services
网关ZuulKubernetes Services
分布式追踪Spring Cloud SleuthOpen tracing
容错HystrixKubernetes Health Check
安全模块Spring Cloud Security
分布式日志ELKEFK
任务管理Spring BatchKubernetes Jobs

Spring Cloud通过众多的类库来实现微服务系统所需的各个组件,同时不断集成优秀的优秀的组件,所以 Spring Cou件是非常完善的。 Spring Cloud基于 Spring boot框架,有快速开发、快速部署的优点。对于Java开发者来说,学习 Spring Cloud的成本不高。

Kubernetes在编排上解决微服务的各个功能,例如服务发现、配置管理、负载均衡、容错等。 Kubernetes不局限于Java平台,也不局限于语言,开发者可以自由选择开发语言进行项目开发.

与Kubernetes相比,Spring Cloud具有以下优点。

  • 采用Java语言开发,基于 Spring平台,继承了 Spring Boot快速开发的优势,是Java程序员实现微服务的最佳实践。
  • Spring Cloud有大量的类库和资源,基本上能解决所有可能出现的问题。

与 Kubernetes比较, Spring Cloud具有以下缺点。

  • 依赖于Java语言,不支持跨语言。
  • Spring Cloud需要在代码中关注微服务的功能点,例如服务发现、负载均衡等。
    Kubernetes则不需要关注这些。

下面介绍 Kubernetes的优点和缺点,优点如下。

  • Kubernetes支持多种语言,并且是一个容器管理平台。 Kubernetes使程序容器化,并在容器管理上提供了微服务的功能,例如配置管理、服务发现、负载均衡等。Kubernetes能够被应用于多种场合,例如程序开发、测试环境、创建环境等。
  • Kubernetes除了提供基本的构建微服务的功能外,还提供了环境、资源限制、管理应用程序的生命周期的功能。 Kubernetes更像是一个平台,而 Spring Cloud是一个框架。

Kubernetes的缺点如下。

  • Kubernetes面向 DevOps人员,普通的开发人员需要学习很多这方面的知识,学习成本非常高。
  • Kubernetes仍然是一个相对较新的平台,发展十分迅速。新特性更新得快,所以需要DevOps人员跟进,不断地学习。

Spring Cloud尝试从Java类库来实现微服务的所有功能,而 Kubernetes尝试从容器编排上实现所有的微服务功能,两者的实现角度和方式不一样。个人觉得,两者最终的实现功能和效果上不分胜负,但从实现的方式上来讲, Kubernetes略胜一筹。 Kubernetes面向DevOps人员,学习成本高。 Spring Cloud有很多的类库,以 Spring为基础,继承了 SpringBoot快速开发的优点,为Java程序员开发微服务提供了很好的体验,学习成本也较低。所以二者比较,各有优势。没有最好的框架,也没有最好的工具,关键是要适合业务需求和满足业务场景。

总结:本章首先介绍了微服务应该具备的功能,然后介绍了Spring Cloud和Spring Cloud的基本组件,最后介绍了Spring Cloud与Dubbo、Kubernetes之间的比较,以及它们的优缺点。Spring Cloud作为Java语言的微服务落地框架,有很多的微服务组件。为了循序渐进地学习这些组件,第3、4章将介绍构建微服务前的准备工作,这是学习Spring Cloud组件的基本前提。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值