Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。

一、SpringCloud是什么

  Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。

二、SpringCloud的现状

目前,国内使用 Spring Cloud 技术的公司并不多见,不是因为 Spring Cloud 不好,主要原因有以下几点:

  • Spring Cloud 中文文档较少,出现问题网上没有太多的解决方案。
  • 国内创业型公司技术老大大多是阿里系员工,而阿里系多采用 Dubbo 来构建微服务架构。
  • 大型公司基本都有自己的分布式解决方案,而中小型公司的架构很多用不上微服务,所以没有采用 Spring Cloud 的必要性。

但是,微服务架构是一个趋势,而 Spring Cloud 是微服务解决方案的佼佼者。

三、SpringCloud的优缺点

1. 优点

  • 集大成者,Spring Cloud 包含了微服务架构的方方面面。
  • 约定优于配置,基于注解,没有配置文件。
  • 轻量级组件,Spring Cloud 整合的组件大多比较轻量级,且都是各自领域的佼佼者。
  • 开发简便,Spring Cloud 对各个组件进行了大量的封装,从而简化了开发。
  • 开发灵活,Spring Cloud 的组件都是解耦的,开发人员可以灵活按需选择组件。

2. 缺点

  • 项目结构复杂,每一个组件或者每一个服务都需要创建一个项目。
  • 部署门槛高,项目部署需要配合 Docker 等容器技术进行集群部署,而要想深入了解 Docker,学习成本高。

四、SpringCloud的版本说明

  springcloud项目是由多个独立项目集合而成的,每个项目都是独立的,各自进行自己的迭代和版本发布。所以springcloud不方便使用版本号来管理,而是使用版本名。以避免和子项目版本号的冲突。

  从官网上看,springcloud的F版本是基于springboot的2.0.x构建,之前的是基于springboot的1.5.x构建

五、SpringCloud的常用组件

  • 服务发现——Netflix Eureka
  • 客服端负载均衡——Netflix Ribbon
  • 断路器——Netflix Hystrix
  • 服务网关——Netflix Zuul
  • 分布式配置——Spring Cloud Config

最新文章

  1. Javascript实践技巧
  2. Windows中使用TortoiseGit提交项目到GitLab配置
  3. mySql引擎
  4. css基本知识框架(转)
  5. MySql5.6 Window超详细安装教程
  6. 通过xshell 设置代理上网
  7. poj12月其他题解(未完)
  8. [liu yanling]测试用例设计综合策略
  9. 纯css实现下拉菜单
  10. [转]maven入门
  11. Node填坑教程——HelloWorld
  12. java集合系列—ArrayList
  13. svg和css实现波浪动效
  14. linux中的网络通信指令
  15. go语言数据库操作, gorm框架
  16. 使用npm安装配置vue
  17. js实现在光标的位置 添加内容
  18. PP.io的三个阶段,“强中心”——“弱中心”——“去中心”
  19. .Net调用QQ邮箱发送邮件
  20. shell 流程控制语句

热门文章

  1. CF1204D Kirk and a Binary String
  2. Vue学习记录(二)-打包问题
  3. 《Linux内核原理与分析》教学进程
  4. mysql8
  5. torch_12_BigGAN全文解读
  6. 如何忽略Findbugs的bug
  7. NoSql之Redis系列(.Net Core)
  8. vue-cli安装以及创建一个简单的项目(一)(Node\npm\webpack简单使用)
  9. 2019-9-2-win10-uwp-判断本地ip
  10. 在秉火STM32F429挑战者开发板上移植Huawei LiteOS指南