SpringCloud是什么

如果学习一门新技术时候,学习起来感觉很痛苦,那很可能你学起来没有做到举一反三,你的学习的方法套路和策略每次对你来讲都是新的


官网说明

凡是技术,必盯官网呀。
在这里插入图片描述
经常登录spring官网的会发现它的改版是非常大的,之前会发现spring的东西非常多,现在大家看,它是不是也在让自己变得简约而不简单呀。
在这里插入图片描述
你的应用电脑端/手机端 ,经过构建、协调、连接,言下之意,它在用越来越少的技术准备一统江湖,日出东方唯spring不败。
在这里插入图片描述

分布式系统的简化版
构建一个分布式系统并不需要复杂和各种让你头疼烦恼的错误,spring能够提供一种简化简单的访问程序模型,包含了多种分布式系统下的模式和设计理念。

看上图中springcloud的各个图的图标,微服务、周边的,大家觉得springcloud是一个技术还是一堆技术呀?一个分布式微服务架构的维度有很多个,要满足一个分布式微服务架构是不是要多个维度的落地技术集合体呢?一个维度就要有一个技术来把位。
看上图的API网关,springcloud有个Zuul服务网关。breaker dasboard(仪表盘)断路监控,springcloud有HystrixDashboard , service registry 等等。说穿了,springcloud就是使用springboot开发的一堆专业的做专业的事情的一个个独立进程,要把这些东西都拼在一块,就是一个springcloud。

springcloud利用springboot的开发便利性巧妙的简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等,它们都可以使用springboot的开发风格做到一键启动和部署。

Springboot并没有重复造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过springboot风格进行再封装屏蔽掉了复杂的配置和实现原理。

springcloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。

springboot和springcloud是什么关系

springboot关注的是微观,它具体就是一个一个的微服务维度的快速方便的开发,springcloud是微服务架构下一站式解决方案,是宏观的,是将springboot开发的一个个微服务整合并管理起来。打个比喻,springboot是医院里的一个个科室,而springcloud是把这些科室组合起来的医院。springboot可单独使用,不依赖springcloud,springcloud必然依赖springboot。

spingcloud和Dubbo区别对比

在这里插入图片描述
上图是淘宝技术十年发展的第9个阶段:应用服务化拆分+消息中间件对比,第十个阶段就是微服务化了。通过它我们回顾下dubbo的典型使用架构

  1. 用户通过CDN,再通过防火墙
  2. 通过nginx负责负载均衡和转发、反向代理、动静分离等等
  3. LVS+keepalived实现了高可用
  4. 接着是Tomcat集群,还有分布式文件系统
  5. zookeeper负责服务的注册和发现,dubbo负责服务的治理和调用
  6. 跟据解耦和分流使用了一个消息中间件
  7. 缓存、solor、elasticsearch
  8. mycat实现了分库分表

活跃度

在这里插入图片描述
可以看到dubbo在github上的活跃度很平,那么它的活跃程度就不用多解释了。

在这里插入图片描述
从上图,明显可以感觉到,它的跳跃热度只要不是睁眼说瞎话的话,那一个跳跃更剧烈,不用多少了。

对比结果

在这里插入图片描述
通过上图对比可以看出,下面的dubbo都是无,springcloud的都有并且还都是自己的,这就是springcloud厉害的地方,不用找别的,就跟小米的数字化生态一样。

  • 最大区别:springcloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式
    严格来说,这两种方式个有优劣。虽然一定程度上说,后者牺牲了服务间调用的性能,但是也避免了上面提到的原生RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加合适。
  • 品牌与组装机的区别
    很明显,Spring Cloud的功能比DUBBO更加强大,涵盖面更广,而且作为Spring的拳头项目,它也能够与Spring Framework、Spring Boot、Spring Data、Spring Batch等其他Spring项目完美融合,这些对于微服务而言是至关重要的。使用Dubbo构建的微服务架构就像组装电脑,各环节我们的选择自由度很高,但是最终结果很有可能因为一条内存质量不行就点不亮了,总是让人不怎么放心,但是如果你是一名高手,那这些都不是问题;而Spring Cloud就像品牌机,在Spring Source的整合下,做了大量的兼容性测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外的东西,就需要对其基础有足够的了解。
  • 社区支持与更新力度
    最为重要的是,DUBBO停止了5年左右的更新,虽然2017.7重启了。对于技术发展的新需求,需要由开发者自行拓展升级(比如当当网弄出了DubboX),这对于很多想要采用微服务架构的中小软件组织,显然是不太合适的,中小公司没有这么强大的技术能力去修改Dubbo源码+周边的一整套解决方案,并不是每一个公司都有阿里的大牛+真实的线上生产环境测试过。

dubbo重启后的问题

曾风靡国内的开源 RPC 服务框架 Dubbo 在重启维护后,令许多用户为之雀跃,但同时,也迎来了一些质疑的声音。互联网技术发展迅速,Dubbo 是否还能跟上时代?Dubbo 与 Spring Cloud 相比又有何优势和差异?是否会有相关举措保证 Dubbo 的后续更新频率?

在这里插入图片描述
刘军,阿里巴巴中间件高级研发工程师,主导了 Dubbo 重启维护以后的几个发版计划,专注于高性能 RPC 框架和微服务相关领域。曾负责网易考拉 RPC 框架的研发及指导在内部使用,参与了服务治理平台、分布式跟踪系统、分布式一致性框架等从无到有的设计与开发过程。

我们看下他是怎么回答的,

  1. 两者解决的问题域不一样
    Dubbo的定位始终是一款RPC框架,而Spring Cloud的目标是微服务架构下的一站式解决方案。如果非要比较的话,Dubbo可以类比到Netflix OSS技术栈,而Spring Cloud集成了Netflix OSS作为分布式服务治理解决方案中的一份子
  2. 由于RPC协议、注册中心元数据不匹配等问题,在面临微服务基础框架选型的时Dubbo 与 Spring Cloud是只能二选一

参考资料

官网

官网 在这里插入图片描述

中文文档

中文文档
在这里插入图片描述

API说明

中文版
在这里插入图片描述

中文网

Spring Cloud中国社区
在这里你可以交到很多喜欢springcloud的好朋友在这里插入图片描述

Spring Cloud中文网

在这里插入图片描述

Spring cloud的国内使用情况

在这里插入图片描述
联通、华为,也是各大大厂。你可能会觉得没有见到阿里、百度,这是因为阿里部分老系统(如原来淘宝的系统)不可能进行深度的改造。而上面的公司大都是新的,它们可以有试错的成本,“船小好调头”嘛。此外,阿里云事业部也在使用springcloud
在这里插入图片描述
服务容器化,就是docker之类的,springcloud已经在阿里云中使用,因为阿里云是新部门,淘宝是老部门,后面的新系统就可以用新技术。

看到这里,我们该不该学习spring cloud呢?答案是应该,因为大部分阿里的高手做到p7、p8以后就是大厂的天花板,他升不上去了,倒不是上面没有位置了,而是P9是很难升了,当然做到p8一年也能拿股票和100~150万,甚至更多也没有问题。但是,他们在阿里那么多年了之后,有很多猎头就会找他们做中小型企业公司的cto,这个时候他们将会把上一家公司用到的技术带到下一家公司,这个时候你会微服务技术就是你的机会。所以说,看到国内的使用情况之后,springcloud我们需要学习。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值