Spring Cloud Alibaba:一站式微服务解决方案

news2025/1/18 16:49:46

一、简介

Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。它集成了阿里巴巴开源的各种分布式服务技术,提供了一系列高效、灵活且易于使用的解决方案,帮助开发者更方便地搭建和管理微服务架构。

c381050b-3d0c-4adf-b653-d55a1e98601a

Spring Cloud Alibaba 是阿里巴巴结合自身丰富的微服务实践而推出的微服务开发的一站式解决方案,是 Spring Cloud 第二代实现的主要组成部分。吸收了 Spring Cloud Netflix 微服务框架的核心架构思想,并进行了高性能改进。自 Spring Cloud Netflix 进入停更维护后,Spring Cloud Alibaba 逐渐代替它成为主流的微服务框架。

image

‍二、发展

2.1 发展历程

Spring Cloud Alibaba 是基于 Spring Cloud 生态系统的一个扩展,旨在为开发者提供更多云原生应用的支持,特别是与阿里云相关的功能。它结合了 Spring 的简洁性和阿里云的强大能力,帮助开发者轻松构建分布式系统。

1. 初始阶段(2016年)

Spring Cloud Alibaba 的发展可以追溯到 2016 年,那时,阿里云的产品团队和 Spring 团队开始合作,利用 Spring Cloud 的框架来实现微服务架构,并通过集成阿里云的服务来增强 Spring Cloud 的功能。这一合作始于对 Spring Cloud 和 Dubbo(阿里云的开源 RPC 框架)的集成需求。

  • 背景:阿里云的开源框架如 Dubbo 和 Nacos 提供了高性能的微服务治理功能,而 Spring Cloud 是微服务架构中最受欢迎的开发框架之一。Spring Cloud Alibaba 应运而生,旨在将阿里云的分布式服务与 Spring Cloud 系统结合,使开发者能够更好地构建基于 Spring 的微服务架构。
  • 2016年:阿里巴巴开始全面拥抱 Spring Boot,并着手将自家中间件与 Spring Boot 整合,如开发 spring-boot-starter-sentinel​、spring-boot-starter-diamond​ 等 Starter。
2. Spring Cloud Alibaba 成立与发布(2018年)
  • 2017年12月:Spring Cloud Alibaba 正式进入 Spring Cloud 孵化器,标志着该项目正式对外公开。最初名为 spring-cloud-alibabacloud​,后来简化为 spring-cloud-alibaba​。
  • 2018年7月:Spring Cloud Alibaba 正式开源,提供了 Nacos Config、Nacos Discovery、Sentinel 和 OSS 四个核心组件的支持。
  • 2018年10月:发布首个版本 0.1.0 & 0.2.0,适配 Spring Cloud Edgware 和 Finchley 版本,增加了对 RocketMQ Binder 和 Bus RocketMQ 的支持。

2018 年,Spring Cloud Alibaba 的项目正式成立,并发布了第一个版本。这个版本实现了 Spring Cloud 与阿里云核心技术的深度融合,尤其是将 Nacos(服务发现和配置管理平台)、Sentinel(流量控制、熔断降级框架)、RocketMQ(消息中间件)等组件与 Spring Cloud 无缝集成。

  • 关键功能

    • Nacos:服务发现与配置管理,提供动态配置和服务治理能力。
    • Sentinel:流量控制、熔断、限流和降级等服务治理能力。
    • Dubbo:阿里开源的高性能 RPC 框架,支持微服务间的通信。
    • RocketMQ:阿里云的分布式消息中间件,支持高并发、高可用的消息传输。
3. 功能扩展与稳定(2019-2020年)
  • 2019年4月:发布了 Preview Release 版本 0.9.0, 0.1.2 & 0.2.2,首次适配 Spring Cloud Greenwich,新增 Dubbo Spring Cloud 和 Seata 组件,实现了使用 Spring Cloud 客户端调用 Dubbo 服务的功能。
  • 2019年7月24日:Spring Cloud 官方宣布 Spring Cloud Alibaba 毕业,仓库迁移至 Alibaba GitHub OSS 下,成为国内首个进入 Spring 社区的开源项目。
  • 2019年8月:发布毕业后的第一个版本 1.5.0, 2.0.0 & 2.1.0,进一步增强了 Sentinel Gateway 模块等功能。
  • 2019年10月3日:Spring Cloud Alibaba 正式 “挂牌” Spring 官方,成为推荐的 Spring Cloud 规范实现之一。

