一文详细说明spring cloud和Spring Cloud Alibaba的各自组件以及联系和区别

1:springCloud微服务概念

提起微服务,不得不提 Spring Cloud 全家桶系列,Spring Cloud 是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。包含了:服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。

Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,Spring Cloud 就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,Spring Cloud 做为大管家需要管理好这些微服务,自然需要很多小弟来帮忙。

2:springboot概念

spring boot并不是一个新的技术,它是基于spring框架下对于“约定优于配置(Convention Over Configuration)”理念下的产物,主要是帮助开发人员更容易更快速的创建独立运行和产品级别的基于spring框架的应用。为什么说springboot是微框架呢?如果大家玩过springboot,那应该很有体会,我们只需要非常少的配置就可以快速构建一个web项目。

而spring boot中并没有新的技术,如果大家对spring框架比较熟悉,那么在学习springboot的时候会更加容易。

围绕springboot构建的spring cloud生态下,目前有两类的比较成熟的实现,一个是基于netflix、另一个是基于alibaba。

  • 约定优于配置 :指通过默认规则减少配置需求,使开发者能够快速启动项目。

3:Spring Cloud (一代)

1:springcloud介绍

我们通过对springboot的使用,就知道,spring从来不是重复造轮子,而是对现有技术的封装和维护,举个简单例子,比如最早spring只提供了IOC和AOP的核心功能,而像ORM框架、缓存、MVC框架,spring只是提供了一种兼容以及支持,所以当时大家说spring是万能胶,可以把各种各样的框架整合进来。

同理,springcloud也不是自己开发组件,他也不是一个框架,因为Spring Cloud的核心并没有实现服务注册、熔断、配置中心等功能,它提供了一个标准规范。而Spring Cloud Netflix才是spring Cloud规范的一种实现。

2:springcloud发展历史

Netflix是一家美国公司,在美国、加拿大提供互联网随选流媒体播放,定制DVD、蓝光光碟在线出租业务。该公司成立于1997年,总部位于加利福尼亚州洛斯盖图,1999年开始订阅服务。2009年,该公司可提供多达10万部DVD电影,并有1千万的订户。2007年2月25日,Netflix宣布已经售出第10亿份DVD。HIS一份报告中表示,2011年Netflix网络电影销量占据美国用户在线电影总销量的45%。

针对多种 Netflix 组件提供的开发工具包,其中包括 Eureka、Ribbon、Feign、Hystrix、Zuul、Archaius 等。

  • Netflix Eureka:一个基于 Rest 服务的服务治理组件,包括服务注册中心、服务注册与服务发现机制的* 实现,实现了云端负载均衡和中间层服务器的故障转移。
  • Netflix Ribbon:客户端负载均衡的服务调用组件。
  • Netflix Hystrix:容错管理工具,实现断路器模式,通过控制服务的节点,从而对延迟和故障提供更强大的容错能力。
  • Netflix Feign:基于 Ribbon 和 Hystrix 的声明式服务调用组件。
  • Netflix Zuul:微服务网关,提供动态路由,访问过滤等服务。
  • Netflix Archaius:配置管理 API,包含一系列配置管理 API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。

Spring Cloud Netflix 生态,到2020年,archaus/hystrix/ribbon/zuul/turbine等starter都会进入维护模式,进入维护模式意味着spring cloud团队不会再向这些模块中添加新的功能,但是仍然会修复安全问题和一些block级别的bug。只是没有新的功能迭代了,spring cloud netflix仍然可以继续使用。

进入维护模式的最根本原因还是Netflix对于zuul、ribbon等项目维护投入比较少、所以spring cloud 会在greenwich中把这些项目都进入到维护模式。

所以基本上现在如果构建新的微服务,基本都以springcloud alibaba为基准

3:springcloud常用组件

融合在每个微服务中、依赖其它组件并为其提供服务。

  • Netflix Ribbon,客户端负载均衡,特性有区域亲和、重试机制。

  • Netflix Hystrix,客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。

  • Netflix Feign,声明式服务调用,本质上就是Ribbon+Hystrix

  • Stream,消息驱动,有Sink、Source、Processor三种通道,特性有订阅发布、消费组、消息分区。

  • Bus,消息总线,配合Config仓库修改的一种Stream实现,

  • Sleuth,分布式服务追踪,需要搞清楚TraceID和SpanID以及抽样,如何与ELK整合。

  • </
SpringCloudSpringCloud Alibaba是两种不同的技术框架,它们都是围绕Spring Boot构建的Spring Cloud生态系统的一部分。SpringCloud是一种开源的、分布式的微服务框架,主要基于Netflix开发的组件技术。而SpringCloud Alibaba是阿里巴巴基于Spring Cloud开发的一套微服务解决方案。 具体来说,它们的区别主要体现在以下几个方面: 1. 生态系统:SpringCloud主要基于Netflix开发的组件,如Eureka、Ribbon、Hystrix等。而SpringCloud Alibaba则集成了阿里巴巴的组件,如Nacos、Sentinel、RocketMQ等,这使得SpringCloud Alibaba在服务注册、配置管理、服务熔断限流等方面具有更加丰富灵活的功能。 2. 服务注册与发现:SpringCloud使用Netflix的Eureka作为默认的服务注册发现组件,而SpringCloud Alibaba使用Nacos作为默认的服务注册发现组件。Nacos具有更强大的功能更好的性能,支持更多的服务注册发现的场景。 3. 配置管理:SpringCloud使用Spring Cloud Config进行分布式配置管理,而SpringCloud Alibaba使用Nacos作为默认的配置中心。Nacos具有更强大的配置管理功能,支持动态配置更新实时发布。 4. 熔断限流:SpringCloud使用Netflix的Hystrix作为默认的熔断限流组件,而SpringCloud Alibaba使用Sentinel作为默认的熔断限流组件。Sentinel具有更全面的流量控制熔断降级的功能,支持更灵活的规则配置实时监控。 综上所述,SpringCloudSpringCloud Alibaba在生态系统、服务注册与发现、配置管理熔断限流等方面有所不同。选择哪种框架应根据具体的业务需求场景来决定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SpringCloud AlibabaSpringCloud区别是什么?](https://blog.csdn.net/weixin_45540382/article/details/115918056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [最详细说明spring cloudSpring Cloud Alibaba的联系区别](https://blog.csdn.net/qq_41694906/article/details/126648458)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苍煜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值