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
Spring Cloud 是什么相关推荐
- Spring cloud 微服务docker容器化最佳实践
Spring cloud 是当下最炙手可热的微服务套件,我们将介绍如何整合Docker容器达到高效快捷的构建发布 采用了dockerfile-maven-plugin插件发布镜像到远程docker主机 ...
- Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭 ...
- Spring Cloud下微服务权限方案
背景 从传统的单体应用转型Spring Cloud的朋友都在问我,Spring Cloud下的微服务权限怎么管?怎么设计比较合理?从大层面讲叫服务权限,往小处拆分,分别为三块:用户认证.用户权限.服务 ...
- 玩转Spring Cloud之配置中心(config server config client)
玩转Spring Cloud之配置中心(config server &config client) 本文内容导航: 一.搭建配置服务中心(config server) 1.1.git方式 1 ...
- spring cloud微服务治理eureka、hystrix、zuul代码例子
spring cloud微服务中台服务代码例子,包括eureka.hystrix.zuul https://github.com/birdstudiocn/spring-cloud-sample/tr ...
- 原 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f8-bus/ 本文出自方志朋的博客 转载请标明出处: Spr ...
- 快速构建Spring Cloud工程
spring cloud简介 spring cloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行环境 ...
- spring cloud微服务分布式云架构--hystrix的使用
hystrix主要作用在服务消费者,进行应用的保护,当请求的服务请求超时时,做出相应的处理,避免客户端一直进行请求等待,避免在高并发的情况出现服务器死机(请求过多,内存不足) 接下来的通过一个案例对h ...
- Spring Cloud构建分布式电子商务平台:服务消费(基础)
使用LoadBalancerClient 在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient.这里我们即将介绍的LoadBalance ...
- (二)spring cloud微服务分布式云架构 - 整合企业架构的技术点
spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢? 下面我针对于spring cloud微服务分布式云架构做了以下 ...
最新文章
- linux ubuntu下怎样将pdf格式文件转换为doc格式文件,Ubuntu环境下把word文档转成pdf,把pdf文件转成jpg...
- SpringMVC-学习笔记03【SpringMVC常用注解】
- Linux 上安装 appium
- Myeclipse下Maven的配置
- 在线mod计算机,MOD大师教程 手把手教你改造电脑机箱
- 【今日CV 计算机视觉论文速览 第127期】Fri, 7 Jun 2019
- c++友元模板单例模式
- 德国 IT 薪酬大揭秘!
- 安装项目管理工具 SVN+Redmine
- js获取td的html,js中获取 table节点各tr及td的内容简单实例
- python查看数据_使用Python获取GA数据
- 一层一层的剥开你的心之StringBuilder
- win7安装wildfly8.1
- HTML表单基本结构
- 利用python计算n阶行列式的源代码
- 我用python给我的可爱小邻居做了一个猫狗识别系统~
- 一个转来的简单T9输入法
- 智能睡眠监控APP开发有哪些好处?
- oracle sy imp,oracle逻辑备份imp/exp 示例用法【转】
- 达芬奇密码 第七十一章