SpringCloud是什么

news/2024/7/24 8:45:25 标签: java, spring, SpringCloud, 负载均衡

SpringCloud是什么

SpringCloud,基于 SpringBoot 提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些 选型中立的开源组件。

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

SpringBoot并没有重复造轮子,它只是将目前各家公司开发的比较成熟,经得起实际考研的服务框架组 合起来,通过SpringBoot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套 简单易懂,易部署和易维护的分布式系统开发工具包

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

SpringCloud 和 SpringBoot 关系

  • SpringBoot 专注于快速方便的开发单个个体微服务。
  • SpringCloud 是关注全局的微服务协调整理治理框架,它将 SpringBoot 开发的一个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等等集成服务。
  • SpringBoot 可以离开 SpringClooud 独立使用,开发项目,但是SpringCloud 离不开 SpringBoot,属于依赖关系
  • SpringBoot 专注于快速、方便的开发单个个体微服务,SpringCloud 关注全局的服务治理框架

Dubbo 和 SpringCloud 对比

 DubboSpring
服务注册中心ZookeeperSpring Cloud Netfilx Eureka
服务调用方式RPCREST API
服务监控Dubbo-monitorSpring Boot Admin
断路器不完善Spring Cloud Netflix Hystrix
服务网关Spring Cloud Netflix Zuul
分布式配置Spring Cloud Config
服务跟踪Spring Cloud Sleuth
消息总线Spring Cloud Bus
数据流Spring Cloud Stream
批量任务Spring Cloud Task

最大区别:

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源码+周边的一整套解决方案,并不是每一个公司都有阿里的大牛+真实的线上生产环境测试过。

总结

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

SpringCloud 下载

https://spring.io/projects/spring-cloud

Spring Cloud是一个由众多独立子项目组成的大型综合项目,每个子项目有不同的发行节奏,都维护着 自己的发布版本号。Spring Cloud通过一个资源清单BOM(Bill of Materials)来管理每个版本的子项目 清单。为避免与子项目的发布号混淆,所以没有采用版本号的方式,而是通过命名的方式。

这些版本名称的命名方式采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序,比 如:最早的Release版本:Angel,第二个Release版本:Brixton,然后是Camden、Dalston、Edgware、Finchley,目前最新的是 Hoxton 版本。

参考:

 


http://www.niftyadmin.cn/n/731706.html

相关文章

vb表格控件_认识强大的ActiveX控件

哈喽,各位小伙伴,从本篇文章开始,我们就要一起来学习ActiveX控件了。何为ActiveX?ActiveX控件是Microsoft的ActiveX技术的一部分。ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象。创建它的主要技术是Microsoft的…

python操作键盘输入中文_selenium_webdriver(python)键盘组合键用法,输入中文问题

#codingutf-8from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport timedriver webdriver.Ie()driver.get("http://www.baidu.com")#输入框输入内容driver.find_element_by_id("kw").send_keys("selenium")ti…

静态方法获取配置文件的属性(坑)

这里介绍的是用 加载Properties流实现 springboot在静态方法中读取xxx.properties配置文件属性 没有用spring Bean注入方法实现的原因:项目中有个特殊的静态方法需要在很靠前的时候执行并且需要用到一些配置属性,尝试了用 spring Value注入的各种方法&a…

axure 鼠标变成手_鼠标越轻越好?什么人应该选择轻量化鼠标?

我先和你讲一下鼠标轻量化这一趋势是这么来的。一切的一切都要从《Fortnite(堡垒之夜)》开始说起,作为一款吃鸡游戏,凭借搭建掩体在一个真正意义上立体的地图进行对战。堡垒之夜有一种快速搭建掩体的要求,在2s不到的时…

Rest微服务构建

SpringCloud版本选择 Spring BootSpring Cloud关系1.2.xAngel版本 (天使)兼容Spring Boot 1.2.x1.3.xBrixton版本 (布里克斯顿)兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x1.4.xCamden版本 (卡姆登)兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x1…

python会自动保存吗_python自动保存文件失败

展开全部代码应该没问题,需要确保target_dir存在。如果运行失败,zip应该也有输出,e5a48de588b662616964757a686964616f31333361306430可以一起贴出来。下面是我的测试结果(为了测试,目录有所区别,并使用os.makedirs保证…

uploadify上传无反应_取证实战—Hacker利用某类网站的文件上传漏洞批量渗透

下面讲的会是一个比较有趣的故事,某类Web网站系统因为存在文件上传漏洞,文件包含漏洞,被Hacker利用后进行了批量的渗透,造成一大部分网站的后台被植入后门,对相关企事业单位造成不良影响。0x01概述其实,这个…

Eureka 集群环境

集群环境配置 新建工程springcloud-eureka-7002、springcloud-eureka-7003 按照7001为模板粘贴POM 修改7002和7003的主启动类 修改映射配置 , windows域名映射 集群配置分析 修改3个EurekaServer的yaml文件夹 7001: server:port: 7001 #Eureka配置 eureka:ins…