什么是SpringCloud
SpringCloud是分布系统的一套解决方案,是一些列框架的集合,通过这些框架集合,点对点的解决分布式系统中的问题。包括:
- 服务注册(解决服务提供)-------SpringCloud Netflix Eureka
- 服务发现(解决服务消费)-------SpringCloud Netflix Feign
- 配置中心(解决分布式系统的配置)-------Spring Cloud Config
- 消息总线(解决分布式系统中的事件、状态等消息的传递)-------Spring Cloud Bus
- 负载均衡(解决在高并发情况下的服务压力分配)-------SpringCloud Netflix Ribbon
- 断路器(解决在分布式系统中某些服务突然崩了的问题)-------SpringCloud Netflix Hystrix
- 数据监控(解决分布式系统中服务监控)
- 等
SpringCloud不是重复造轮子,而是将市场上那些比较成熟、经得起实际考验的框架组合起来。通过Springboot的风格将这些框架再次封装起来,避免了一些复杂的配置以及了解框架的底层实现原理。SpringCloud是一套简单易懂、易开发、易部署和易维护的分布式系统开发工具包(包含解决分布式系统的一系列工具)。
Springboot和SpringCloud的关系
-
Spring boot是一个框架。SpringCloud不是框架,而是一套框架的集合。
-
Springboot专注于单个微服务的开发。SpringCloud关注于全局的服务治理(SpringCloud治理和协调多个服务完成某项业务或者功能)。
-
SpringCould是基于Springboot实现的开发工具。SpringCloud依赖Springboot。
-
SpringCloud抽象的说就是将市面上好的框架Springboot化(Springboot化:通过Springboot框架再次封装,通过导包、配置、@Enabled对繁琐的框架使用统一和简化。),我们能看根据自己的项目架构,在springCloud中选择一些框架去使用。
SpringCloud的优缺点
- 提供了一套分布式系统的解决方案。
- 简化了分布式系统的开发。
- 服务拆分,有利于资源的重复利用,提高开发效率。
- 服务之间通讯采用RestFul轻量通讯。
- 服务过多,治理成本高,不利于维护
- 开发成本高