什么是SpringCloud
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包
SpringCloud比Dubbo优势有哪些
- Dubbo: Dubbo是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。简单的说,Dubbo 就是个服务框架,说白了就是个远程服务调用的分布式框架。
- SpringCloud: springcloud是一整套的微服务解决方案
SpringCloud比Dubbo对比表
看了这张图大家就会明白啦。
SpringCloud常用功能介绍
- Spring Cloud Netflix Eureka: 服务中心,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
- Spring Cloud Netflix Ribbon: 负载均衡。
- Spring Cloud Netflix Fegin: REST客户端,服务之间的调用。
- Spring Cloud Config 配置中心: 利用 Git 集中管理程序的配置。(如Apollo配置中心)
- Spring Cloud Netflix Hystrix 熔断器: 容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
- Spring Cloud Netflix Zuul 网关: 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Web 网站后端所有请求的前门。
- Spring Cloud Bus: 消息总线,利用分布式消息将服务和服务实例连接在一起,用于在一个集群中传播状态的变化。
- Spring Cloud Netflix Archaius: 配置管理 API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
- Spring Cloud Security: 安全控制。
- Spring Cloud Sleuth: 分布式链路监控,SpringCloud 应用的分布式追踪系统,和 Zipkin,HTrace,ELK 兼容。
- Spring Cloud Stream: 消息组件,基于 Redis,Rabbit,Kafka 实现的消息微服务,简单声明模型用以在 Spring Cloud 应用中收发消息。
SpringCloud版本
- Hoxton、Greenwich(最新版本)
- Finchley 是基于 Spring Boot 2.0.x 构建的,不支持 Spring Boot 1.5.x
- Dalston 和 Edgware 是基于 Spring Boot 1.5.x 构建的,不支持 Spring Boot 2.0.x
- Camden 构建于 Spring Boot 1.4.x,但依然能支持 Spring Boot 1.5.x
下来开启撸代码模式~(本系列springcloud使用的是Finchley版本)