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

一、简介

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.rhkb.cn/news/488272.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

融云分享基于 Rust 的鸿蒙 SDK 开发实践

12 月 5 日,以“同心聚力,共建共享鸿蒙新生态”为主题的“鸿蒙生态伙伴 SDK 开发者论坛”在京举行。 融云凭借对鸿蒙生态的率先适配和创新贡献,荣获华为鸿蒙生态“HarmonyOS NEXT SDK 星河奖”。 本次论坛邀请了多位行业领导者参与&#xff…

C语言 位运算符 + 应用

常用的位运算符 按位与 快速判断整数的奇偶性 奇数的二进制表示的最低位为1,偶数的二进制表示的最低位为0。 int num 9; if (num & 1) {// num 是奇数 } else {// num 是偶数 }按位异或 交换两个变量的值 int a 5; int b 7; a a ^ b; b a ^ b; a a ^ …

JavaWeb学习(4)(四大域、HttpSession原理(面试)、SessionAPI、Session实现验证码功能)

目录 一、web四大域。 (1)基本介绍。 (2)RequestScope。(请求域) (3)SessionScope。(会话域) (4)ApplicationScope。(应用域) (5)PageScope。(页面域) 二、Ht…

C++ 菱形继承 +虚继承

菱形继承 两个派生类继承同一个基类而又有某个类同时继承者两个派生类,这种继承被称为菱形继承,或者钻石型继承。 菱形继承存在的问题 1)羊继承了动物的数据和函数,鸵同样继承了动物的数据和函数,当草泥马调用函数或者…

LCR 103. 零钱兑换 (从dfs->记忆化搜索->动态规划)

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins [1, 2, 5], amount …

密码学——密码学基础、散列函数与数字签名

1.密码学概述 是信息安全的基础和核心,是防范各种安全威胁的重要手段,信息安全的许多相关知识都与密码学相关。 密码学发展 密码学是一门古老而又年轻的学科 ,几千年以前就存在,至今仍在发展演进。地位非常重要甚至起决定性作用…

JS API日期对象

目标:掌握日期对象,可以让网页显示日期 日期对象:用来表示时间的对象 作用:可以得到当前系统时间 实例化 目标:能够实现实例化日期对象 在代码中发现了new关键字时,一般将这个操作称为实例化 创建一个时…

CTFshow-命令执行(Web29-40)

CTFshow-命令执行(Web29-40) CTFWeb-命令执行漏洞过滤的绕过姿势_绕过空格过滤-CSDN博客 总结rce(远程代码执行各种sao姿势)绕过bypass_远程命令执行绕过-CSDN博客 对比两者的源代码,我们发现,cat指令把flag.php的内容导出后依…

Qt Pro 常用配置

Part1: Summary Qt 开发中 Pro 文件的内容很多,需要不断的去学习和使用,现系统性的整理一下。以备录; 1.创建pro文件 1.1 步骤: Qt Creator--->New Project--->应用程序--->Qt Widgets Application--->名称为&…

移动端自动化Auto.js入门及案例实操

前提: Appium 和 Airtest 编写的自动化脚本都依赖于 PC 端运行,没有办法直接运行在移动端 Auto.js是什么? 1.是 Android 平台上的一款自动化工具,它通过编写 JavaScript 脚本,对 App 进行自动化操作 2.只支持安卓&a…

【SH】微信小程序调用EasyDL零门槛AI开发平台的图像分类研发笔记

文章目录 微信小程序字符串字符串模板字符串拼接 上传图片编写JS代码编写wxml代码编写wxss代码 GET请求测试编写测试代码域名不合法问题 GET和POST请求测试编写JS代码编写wxml代码编写wxss代码 效果展示 微信小程序字符串 字符串模板 这是ES6引入的特性,允许你通过…

【深度学习入门】深度学习介绍

1.1 深度学习介绍 学习目标 目标 知道深度学习与机器学习的区别了解神经网络的结构组成知道深度学习效果特点 应用 无 1.1.1 区别 1.1.1.1 特征提取方面 机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识深度学习通常由多个层组成&#xff0c…

SparkSQL与Hive的整合

文章目录 SparkSQL与Hive的整合1.1. Spark On Hive1.1.1. Hive的准备工作1.1.2. Spark的准备工作1.1.3. Spark代码开发1.1.4. Spark On Hive案例 1.2. Hive On Spark1.3. SparkSQL命令行1.4. SparkSQL分布式查询引擎1.4.1. 开启ThriftServer服务1.4.2. beeline连接ThriftServer…

梳理你的思路(从OOP到架构设计)_基本OOP知识03

目录 1、<基类/子类 >结构的接口(卡榫函数) 1&#xff09;卡榫(Hook) 2&#xff09;卡榫函数的Java实现 2、IoC机制与基於 Default 軟硬整合觀點 函数 1&#xff09;卡榫函数实现IoC机制 2&#xff09;默认(Default)行为 1、<基类/子类 >结构的接口(卡榫函数…

软件测试--录制与回放脚本

准备工作 安装phpstudy 配置两个内容 放demo44文件夹 在浏览器输入http://localhost/demo44/index.html&#xff0c;出现如图所示的网站 输入用户名和密码 步骤一&#xff1a;打开Virtual User Generator&#xff0c;点击新建&#xff0c;点击new 步骤二&#xff1a;点击如下…

1.2.3计算机软件

一个完整的计算机系统由硬件和软件组成&#xff0c;用户使用软件&#xff0c;而软件运行在硬件之上&#xff0c;软件进一步的划分为两类&#xff1a;应用软件和系统软件。普通用户通常只会跟应用软件打交道。应用软件是为了解决用户的某种特定的需求而研发出来的。除了每个人都…

前端传入Grule,后端保存到 .grl 文件中

前端传入Grule&#xff0c;后端保存到 .grl 文件中 通过简单的输入框&#xff0c;将Grule的部分拆解成 规则名称 规则描述 规则优先级 规则条件 规则逻辑Grule关键字 when Then 模拟了 if 判断的条件和逻辑部分 类似于 shell 和 ruby 之类的脚本语言&#xff0c;有 then 关键字…

公众号看到一个小知识(遥感影像标签的数值问题)

遥感影像标签的数值问题。 拿到手的标签图像&#xff0c;是二分类形式&#xff0c;分为0和1。 这样的形式&#xff0c;不能直接在win10打开。双击图像文件后&#xff0c;如下&#xff1a; 但是可以在QGIS可视化。在QGIS可视化如下&#xff1a; 为什么会这样&#xff1f;大概是因…

【干旱指数】非一致性干旱指数:SnsPI

非一致性干旱指数:SnsPI 非一致性SPI 干旱指数(SnsPI)指数简介MATLAB代码实现Python代码实现参考近年来受气候和人类活动的显著影响,水文序列形成的物理基础条件发生变化,导致水文序列不满足一致性假定即呈非一致性特征。 已有研究主要通过以下两类方法解决非一致性干旱问…

《九重紫》逐集分析鉴赏—序言、概览、框架分析

主标题:《九重紫》一起追剧吧副标题:《九重紫》逐集分析鉴赏—序言、概览、框架分析《永夜星河》后,以为要浅尝剧荒,一部《九重紫》突出重围。看了宣传片感觉不是很差,看了部分剪辑感觉还可以,看了一两集感觉可以追吧,又看了几集——有新欢了,永夜我终于可以放下了,终…