SpringCloud 第一代与第二代的区别 | 学习笔记

简介: 快速学习 SpringCloud 第一代与第二代的区别

开发者学堂课程【精通 Spring Cloud AlibabaSpringCloud 第一代与第二代的区别学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/634/detail/10061


SpringCloud 第一代与第二代的区别


内容简介

一、为什么我们要使用 SpringCloud

二、SpringCloud 第一代与第二代的区别

三、SpringCloudalibaba 与 SpringCloud 有哪些区别?

四、SpringCloud 技术总结

五、今后学习


一、为什么我们要使用 SpringCloud

SpringCLoud 并不是 rpc 远程调用框架,而是一套全家桶的微服务解决框架,理念就是解决我们在微服务架构中遇到的任何问题。

服务治理:eureka

分布式配置 config

客户端调用工具 rest/feign 客户 rpc 远程调用

说明:阿里巴巴、腾讯、百度.

注意:大家如果去一些比较大型互联网公司中,整个公司内部实现rpc通讯的框架、服务助治理都是内部自己研发

公司有一定但是不是特别有钱,中小性。

Rpc 远程调用框架有那些?,

Httpclient、dubbofeigngrpc、基于 netty,手写r pc


二、SpringCloud 第一代与第二代的区别

由图可以了解,SpringCloud 第二代即 SpringCloud2.x 版本加上国内优秀的微服务框架组件整合在一起。所以第一代不必深入学习。

1.第一代

SpringCloud.第一代实际上都是用的Netflix开源的组件整合微服务解决方案。

最开始 SpringCloud 的第一代版本时,它的每个分布式组件都不是自己研发,而是在 GitHub 上找 Netflix 公司(制作视频网站),该公司研发了许多开源的微服务框架。

SpringCloud 就将所有的组件核心进行了整合。

但并不是 SpringCloud 写出的,因为 SpringCloud 目的是为了解决程序员在微服务架构中遇到的问题,因而其中的EurekaHystrixRibbonFeign Zuul 网关其实都并非 SpringCloud 写的,而使用的都是 Netflix 公司的。

Spring Cloud 第一代:

Spring Cloud Config 分布式配置中心

Spring Cloud Netflix 核心组件.

Eureka:服务治理

Hystrix:服务保护框架

Ribbon:客户端负载均衡器

Feign:基于 ribbon hystrix 的声明式服务调用组件。

Zuul:网关组件,提供智能路由、访问过滤等功能。

2.第二代

SpringCloud 第二代实际就是自己研发和 SpringCloudAalibaba 国内的优秀的微服务解决框架实现整合。

而闭源其实并不是真正的原因,其中最大的变化在网关上就有体现,在第一代中使用的是 zuul 网关,而第二代使用的则是自己研发的 Spring Cloud Gateway 网关。

在官网表述中可以得知 Gateway 网关性能远远好于 zuul 网关,同时客户端负载均衡器也从 Ribbon 换成Loadbalancer。服务保护框架也使用了 SpringCloud 自己孵化的 r4j。

Spring Cloud Alibaba Sentinel 服务保护框架也十分重要,能够替代我们之前学习的服务饱和框架。同时阿里迭代的框架相比原来也是更胜一筹。

阿里的 SpringCloud Alibaba Seata 分布式事务解决框架也能够很好的解决程序员在工作中遇到的许多分布式事务问题。

SpringCloud 第二代(自己研发)和优秀的组件组合:

Spring Cloud Gateway 网关

Spring Cloud Loadbalancer 客户端负载均衡器

Spring Cloud r4j(Resilience4J)服务保护

Spring Cloud Alibaba Nacos 服务注册

Spring Cloud Alibaba Nacos 分布式配置中心

Spring Cloud Alibaba Sentinel 服务保护

(可以替代我们所学过的所有保护式框架)

SpringCloud Alibaba Seata 分布式事务解决框架

(用于解决我们在微服务器中遇到的所有分布式问题)