Spring Cloud Alibaba 在初步发布之后不断完善和优化,逐步增加对更多阿里云产品的支持,如:

  • Alibaba Cloud OSS(对象存储服务) :集成 OSS 进行文件存储管理。
  • Spring Cloud Alibaba 支持 Spring Boot 2.x:随着 Spring Boot 2.x 的推出,Spring Cloud Alibaba 也在 2019 年开始支持该版本,提升了框架的兼容性和性能。
  • 增强的 Dubbo 支持:支持 Dubbo 2.x 和 Spring Cloud 的无缝集成,进一步增强了 RPC 调用的能力。

在此期间,Spring Cloud Alibaba 团队还针对微服务的高可用性、动态扩展性、以及高并发等方面进行了优化,完善了服务治理的相关能力。

4. 稳定版本发布与生态完善(2021-2022年)

2021 年,Spring Cloud Alibaba 发布了多个新版本,支持更多的阿里云服务,并进一步加强与 Spring Cloud 生态的融合。

  • Nacos 与 Spring Cloud 兼容性增强:Nacos 不仅增强了服务发现的能力,还为微服务提供了更全面的配置管理功能。
  • Sentinel 的进一步完善:Sentinel 在 Spring Cloud Alibaba 中的集成更加稳定,支持流量控制、熔断、限流等特性,帮助微服务架构应对高并发压力。
  • 统一配置中心:阿里云的配置中心与 Spring Cloud 的配置功能进行深度集成,实现微服务系统的统一配置管理。
  • 阿里云服务支持增强:对阿里云的更多服务进行了集成,包括云数据库、云存储、容器服务等,简化了在 Spring Cloud 环境中使用阿里云服务的复杂度。
5. 最新发展(2023年及以后)

2023 年及以后,Spring Cloud Alibaba 将继续推动云原生微服务架构的发展,进一步深化对阿里云原生技术的支持。主要发展趋势包括:

  • Spring Cloud Kubernetes 集成:随着 Kubernetes 在容器化和微服务管理中的广泛应用,Spring Cloud Alibaba 开始更加注重与 Kubernetes 的集成,提供自动化的容器管理、服务发现等功能。
  • 增强的容器支持与 CI/CD 流程优化:对容器和 CI/CD 流程的支持,进一步帮助企业在云原生环境下构建高效的微服务应用。
  • 无服务器架构支持:Spring Cloud Alibaba 可能会更好地支持无服务器(Serverless)架构,帮助企业快速构建事件驱动、自动扩展的微服务系统。

2.2 版本

Spring Cloud Alibaba 的版本发展历程反映了该框架逐步增强与 Spring Cloud 生态系统的集成,同时加入了更多阿里云原生技术的支持。以下是 Spring Cloud Alibaba 版本的主要发展历程:

1. Spring Cloud Alibaba 1.x(2018年发布)

发布时间:2018年初

  • 背景:Spring Cloud Alibaba 作为 Spring Cloud 生态的一部分开始推出。该版本的发布标志着 Spring Cloud 与阿里云原生技术的初步集成,主要目的是让开发者可以在 Spring Cloud 中使用阿里云的一些开源组件,如 Nacos(服务发现与配置管理)、Sentinel(流量控制与熔断机制)、Dubbo(高性能 RPC 框架)等。

  • 主要特性

    • Nacos 集成:为 Spring Cloud 提供服务发现、配置管理和动态配置功能。
    • Sentinel 集成:流量控制、熔断、限流和降级功能集成。
    • Dubbo 集成:RPC 调用框架,支持微服务之间的高性能通信。
    • RocketMQ 集成:消息中间件支持。
    • Spring Boot 2.x 支持:支持 Spring Boot 2.x 版本,增强了兼容性和稳定性。

