SpringCloud简述
作者 | springboot葵花宝典
来源 | 今日头条
1.SpringCloud介绍
SpringCloud是基于SpringBoot构建的一套完整的微服务解决方案,包括服务的注册与发现、配置中心、全链路监控、服务网关、负载均衡、熔断器等组件。SpringCloud利用SpringBoot巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等,它们都可以用SpringBoot的开发风格做到一键启动和部署。
2.SpringCloud整体构架
3.SpringCloud版本关系介绍
SpringCloud是许多子项目组成的一个综合项目,各个项目发布更新节奏不同。为了方便管理SpingCloud版本命名规则采用的不是版本号命名,采用的是伦敦地铁站的命名方式,根据字母表顺序用于对应版本时间,例如Angel代表第一个版本,Brixton是第二个版本
SpringCloud版本发布说明
BUILD-XXX开发版开发团队内部使用,不是很稳定GA稳定版相比于开发版,基本上可以使用了PRE(M1、M2)里程碑版主要是修复了一些BUG的版本,一个GA后通常有多个里程碑版RC候选发布版该阶段的软件类似于最终版的一个发行观察期,基本只修复比较严重的BUGSR正式发布版
SpringCloud和SpringBoot版本关系
Cloud VersionBoot Version2020.0.x aka Ilford2.4.XHoxton2.2.x, 2.3.x (Starting with SR5)Greenwich2.1.xFinchley2.0.xEdgware1.5.xDalston1.5.x
4.SpringCloud主要子项目介绍
Spring Cloud Config
配置管理工具,配置资源直接映射到Spring,默认使用Git存储配置,支持客户端配置的刷新加密解密等操作。
SpringCloud Netflix
Netflix OSS 开源组件集成,包括Eureka、Hystrix、Ribbon、Feign、Zuul等核心组件
- Eureka:实现服务治理(服务的注册和发现)
- Ribbon:主要用于实现客户端的负载均衡,完成服务实例的选择和调用
- Hystrix:主要用于提供延迟和容错功能,隔离远程系统、访问和第三方程序库的访问点,防止级联失败,保证复杂的分布式系统在面临不可避免的失败时,仍可以保持其弹性。
- Feign:基于Ribbon和Hystrix的声明式服务调用组件;
- Zuul:API网关组件,对请求提供路由及过滤功能。
Spring Cloud Bus
分布式消息队列,是对Kafka, MQ的封装。
Spring Cloud Security
安全工具包,对Zuul代理中的负载均衡OAuth2客户端及登录认证进行支持。
Spring Cloud Zookeeper
对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用。
Spring Cloud Consul
用于实现分布式系统的服务发现与配置。
Spring Cloud Stream
一个轻量级事件驱动的微服务框架,用于快速构建可以连接到外部系统的应用程序。使用ApacheKafka或RabbitMQ在Spring引导应用程序之间发送和接收消息的简单声明性模型。
Spring Cloud Task
提供云端计划任务管理、任务调度。
Spring Cloud Gateway
API网关组件,对请求提供路由及过滤功能
Spring Cloud Sleuth
日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。
总结
今天给大家简要介绍了一下什么是SpringCloud,已经经常使用的各个组件的简介,后续开始SpringCloud系列教程