快捷搜索: 长连接 前端 源码 pan

【SpringCloud】SpringCloud概述

二、SpringCloud概述

spring官网:https://spring.io/

SpringCloud官网:http://projects.spring.io/spring-cloud/

自学参考书:

    SpringCloud Netflix 中文文档:https://springcloud.cc/spring-cloud-netflix.html SpringCloud 中文API文档(官方文档翻译版):https://springcloud.cc/spring-cloud-dalston.html SpringCloud中国社区:http://springcloud.cn/ SpringCloud中文网:

1、SpringBoot与SpringCloud的关系与区别

1.SpringBoot和SpringCloud简介
    SpringBoot:是一个快速开发框架,通过用MAVEN依赖的继承方式,帮助我们快速整合第三方常用框架,完全采用注解化(使用注解方式启动SpringMVC),简化XML配置,内置HTTP服务器(Tomcat,Jetty),最终以Java应用程序进行执行。 SpringCloud: 是一套目前完整的微服务框架,它是是一系列框架的有序集合。它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。
2.SpringBoot和SpringCloud的关系与区别
    SpringCloud是一系列框架的集合,可以包含SpringBoot。SPringBoot离开SpringCloud可以单独使用,但是SpringCloud离不开SpringBoot,两者属于依赖的关系。
3.SpringBoot是微服务框架吗?
    SpringBoot只是一个快速开发框架,算不上微服务框架。 SpringCloud+SpringBoot 实现微服务开发。具体的来说是,SpringCloud具备微服务开发的核心技术:RPC远程调用技术;SpringBoot的web组件默认集成了SpringMVC,可以实现HTTP+JSON的轻量级传输,编写微服务接口,所以SpringCloud依赖SpringBoot框架实现微服务开发。

2.springcloud与dubbo技术选型对比

架构完整度: 与spring cloud相比,dubbo的架构完整度不够,其本身只提供了服务注册中心与服务治理两个模块,而spring cloud到现在为止,已经提供了服务注册中心,服务治理等24个模块,并且还在增加中。虽然dubbo也可以整合第三方框架,但是搭建出来的dubbo架构可能出现兼容性问题,而spring cloud不会,因为其每一个模块都是经过严格测试的,几乎不存在兼容性问题。如果将spring cloud比作品牌机,那dubbo就是组装机

社区活跃度: 与spring cloud相比,dubbo社区活跃度相对较低,社区活跃度的高低将影响项目维护成本,在社区活跃度很高时,一般项目中遇到的问题都可以在社区中找到响应的解决方案

通讯协议: dubbo服务间通讯采用rpc,而spring cloud采用的时http的rest。rpc对于业务接口有很强的依赖性,生产者和消费者都需要依赖相同的接口,并且还需要通过严格的业务接口版本来进行管理,这种依赖在大型微服务项目将会成为一个很大的问题,相比rpc,rest更加轻量化,服务调用者和提供者间的依赖仅仅是一纸契约,一段文本,不存在代码层面的强依赖,服务提供者和调用者之间还可以通过不同的语言来实现,只需要提供rest接口就可以通讯。Spring Cloud 抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式

技术改造和微服务开发: 国内的开发团队选择dubbo的一个很重要的原因就是官方文档,dubbo提供了高质量的官方文档,而spring cloud都是英文版的,并且文档内容要比dubbo多的多,文档内容更偏向模块整合,要对每个模块的进行更深入的了解,需要查看更为详细的文档,对于中小型团队来说,阅读英文文档的成本必须要考虑的。二者解决的问题域不一样:Dubbo的定位是一款RPC框架,而SpringCloud的目标是微服务架构下的一站式解决方案。

dubbo与SpringCloud的核心要素比较

Dubbo SpringCloud 服务注册中心 Zookeeper Spring Cloud Netfilx Eureka 服务调用方式 RPC REST API 服务监控 Dubbo-monitor Spring Boot Admin 断路器 不完善 Spring Cloud Netfilx Hystrix 服务网关 无 Spring Cloud Netfilx Zuul 分布式配置 无 Spring Cloud Config 服务跟踪 无 Spring Cloud Sleuth 消息总栈 无 Spring Cloud Bus 数据流 无 Spring Cloud Stream 批量任务 无 Spring Cloud Task

3.SpringCloud版本

官网:http://projects.spring.io/spring-cloud/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wenvTyve-1642058400563)(C:UsersyuwellAppDataRoamingTypora ypora-user-imagesimage-20220113151027503.png)]

SpringCloud没有采用数字编号的方式命名版本号,而是采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序,比如最早的Realse版本:Angel,第二个Realse版本:Brixton,然后是Camden、Dalston、Edgware,目前最新的是Hoxton SR4 CURRENT GA通用稳定版。

经验分享 程序员 微信小程序 职场和发展