2. Spring Cloud Alibaba 2.x(2019年发布)

发布时间:2019年中期

  • 背景:在 1.x 版本的基础上,Spring Cloud Alibaba 2.x 增强了与 Spring Cloud 生态的兼容性,推出了一些新的功能,尤其是对 Spring Cloud 和 Spring Boot 的集成进行了进一步优化。

  • 主要特性

    • 对 Spring Cloud Hoxton 版本的支持:Spring Cloud Alibaba 2.x 支持 Spring Cloud Hoxton 版本,进一步增强了对 Spring Cloud 生态系统的适配。
    • Nacos 的增强:Nacos 成为了核心的服务发现和配置管理框架,并支持更加丰富的动态配置功能。
    • Sentinel 的功能增强:加入了更强大的流量控制和熔断功能,提升了微服务的稳定性。
    • 对 Dubbo 2.x 的支持:进一步优化了对 Dubbo 2.x 的支持,增强了 RPC 框架的性能和稳定性。
    • Spring Cloud Stream 支持:对 Spring Cloud Stream 和消息队列的集成进一步增强,特别是与 RocketMQ 的深度融合。
    • CloudNative 特性:随着容器化和 Kubernetes 的流行,Spring Cloud Alibaba 开始支持更多云原生特性,提供对微服务架构的原生支持。

3. Spring Cloud Alibaba 2.2.x(2020年发布)

发布时间:2020年

  • 背景:Spring Cloud Alibaba 2.2.x 是对前一版本的持续优化和增强。随着微服务架构的发展,Spring Cloud Alibaba 也增加了更多的云原生支持功能。

  • 主要特性

    • Nacos 服务发现与配置管理增强:进一步提升 Nacos 在大规模服务发现和动态配置管理方面的稳定性和性能。
    • Sentinel 控制台增强:Sentinel 控制台功能增强,提供更直观的流量监控与控制功能。
    • 更好的 Spring Boot 2.3.x 支持:增强了对 Spring Boot 2.3.x 版本的支持,解决了一些兼容性问题。
    • RocketMQ 3.x 集成:加强了与 RocketMQ 的集成,支持更多的消息队列场景。

4. Spring Cloud Alibaba 2.3.x(2021年发布)

发布时间:2021年

  • 背景:Spring Cloud Alibaba 2.3.x 是对 Spring Cloud Alibaba 2.x 系列的一个重要升级,增加了更多对 Spring Cloud 2020.x 版本的支持,同时加入了更多阿里云技术栈的集成。

  • 主要特性

    • 对 Spring Cloud 2020.x 版本的支持:增强了与 Spring Cloud 2020.x 版本的兼容性。
    • Nacos 2.x 版本支持:支持 Nacos 2.x 版本,增加了更多的配置管理和服务治理能力,提升了分布式系统管理的可用性和灵活性。
    • Sentinel 流量控制能力提升:进一步增强了流量控制、熔断、限流等机制,增加了更多对复杂微服务场景的支持。
    • Spring Cloud Kubernetes 集成:支持与 Kubernetes 的集成,更好地支持容器化和云原生应用。

5. Spring Cloud Alibaba 3.x(2022年发布)

发布时间:2022年及以后

  • 背景:Spring Cloud Alibaba 3.x 是该框架的一个重要版本,加入了对更高版本 Spring Cloud 的支持,并强化了对容器化、Kubernetes 等云原生技术的支持。

  • 主要特性

    • Spring Cloud 2021.x 版本支持:开始支持 Spring Cloud 2021.x 版本,与 Spring Cloud 生态的兼容性得到了进一步提升。
    • Nacos 3.0:推出了 Nacos 3.0 版本,进一步增强了服务发现、配置管理及动态配置的能力。
    • 微服务治理能力提升:继续优化 Sentinel 在微服务治理中的表现,提升流量控制、熔断等机制的效果。
    • Kubernetes 和容器支持加强:进一步优化与 Kubernetes 的集成,支持更高效的容器化部署和运维。

