当前位置: 首页 > news >正文

简述 Spring Cloud 是什么

很多同学都了解了Spring ,了解了 Spring Boot, 但对于 Spring Cloud 是什么还是比较懵逼的。

本文带你简单的了解下,什么是Spring Cloud。

Spring Cloud 是什么

从字面理解,Spring Cloud 就是致力于分布式系统、云服务的框架。

Spring Cloud 是整个 Spring 家族中新的成员,是最近云服务火爆的必然产物。

Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具,例如:

  • 配置管理
  • 服务注册与发现
  • 断路器
  • 智能路由
  • 服务间调用
  • 负载均衡
  • 微代理
  • 控制总线
  • 一次性令牌
  • 全局锁
  • 领导选举
  • 分布式会话
  • 集群状态
  • 分布式消息
  • ......

使用 Spring Cloud 开发人员可以开箱即用的实现这些模式的服务和应用程序。这些服务可以任何环境下运行,包括分布式环境,也包括开发人员自己的笔记本电脑以及各种托管平台。

Spring Cloud 与 Spring Boot

Spring Cloud 基于 Spring Boot 来进行构建服务。这样,开发Spring Cloud 组件时,就能依托 Spring Boot 来实现快速开发。

有关 Spring Boot 内容,可见笔者的视频课程《基于Spring Boot的博客系统实战》(https://waylau.com/spring-boot-blog-video-release/)。

Spring Cloud 与微服务

Spring Cloud 是构建分布式系统的利器,而微服务是当下最火热的分布式系统的类型之一,所以,Spring Cloud 天然是支持微服务的构建的。

在早些年,国内互联网公司盛行采用 Dubbo 来架构微服务。如今,有了更好的选择,那就是 Spring Cloud。有数据显示,Spring Cloud不管是在国内,还是国外,用户数都呈现出爆发式增长。而且,Dubbo 主要只是为了解决服务通信、服务注册等问题,而 Spring Cloud 却是提供微服务架构的完整的解决方案。

那么什么是微服务?

所谓微服务,就是:

微服务架构风格就像是把小的服务开发成单一应用的形式, 运行在其自己的进程中,并采用轻量级的机制进行通信(一般是 HTTP 资源 API)。这些服务都是围绕业务能力来构建,通过全自动部署工具来实现独立部署。这些服务,其可以使用不同的编程语言和不同的数据存储技术,并保持最小化集中管理。

更多有关微服务的理论,可见笔者的博客:https://waylau.com/ahout-microservices/ 。

Spring Cloud 如何实现微服务

说了那么多理论,那么微服务架构如何真实的落地呢?课程
《基于Spring Cloud的微服务实战》(https://waylau.com/spring-cloud-video-release/)给出了真实的答案。

在《基于Spring Cloud的微服务实战》课程中,作者基于Spring Boot + Spring Cloud 技术栈来实现了一个完整的天气预报系统。在课程中,先从 Spring Boot 入手,从0到1 快速搭建了具备高并发能力、界面友好的天气预报系统。而后剖析单块架构的利弊,从而引入微服务架构的概念,并实从1到0实现微服务的拆分。最后引入Spring Cloud 技术来实现对这些微服务的治理,重点讲解了服务注册与发现、服务交互、服务消费、负载均衡、API网关、配置中心、服务熔断、自动扩展等方面的话题。

通过学习该课程,学员不但可以学会 Spring Boot 及 Spring Cloud 最新的周边技术栈(本课程基于最新的 Spring Boot 2.0.0.M4 以及 Spring Cloud Finchley.M2),掌握如何运用上述技术进行整合,搭建框架的能力,熟悉单体架构及微服务架构的特点,并最终实现掌握构建微服务架构的实战能力。

搭建 Spring Cloud 微服务系统需要哪些技术

本课程所涉及的相关的技术有 :

  • XML解析:JABX
  • JSON序列化:Jackson
  • 缓存:Redis
  • 定时器:Quartz Scheduler
  • Java模版技术Thymeleaf
  • 前端样式:Bootstrap
  • API网关:Zuul
  • 服务注册与发现:Eureka Server、Eureka Client
  • 服务交互:RestTemplate、Apache HttpClient
  • 服务消费:Ribbon、OpenFeign
  • 负载均衡:Ribbon
  • 配置中心:Config Server、Config Client
  • 服务熔断:Hystrix
  • 项目构建:Gradle

通过本课程的学习,能够掌握架构微服务系统的能力!

参考资料

要学习 Spring Cloud 微服务,除了上面的课程之前,老卫还撰写了多门微服务相关的开源书籍,注意,都是免费的书籍哦!!!

  • 简述 Microservices(微服务):https://waylau.com/ahout-microservices/
  • Spring Boot 教程:https://github.com/waylau/spring-boot-tutorial
  • Spring Cloud 教程:https://github.com/waylau/spring-cloud-tutorial
  • Gradle 3 用户指南:https://github.com/waylau/gradle-3-user-guide
  • Spring Security 教程:https://github.com/waylau/spring-security-tutorial
  • Thymeleaf 教程:https://github.com/waylau/thymeleaf-tutorial

小伙伴们,快点学习起来!!!

相关文章:

  • OSS Web直传 (文件图片)
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 浅谈RxJava
  • android studio 3.0 Ndk 开发- 利用增量更新进行 apk的覆盖安装
  • Teamviewer原理和阻止方法
  • 【BIEE】11_根据显示指标展示不同报表
  • 流程(上)
  • 好领导:提升领导威信力的110个管理奥秘
  • 我的重构第二步
  • 部署eolinker开源版接口管理
  • 基于django的生成二维码的接口
  • 09-移动端开发教程-Sass入门
  • while循环按行读文件的方式总结
  • ElasticSearch「1」本地安裝Elasticsearch 6.0.1 + Elasticsearch-head插件
  • 2018/02/09
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • .pyc 想到的一些问题
  • Apache的基本使用
  • ECMAScript6(0):ES6简明参考手册
  • ES6之路之模块详解
  • Intervention/image 图片处理扩展包的安装和使用
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Spring Cloud中负载均衡器概览
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • SSH 免密登录
  • Vue.js 移动端适配之 vw 解决方案
  • WebSocket使用
  • 阿里云应用高可用服务公测发布
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 今年的LC3大会没了?
  • 让你的分享飞起来——极光推出社会化分享组件
  • 使用Gradle第一次构建Java程序
  • 延迟脚本的方式
  • 移动端唤起键盘时取消position:fixed定位
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​插件化DPI在商用WIFI中的价值
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (HAL库版)freeRTOS移植STMF103
  • (java)关于Thread的挂起和恢复
  • (poj1.3.2)1791(构造法模拟)
  • (Python第六天)文件处理
  • (四)鸿鹄云架构一服务注册中心
  • (小白学Java)Java简介和基本配置
  • (新)网络工程师考点串讲与真题详解
  • (一)基于IDEA的JAVA基础12
  • (转)C#调用WebService 基础
  • (转)可以带来幸福的一本书
  • ***原理与防范
  • ./configure、make、make install 命令
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .net Application的目录
  • .NET MVC 验证码
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...