SpringCloud
文章目录
1、springcloud入门概述
1.1、SpringCloud是什么
SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。
springcloud利用springboot的开发便利性,巧妙的简化了分布式系统基础设施的开发,springcloud为开发人员提供了快速构建分布式系统的一些工具,包括配置原理,服务发现,熔断器,路由,微代理,事件总结,全局锁,决策竞选,分布式会话等等,他们都可以用SpringCloud的开发风格做到一键启动和部署。
springcloud并没有重复造轮子,他只是将目前各家公司开发的比较成熟,经得起实际考验的服务框架组合起来,通过springboot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂,易部署和易维护的分布式系统开发工具包。
SpringCloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。
1.2、SpringCloud和springboot的关系
- springboot专注于快速方便的开发单个个体微服务
- SpringCloud是关注全局的微服务协调整理治理框架,他将springboot开发的一个个单体微服务整合起来,为各个微服务之间提供,配置原理,服务发现,熔断器,路由,微代理,事件总结,全局锁,决策竞选,分布式会话等等集成服务。
- springboot可以离开SpringCloud独立使用,开发项目,但是SpringCloud离不开springboot,属于依赖关系。
- springboot专注于快速方便的开发单个个体微服务,SpringCloud是关注全局的微服务协调整理治理框架
1.3、dubbo和SpringCloud技术选型
1、分布式+服务治理dubbo
目前成熟的互联网架构,应用服务拆分+消息中间件
2、dubbo和SpringCloud对比
dubbo | springcloud | |
---|---|---|
服务注册中心 | zookeeper | SpringCloud NetFlix Exreka |
服务调用方式 | RPC | REST API |
服务监控、 | dubbo-monitor | springboot Admin |
断熔器 | 不完善 | SpringCloud NetFlix Hystrix |
服务网关 | 无 | SpringCloud NetFlix Zuul |
分布式配置 | 无 | SpringCloud config |
服务维修 | 无 | SpringCloud Sleuth |
消息总线 | 无 | SpringCloud Bus |
数据流 | 无 | SpringCloud Stream |
批量任务 | 无 | SpringCloud Task |
最大区别:SpringCloud抛弃了dubbo的RPC通信,采用的是基于Http方式
3、SpringCloud能干什么?
- 分布式/版本化配置
- 服务注册和发现
- 路由
- service - to - service调用
- 负载均衡
- 断路器
- 分布式消息传递
4、SpringCloud怎么看版本号?
SpringCloud是一个由众多独立子项目组成的大型综合项目,每个子项目有不同的发行节奏,都维护这自己的发布版本号,SpringCloud通过一个资源清单来管理每个版本的子项目清单,为避免与子项目的发布版本号混淆,所以没有采用版本号的方式,而是通过命名的方式。
这些原本名称的命名方式采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间排序,最早的Release版本:Angel ,第二个Lease版本:Brixton,然后是Camden,Dalston,Edgware,目前是最新的Hoxton版本.我们能够发现规律,他们的开头字母是从A一次往下排序的。