1 SpringCloud介绍
简介
- SpringCloud基于SpringBoot提供了一套微服务解决方案,它为开发者提供了很多工具,用于快速构建分布式系统的一些通用模式;
- SpringCloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶
主要涉及的组件
- Eureka:服务注册和发现组件
- Feign:服务调用
- Hystix:熔断器
- Zuul:服务网关
- Ribbon:负载均衡
- Config:配置中心
区别
SpringCloud和SpringBoot的区别:
- SpringBoot专注于快速、方便的开发单个个体微服务
- SpringCloud是关注全局的微服务协调治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来
- SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系
SpringCloud与Dubbo的区别:
- SpringCloud抛弃了Dubbo的RPC通信,采用的是HTTP的REST方
- REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下显得更为合适
- SpringCloud能够与Spring Framework、 SpringBoot、SpringData等项目完美融合,进而提供分布式微服务架构下的一站式解决方案
- Dubbo需要借助第三方的框架来构建微服务架构
Q.E.D.