6. Spring Cloud Alibaba 4.x(预计未来发布)

未来版本预计会继续增强与 Spring Cloud 和阿里云服务的集成,特别是随着云原生技术的进一步发展,Spring Cloud Alibaba 可能会加入对更多云服务、无服务器架构、以及与其他云平台的支持。具体版本的发布时间和特性将在后续发布中确认。

版本匹配

Spring Boot与Spring Cloud Alibaba及Spring Cloud版本对应:

  • Spring Boot 3.2.4:推荐使用Spring Cloud Alibaba 2023.0.1,对应的Spring Cloud版本为2023.0.1.0
  • Spring Boot 3.2.0:推荐使用Spring Cloud Alibaba 2023.0.0,对应的Spring Cloud版本为2023.0.0.0-RC1
  • Spring Boot 3.0.2:可以选择Spring Cloud Alibaba 2022.0.0.02022.0.0.0-RC2,对应的Spring Cloud版本均为2022.0.0

Spring Cloud Alibaba子组件版本对应:

  • Sentinel:版本从1.6.3至1.8.6,具体版本根据Spring Cloud Alibaba版本不同而变化。
  • Nacos:版本范围覆盖了1.1.1至2.3.2,同样依据SCA版本选择。
  • RocketMQ:版本从4.4.0至5.1.4,随SCA版本更新而更新。
  • Dubbo:虽然表格中部分条目显示“~”,但在某些版本中记录了具体版本,如2.7.13、2.7.8等。
  • Seata:版本从0.7.1至1.7.0,依据SCA版本决定。

为了确保应用的稳定性和兼容性,请根据您项目的Spring Boot版本,参考上述对应关系选择合适的Spring Cloud Alibaba及其子组件版本。

三、特点

  1. 与 Spring Cloud 的无缝集成
    Spring Cloud Alibaba 基于 Spring Cloud 生态,继承了 Spring Cloud 的优势,且添加了阿里巴巴在分布式系统领域的优秀解决方案。
  2. 高可扩展性
    提供了丰富的微服务组件和灵活的扩展机制,适配大规模分布式系统需求。
  3. 高性能与高可用性
    集成了阿里巴巴开源的多个组件,确保微服务系统具有高性能和高可用性,特别是与高并发、大流量场景下的应用兼容性。
  4. 简化开发与运维
    提供一站式解决方案,减少开发和运维的复杂度,提升开发效率,降低系统维护成本。

四、主要组件

2c4768ba-5c04-4991-9f29-b031e8f845a7

  1. Nacos (动态配置管理与服务发现)

    • 功能:Nacos 提供了分布式系统中常见的服务发现、服务健康检查、配置管理等功能。
    • 使用场景:它支持微服务的注册与发现,能动态加载和刷新配置,适合云原生应用。
    • 优点:支持多种语言客户端,支持DNS、HTTP协议服务发现,易于扩展。
  2. Sentinel (流量控制与熔断降级)

    • 功能:Sentinel 是一个轻量级的流量控制组件,支持限流、熔断、降级等功能,能够保障服务的稳定性。
    • 使用场景:常用于流量控制、熔断与降级处理,确保在系统压力过大的情况下,重要业务依旧能够顺畅运行。
    • 优点:支持流量控制的细粒度配置,灵活的自定义规则,提供丰富的监控和仪表盘。
  3. RocketMQ (消息队列)

    • 功能:RocketMQ 是一款分布式的、高性能的消息队列,支持事务消息和大规模的消息处理能力。
    • 使用场景:用于处理高并发、大流量的异步消息传递,常用于解耦服务、实现事件驱动架构等。
    • 优点:高吞吐、低延迟,支持顺序消息、事务消息等高级特性,易于与 Spring Boot 配合使用。
  4. Dubbo (高性能 RPC 框架)

    • 功能:Dubbo 是阿里巴巴开源的一款高性能、轻量级的 RPC 框架,主要用于微服务之间的远程通信。
    • 使用场景:适用于高并发、高可用的分布式系统中的服务间调用,支持多种协议与注册中心。
    • 优点:具有高性能的远程过程调用(RPC)能力,支持接口负载均衡、容错、自动服务发现等特性。
  5. Spring Cloud Alibaba Config (集中式配置管理)

    • 功能:为 Spring Cloud 提供集中式配置管理,支持动态刷新和热更新。
    • 使用场景:适用于多微服务共享配置的场景,可以将配置集中管理和分发,支持配置的动态刷新与版本控制。
  6. Spring Cloud Alibaba Seata (分布式事务)

    • 功能:Seata 是一款分布式事务解决方案,能够解决跨多个微服务的事务一致性问题。
    • 使用场景:适用于分布式系统中需要保证数据一致性的场景,如金融支付、订单处理等。
    • 优点:提供了 AT、TCC、SAGA 等多种事务模式,支持微服务中的事务管理。
  7. Spring Cloud Alibaba TCC (分布式事务控制)

    • 功能:TCC 模式是 Seata 提供的一种分布式事务解决方案,提供了更多灵活的事务模型。
    • 使用场景:适用于需要强一致性保证的分布式事务场景,特别是在金融、电商等领域。