Alibaba Cloud 0SS 阿里云存储

Alibaba Cloud SchedulerX分 布式任务调度平台

Alibaba Cloud SMS 分布式短信系统


三、SpringCloudalibabaSpringCloud有哪些区别?

1.区别

SpringCloudalibaba 就是为了推广阿里云的产品对我们目前的 SpringCloud2.x 版本实现扩展功能。

Nacos 服务注册与发现、分布式配置中心就等同于 SpringCloud 第一代中的 Eureka Spring Cloud Config

Rocketmq 买阿里云的 ons

同时在之后遇到的分布式云存储问题,Spring Cloud 0SS 也支持阿里的 oss

阿里的 SpringCloud 还含有 Alibaba Cloud SchedulerX 分布式任务调度平台框架但稍逊。但如 Alibaba Cloud SMS分布式短信系统其实都是为阿里做推广。

SpringCloudalibaba 就是为了推广阿里云的产品对我们目前的 SpringCloud2.x 版本实现扩展功能。

因而在使用 SpringCloudAlibaba 其中消息中间件选型应和 Rocket 联动一起使用,但单机版本中搭建 Rocket 联动性能并不理想,所以要配套购买阿里云的 ons。而阿里云的 ons 其实就是性能更加强大的 Rocketmq 联动。

2. SpringCloudalibaba

在官网中展示的功能,可以发现 SpringCloudalibaba 就是为了对我们目前的 SpringCloud2.x 版本实现扩展功能,其中含有许多组件,优势在于能够将组合的组件与 SpringCloud rpc 远程调度整合在一起。


四、SpringCloud 技术总结

微服务架构演变过程传统单体架构→分布式架构→SOA 面向服务架构→微服务架构模式,


五、今后学习

在之后的学习主要使用 SpringCloud 第二代,同时会实现真正的前后端分离,在第六章,会学习到前端 vue 技术、后端接口和分布式设施。

1.前段技术图例

1.png

2.后端接口图例

1.png

3.分布式设施

1.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
4月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
818 3
|
2月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
9月前
|
负载均衡 Dubbo Java
Spring Cloud Alibaba与Spring Cloud区别和联系?
Spring Cloud Alibaba与Spring Cloud区别和联系?
|
10月前
|
前端开发 Java Nacos
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
本文介绍了如何使用Spring Cloud Alibaba 2023.0.0.0技术栈构建微服务网关,以应对微服务架构中流量治理与安全管控的复杂性。通过一个包含鉴权服务、文件服务和主服务的项目,详细讲解了网关的整合与功能开发。首先,通过统一路由配置,将所有请求集中到网关进行管理;其次,实现了限流防刷功能,防止恶意刷接口;最后,添加了登录鉴权机制,确保用户身份验证。整个过程结合Nacos注册中心,确保服务注册与配置管理的高效性。通过这些实践,帮助开发者更好地理解和应用微服务网关。
1836 0
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
|
11月前
|
人工智能 安全 Java
AI 时代:从 Spring Cloud Alibaba 到 Spring AI Alibaba
本次分享由阿里云智能集团云原生微服务技术负责人李艳林主讲,主题为“AI时代:从Spring Cloud Alibaba到Spring AI Alibaba”。内容涵盖应用架构演进、AI agent框架发展趋势及Spring AI Alibaba的重磅发布。分享介绍了AI原生架构与传统架构的融合,强调了API优先、事件驱动和AI运维的重要性。同时,详细解析了Spring AI Alibaba的三层抽象设计,包括模型支持、工作流智能体编排及生产可用性构建能力,确保安全合规、高效部署与可观测性。最后,结合实际案例展示了如何利用私域数据优化AI应用,提升业务价值。
1087 4
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
750 5
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
27013 8
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
负载均衡 网络协议 Java
浅谈Springboot与Springcloud的区别
浅谈Springboot与Springcloud的区别
929 1
|
Java Spring
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
304 1