SpringCloud入门概述
是什么?
官网说明:
- SpringCloud,基于SpringBoot提供了一整套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,出了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。
- SpringCloud利用SpringBoot的开发便利性巧妙的简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理,服务发现、链路器、路由、微代理、时间总线、全局锁、决策竞选、分布式会话等等,它们可以用SpringBoot的开发风格做到一键启动和部署。
- SpringBoot并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考研的服务框架组合起来、通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
SpringCloud = 分布式微服务构架下的一站式解决方案,是各个微服务构架落地技术的集合体,俗称微服务全家桶。
SpringCloud和SpringBoot是什么关系?
- SpringBoot专注于快速方便的开发单个个体微服务。
- SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来。
- SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系。
- SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架。
Dubbo是怎么到SpringCloud的?那些技术优缺点让你去技术选型
目前成熟的互联网架构(分布式+服务治理Dubbo)
https://www.cnblogs.com/xiaxiaoxu/p/9665422.html
我们把SpringCLoud与Dubbo进行对比
活跃度:
Dubbo: https://github.com/dubbo
SpringCloud: https://github.com/spring-cloud
对比结果:
| Dubbo | SpringCloud |
服务注册中心 | Zookeeper | Spring Cloud Netflix Eureka |
服务调用方式 | RPC | REST API |
服务监控 | Dubbo-monitor | Spring Boot Admin |
断路器 | 不完善 | Spring Cloud Netflix Hystrix |
服务网关 | 无 | Spring Cloud Netflix Zuul |
分布式配置 | 无 | Spring Cloud Config |
服务跟踪 | 无 | Spring Cloud Sleuth |
消息总线 | 无 | Spring Cloud Bus |
数据流 | 无 | Spring Cloud Task |
…… | …… | …… |
- 最大区别:Spring Cloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式。
- Dubbo的定位始终是一款RPC框架,而SpringCloud的目标是微服务架构下的一站式解决方案
- Dubbo可以类比Netflix OSS技术栈,而SpringCloud集成了Netflix OSS作为分布式服务治理解决方案
- 在面临微服务基础框架选型时Dubbo与SpringCloud只能二选一
能干嘛?
- Distributed/Versioned configuration(分布式/版本控制配置)
- Service registration and discovery(服务注册与发现)
- Routing(路由)
- Service-to-service calls(服务到服务的调用)
- Load balancing(负载均衡配置)
- Circuit Breakers(断路器)
- Distributed messaging(分布式消息管理)
- ……
去哪下?
官网
https://spring.io/projects/spring-cloud
参考书
https://springcloud.cc/spring-cloud-netflix.html
API说明: https://springcloud.cc/spring-cloud-dalston.html
Springcloud中国社区:http://springcloud.cn/
Springcloud中文网:https://springcloud.cc/
怎么玩:
- 服务的注册与发现(Eureka)
- 服务消费者(rest+Ribbon)
- 服务消费者(Feign)
- 断路器(Hystrix)
- 断路器监控(Hystrix Dashboard)
- 路由网关(Zuul)
- 分布式配置中心(SpringCloudConfig)
- 消息总线(Spring Cloud Bus)
- 服务链路追踪(Spring Cloud Sleuth)
- ……