五、应用场景

Spring Cloud Alibaba 提供了一系列强大的组件和服务,适用于多种微服务应用场景。它不仅继承了 Spring Cloud 的优秀特性,还结合了阿里巴巴在大规模分布式系统中的实践和技术优势。以下是 Spring Cloud Alibaba 的一些典型应用场景:

1. 电商行业

  • 大促活动:如双11、618等大型促销活动中,流量激增对系统的稳定性提出了极高要求。Spring Cloud Alibaba 可以通过限流降级(Sentinel)、分布式事务(Seata)等功能保障交易系统的稳定运行。
  • 库存管理与订单处理:利用 Nacos 的配置管理和服务发现功能,可以实现动态调整库存策略和订单分配逻辑,确保高并发情况下的数据一致性和准确性。

2. 金融领域

  • 支付清算:对于需要强一致性的支付业务,Seata 的分布式事务支持可以帮助实现跨多个服务的操作最终一致性,保证资金流转的安全可靠。
  • 风控与合规:Sentinel 的熔断降级机制可以在某些模块出现问题时快速响应,保护核心业务不受影响;同时,Nacos 的配置管理有助于灵活调整风险控制规则。

3. 互联网服务

  • 内容分发网络 (CDN) :借助 RocketMQ 的高效消息传递能力,可以构建实时的内容更新推送系统,加快信息传播速度。
  • 社交平台:使用 Nacos 进行服务注册与发现,简化后端服务的部署和维护;Sentinel 则能有效防止热点话题带来的瞬时流量冲击。

4. 物流配送

  • 路径规划与调度优化:通过 Seata 管理多仓库间的货物转移任务,确保各环节之间的协调一致;同时利用 Sentinel 实现异常情况下的自动恢复。
  • 实时跟踪与反馈:RocketMQ 支持海量日志和位置信息的收集,为用户提供精准的包裹状态查询服务。

5. 物联网 (IoT)

  • 设备连接与数据采集:RocketMQ 的高吞吐量特性非常适合处理来自大量传感器或智能终端的数据流。
  • 远程监控与控制:基于 Nacos 的服务发现机制,可以轻松集成第三方硬件设备,并通过统一接口进行管理和控制。

6. 企业资源计划 (ERP) 系统

  • 模块化开发与集成:Spring Cloud Alibaba 提供了一套完整的工具链,帮助 ERP 开发者更方便地实现各个子系统的松耦合设计,便于后续扩展和升级。
  • 跨部门协作:利用 Nacos 和 Sentinel 协同工作,能够促进不同部门间的信息共享和流程自动化,提高整体运营效率。

7. 云计算平台

  • 云原生应用部署:Spring Cloud Alibaba 完美契合 Kubernetes 等容器编排平台,提供了从基础设施到业务逻辑的一站式解决方案。
  • 微服务治理:无论是 API 网关还是服务网格,Spring Cloud Alibaba 都能提供丰富的插件和中间件来增强云上应用的服务治理能力。

8. 教育科技

  • 在线学习平台:通过 RocketMQ 快速同步课程资料和作业提交情况,提升师生互动体验;同时,Nacos 和 Sentinel 确保平台在高峰期也能稳定运行。
  • 考试测评系统:Seata 的分布式事务特性可以用于保证考试成绩录入等关键操作的准确无误,而 Sentinel 则能在突发状况下及时采取措施,不影响正常考试秩序。

Spring Cloud Alibaba 不仅适用于上述特定行业的应用场景,而且其灵活性和可扩展性使其成为任何希望采用微服务架构的企业或组织的理想选择。无论是在构建新项目还是改造现有系统时,Spring Cloud Alibaba 都能提供坚实的技术支撑,帮助企业更快更好地达成数字化转型的目标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2256166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于51单片机64位病床呼叫系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机病床呼叫系统设计( proteus仿真程序设计报告原理图讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0095 1. 主要功能: 基于51单片机的病床呼叫系统proteus仿…

windows10下,nvidia控制面板升级驱动后osgearth三维程序无法运行

osg系列文章目录 文章目录 osg系列文章目录一.前言二.解决办法 一.前言 windows10下,nvidia控制面板升级驱动后osgearth三维程序无法运行,情景如下: 笔者使用的是天选1笔记本,硬件配置如下 osgearth和osg对应的版本是: Osg3.4.1…

【计算机学习笔记】GB2312、GBK、Unicode等字符编码的理解

之前编写win32程序时没怎么关注过宽字符到底是个啥东西,最近在编写网络框架又遇到字符相关的问题,所以写一篇文章记录一下(有些部分属于个人理解,如果有错误欢迎指出) 目录 几个常见的编码方式Unicode和UTF-8、UTF-16、…

七种msvcp140.dll丢失的解决方法及了解msvcp140.dll丢失的原因

在Windows操作系统中,msvcp140.dll是Microsoft Visual C 2015 Redistributable Package的一部分。这个动态链接库文件对于许多应用程序的正常运行至关重要,因为它包含了C程序所需的标准库函数。当用户遇到“msvcp140.dll丢失”或类似的错误信息时&#x…

QT4和 QT5 槽函数连接的区别

正常连接方式 //QT4官方用列QLabel *label new QLabel;QScrollBar *scrollBar new QScrollBar;QObject::connect(scrollBar, SIGNAL(valueChanged(int)),label, SLOT(setNum(int)));//QT5官方用列QLabel *label new QLabel;QLineEdit *lineEdit new QLineEdit;QObject::c…

LeetCode - #152 乘积最大子数组(Top 100)

文章目录 前言1. 描述2. 示例3. 答案关于我们 前言 本题为 LeetCode 前 100 高频题 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 …

新手前端开发入职公司全流程

作为一名前端开发新手,进入一家公司开启职业生涯是既兴奋又充满挑战的旅程。今天就来和大家分享一下这个过程中的各个环节。 一、入职准备 在收到心仪公司的offer后,可别只顾着高兴啦。首先要准备好入职资料,像身份证、学历证明这些是必不可…

【深入探索 C++ STL 容器 list】 —— 编程世界的万能胶,数据结构中的百变精灵

STL系列学习参考: STL 数据结构与算法__Zwy的博客-CSDN博客https://blog.csdn.net/bite_zwy/category_12852141.html 学习C STL的三个境界,会用,明理,能扩展,STL中的所有容器都遵循这个规律,下面我们就按…

【数电】常见时序逻辑电路设计和分析

本文目的:一是对真题常考题型总结,二是对常见时序电路设计方法进行归纳,给后面看这个文档的人留有一点有价值的东西。 1.不同模计数器设计 2.序列信号产生和检测电路 2.1序列信号产生电路 2.1.1设计思路 主要设计思路有三种 1&#xff09…

MCU、ARM体系结构,单片机基础,单片机操作

计算机基础 计算机的组成 输入设备、输出设备、存储器、运算器、控制器 输入设备:将其他信号转换为计算机可以识别的信号(电信号)。输出设备:将电信号(0、1)转为人或其他设备能理解的…

数字图像处理考研考点(持续更新)

一、数字图像基本概念 1、人眼视觉特性 (1)眼睛上有两类光感受器:锥状体和杆状体 锥状体(锥细胞):约 700 万个,对颜色高度敏感,每个锥状体都连接到神经末梢,人可以充分地分辨图像细节。锥细胞…

Lumos学习王佩丰Excel第二十讲:图表基础

Excel图表就像是把一堆复杂的数字变成了一幅幅直观的图画,让我们能够更快地理解数据之间的关系和趋势,使工作表更易于读懂和交流。学好这几节课,不仅可以辅助工作,还可以装X哈哈哈~~~ 一、认识图表中的元素(七块积木&…

VTK知识学习(20)- 数据的存储与表达

1、数据的存储 1)、vtkDataArray VTK中的内存分配采用连续内存,可以快速地创建、删除和遍历,称之为数据数组(DataArray),用类 vtkDataArray 实现。数组数据的访问是基于索引的,从零开始计数。 以 vtkFloatArray 类来说明如何在 …

如何在UI自动化测试中创建稳定的定位器?

如何在UI自动化测试中创建稳定的定位器? 前言1. 避免使用绝对路径2. 避免在定位器中使用索引3. 避免多个类名的定位器4. 避免动态和自动生成的ID5. 确保定位器唯一6. 处理隐藏元素的策略7. 谨慎使用基于文本的定位器8. 使用AI创建稳定的定位器 总结 前言 在自动化测…

SparkSQL 读写数据攻略:从基础到实战

目录 一、输入Source 1)代码演示最普通的文件读取方式: 2) 通过jdbc读取数据库数据 3) 读取table中的数据【hive】 二、输出Sink 实战一:保存普通格式 实战二:保存到数据库中 实战三:将结果保存在h…

【1】Python交叉编译到OpenHarmony标准系统运行(arm32位)

本文介绍如何Python语言如何在OpenHarmony标准系统运行,包括5.0r和4.1r以及4.0r,和未来版本的OpenHarmony版本上。 Python语言在OpenHarmony上使用,需要将Python解释器CPython移植到OpenHarmony标准系统。通过交叉编译的方式。 首先来了解几个概念: CPython 是 Python 编…

Windows环境中Python脚本开机自启动及其监控自启动

1 开机自启动 Windows 10/Windows Server 201X具有一个名为“启动”的已知文件夹,系统每次启动开始自动运行应用程序、快捷方式和脚本时都会检查该文件夹,而无需额外配置。 要在Windows启动时运行脚本,先使用WindowsR快捷键打开“运行”对话…

Mysql索引原理及优化——岁月云实战笔记

根据Mysql索引原理及优化这个博主的视频学习,对现在的岁月云项目中mysql进行优化,我要向这个博主致敬,之前应用居多,理论所知甚少,于是将学习到东西,应用下来,看看是否有好的改观。 1 索引原理…

JavaWeb学习(3)(Servlet详细、Servlet的三种实现方式(面试)、Servlet的生命周期、传统web.xml配置Servlet(了解))

目录 一、Servlet详细。 (1)基本介绍。 (2)基本作用。 1、接收客户端请求数据。 2、处理请求。 3、完成响应结果。 二、Servlet的三种实现方式。 (1)实现javax.servlet.Servlet接口。 1、基本介绍。 2、代码…

第6章:布局 --[CSS零基础入门]

CSS 布局是网页设计中至关重要的一个方面,它决定了页面上元素的排列和展示方式。以下是几种常见的 CSS 布局方法和技术: 1. 浮动布局(Float Layout) 浮动布局(Float Layout)曾经是网页设计中创建多列布局…