【华为云-云驻共创】UCS跨云多活容灾:让业务高可用不再是难题

【摘要】云原生应用深入到企业各个业务场景,云原生正在走向分布式化,跨云跨域统一协同治理,保证一致应用体验,这些新的需求日益凸显。而容灾是确保服务高可用的保障,但即使应用部署在云上,也无法避免市政方面的故障,因此需要做好相应的容灾方案。本文将介绍跨云容灾技术的基本概念和原理,深入探讨UCS在跨云容灾场景下的能力,最后通过跨云容灾切换场景的演示让您体验UCS跨云容灾解决方案的强大功能和操作简便性。


文章目录

    • 一 、跨云容灾技术的概念与原理
      • 1. 多云、混合云部署已成为企业的普遍需求
        • 多云方案的价值
      • 2. 影响IT系统的灾难类型
      • 3. 业界主流容灾方案
        • RTO(Recovery Time Objective)
        • RPO(Recovery Point Objective)
        • 数据冷备
        • 主备容灾 (温备)
        • 同城双活
        • 异地多活
      • 4. 容灾建设:寻找成本与业务影响的平衡点
      • 5. 业务多云部署架构下面临的关键问题
    • 二、UCS跨云多活容灾方案介绍
      • 1. 应用跨云多活的关键技术
      • 2. 流量层多活:流量统一接入管理
      • 3. 流量层多活:全域应用流量治理
        • 跨地域故障倒换
        • 区域流量切分
        • 全局负载均衡
        • 访问亲和性
      • 4. 应用层多活:跨云统一部署管理、统一监控运维
      • 5. 应用层多活:云原生容器跨云统一调度,优化资源使用
      • 6. 应用层多活:利用SDK实现应用的访问数据自动切换
      • 7. 数据层多活:跨云数据多活同步,支持自由倒换
      • 8. 基础设施层多活:跨云、跨地域集群统一接入、全生命周期管理
      • 9. 基础设施层多活:云原生应用和数据一致性灾备、跨云一键迁移
      • 10. 应用多活容灾架构:以 UCS+MAS+DRS 为核心的全栈多活容灾能力
      • 11. 应用容灾典型架构一:多云多活,数据库手动切换,实现低成本的业务高可靠
      • 12. 应用容灾典型架构二:应用跨云多活数据库主备全流程故障自动切换
      • 13. 跨云多活:ROI最优解
        • 一、提升业务连续性,减少切换时间
        • 二、提升资源利用率(资源充分利用)
        • 三、支持业务敏捷,应用架构灰度升级
        • 四、可靠性增强,减少故障半径(实现应用端到端SLA突破99.999%)
        • 五、业务部署灵活,扩展性增强
    • 三、UCS应用跨云多活部署场景演示
      • 1. 云应用多活容灾,构建高可用应用
      • 2. 演示步骤简介
        • 业务架构
        • 演示步骤
        • 1、跨云流量分发
        • 2、跨云弹性伸缩
        • 3、跨云故障迁移
    • 四、总结


一 、跨云容灾技术的概念与原理

1. 多云、混合云部署已成为企业的普遍需求

image-20231007220657111.png

根据调查报告显示:

  • 92%的被调查者采用了多云策略。

  • 82%的受访者同时使用公有云+私有云

  • 当前平均每个调查者使用2.6 个公有云和2.7 个私有云

  • 同时在额外验证1.1个公有云2.2个私有云

由此可见,大量用户在使用多云,多云战略也愈加明显。


多云方案的价值

这么多年的实践验证,多云方案的价值可总结为:

  • 优化资本支出。

  • 增加资源透明。

  • 提高服务质量。

  • 提供更高可用性。

  • 快速响应灵活敏捷。

  • 快速构建差异功能。

  • 避免供应商锁定。

  • 业务在云间冗余。


2. 影响IT系统的灾难类型

image-20231007221008941.png

从统计中图中也看出,不同的故障类型所造成的损失和发生的频率都不一样,还有些故障类型在不同区域中出现。根据统计显示:

  • 97%的局部故障会导致企业对外业务运行中断。
  • 3%的全局故障引起企业数据丢失,可能导致企业消亡。

3. 业界主流容灾方案

没有一套容灾方案可以适用于所有场景,我们需要结合实际业务发展趋势、业务系统的特征以及能够投入多少资源成本等方面综合评估,最终选出最适合的容灾架构方案。

image-20231007221141454.png

上图为目前四个主流容灾方案的对比。

  • 业界趋势:以离线冷备容灾为基础,逐渐从传统主备容灾向双活、多活容灾方向演进

  • 目标追求:高可用性\持久性、RTO\RPO\ROI最优化、资源可扩展性、数据同步时效性&一致性、容灾演练自动化。


这里先普及一下容灾能力的两个评价指标:RPO和RTO

RTO(Recovery Time Objective)

RTO是指灾难发生后,从IT系统崩溃导致业务停顿开始,到IT系统完全恢复、业务恢复运营为止的这段时间长度,即从出现故障到故障恢复能接受的最大时间。RTO用于衡量业务从停顿到恢复的所需时间。系统越重要,要求 RTO 越小


RPO(Recovery Point Objective)

IT系统崩溃后,可以恢复到某个历史时间点,从历史时间点到灾难发生的时间点的这段时间长度就称为RPO。RPO用于衡量业务恢复所允许丢失的数据量。系统越重要,要求 RPO 越小。如果做数据备份,RPO越小意味着数据的备份频率更高,比如一般的系统可能一天备份一次,非常重要的系统可能一小时备份一次;如果做数据同步,RPO越小意味着要求数据同步链路的可靠性更高或延迟更低,对整个生产环境和网络的压力越大,需要的成本也更高。

image-20231008165535312.png

从上图可以直观看出,RPO是 “备份时间点” 到 “IT系统出现故障” 的时间长度,RTO是指 “IT系统出现故障” 到 “IT系统恢复正常” 的时间长度。

在RPO的这段时间内,存在一部分实际数据的丢失,所以一般认为RPO越小,丢失的数据量就越小。在RPO+RTO的这段时间内,本来有预期的业务数据增长,但由于IT系统故障需要时间修复,这部分的预期增长就损失掉了。可见RTO+RPO越小,对业务营收的损失也就越小。因此,越重要的业务越需要保证RPO和RTO趋近于0,当然所需要的投入也就越大。RPO和RPO也成为衡量灾难恢复的最核心指标。


数据冷备
  • RPO/RTO/可用性:分钟/小时&天级。

  • 目标:应对现网业务数据恶意删除、误删除、损坏,丢失场景。

  • 方案:硬件存储、S3\OBS等离线冷备。

  • 优缺点:方案简单、业务透明、提升数据持久性能力;不足:恢复时效性极差。


主备容灾 (温备)
  • RPO/RTO/可用性:分钟/小时级/99.9%。

  • 目标:应对主站灾难时,将流量切换至备站。

  • 方案:业务主备对等部署,数据单向异步同步,主站承载100%流量。

  • 优缺点:方案简单、业务改动少;不足:恢复时效性差、可恢复性及数据一致性风险大、资源可扩展性差。


同城双活
  • RPO/RTO/可用性:0/秒级/99.99%。

  • 目标:应对同城单AZ级故障双AZ各承担50%流量。

  • 方案:业务SET单元化、数据实时同步&强一致性保障等。

  • 优缺点:业务同城双活容灾;不足:业务需改造、资源可展性差数据库需支持双AZ强一致能力。


异地多活
  • RPO/RTO/可用性:秒级/分钟级/99.995%。

  • 目标:应对区域性灾难,各Region等比均摊流量。

  • 方案:业务SET单元化、DRC数据异步同步&最终一致性保障等。

  • 优缺点:业务异地多活容灾,兼顾同城双活+主备能力、资源可扩展性优;不足:业务需改造、数据同步能力要求高。


4. 容灾建设:寻找成本与业务影响的平衡点

image-20231007222647561.png

传统的自建容灾方案复杂成本高

  • 复杂度高

    涉及服务器、网络、存储等各种系统。

    涉及多厂商、异构环境,兼容复杂。

  • 成本高,利用率低

    机房建设,服务器购买,投入大。

    冗余资源利用率低。

  • 数据量大,弹性能力弱

    基于预规划资源,弹性空间小。

  • 管理难度大

    难以具备演练条件。

    恢复步骤复杂。


5. 业务多云部署架构下面临的关键问题

image-20231007222346934.png

  • 流量管理方式

    单云/单中心情况下,流量只需要唯一入口。

    多云情况下,流量入口的可靠性怎样保证?

  • 业务管理方式

    业务分布在多云,怎样保证一致性。

    业务部署单元与所在的云之间,如何保证尽可能配套?

  • 数据管理方式

    多云情况下的数据一致性保证。

    业务能否实现就近的读写。

  • 多云本身的管理方式

    云平台层面的故障怎样保障?


二、UCS跨云多活容灾方案介绍

1. 应用跨云多活的关键技术

image-20231007223011444.png

  • 流量层多活

    流量统一接入。

    流量治理分发。

  • 应用层多活

    应用的多活架构部署。

    应用与数据的联动。

  • 数据层多活

    跨云的数据同步。

    数据一致性的保证。

  • 基础设施层多活

    跨云基础设施统一管理、跨云调度。

    跨云弹性和容灾切换。


2. 流量层多活:流量统一接入管理

image-20231007223210685.png

打通跨云跨集群容器网络,实现统一流量管理

  • 构建全局容器网络,实现跨云跨集群扁平化互通能力,对流量进行统一治理和管理,达到业务体验一致和通讯安全可靠的目标。

跨云实现南北向流量分发

  • 支持流量基于地域、权重、访问者网段等进行分发。

全局流量治理中心统一管理

  • 跨云多集群统一服务注册,服务网格管理。

  • 支持多种流量管理策略(重试,超时,熔断,负载均衡等)。

全局服务治理中心实现可视化的跨云服务治理

  • 通过服务网格能力支持跨云多集群服务接入和流量管理,自动化灰度发布,服务拓扑可视化,调用链等。

3. 流量层多活:全域应用流量治理

image-20231007223536721.png

跨地域故障倒换

根据配置的故障倒换策略,在一个地域的后端实例发生故障时,将部分流量转移到其他地域的健康实例上去,根据实例上的位置标签的优先级或权重控制倒换的流量比例。

区域流量切分

根据配置的切分策略中描述的流量比例,控制将流量切分到不同地域的实例上。灵活地支持多云或混合云场景下的流量迁移。

全局负载均衡

在跨地域的服务实例上进行根据配置的负载均衡策略进行全局负载均衡,将流量均衡地分发到舰队管理的多云混合云的多个集群的所有服务后端实例上。

访问亲和性

在全局负载均衡的基础上,基于配置的访问亲和性策略,根据服务实例上的地域信息优先将流量分发到同地域的服务实例上,实现亲和性访问。


4. 应用层多活:跨云统一部署管理、统一监控运维

image-20231007223725501.png

基于Karmada的多云应用统一管理

  • 多云应用统一发布。
  • 多云差异灵活管理。
  • 多云监控一站收集查看。

5. 应用层多活:云原生容器跨云统一调度,优化资源使用

image-20231007223847047.png

支持大规模云原生节点协同调度,提升资源利用率

  • 某于Karmada内核,支持1000个分布式集群的统一接入,百万级节点资源协同调度,秒级响应。

多种策略跨云分发计算实例,优化资源

  • 可设置集群权重,自动分发实例集群label组合条件设置,基于条件进行实例分发。

根据资源监控,动态调度优化资源使用

  • 基于资源分布、负载,结合地理位置、网络QoS、亲和性、资源均衡度,实时调优部署分布。

集群自动跨云自愈,提升可用性

  • 实时监控,集群故障时快速自动化应用实例。

集群自动跨云弹性伸缩,资源高效

  • 基于业务需求,应用伸缩可根据不同集群的权重进行实例分配,可设置优先级。

6. 应用层多活:利用SDK实现应用的访问数据自动切换

image-20231007224113857.png

业务痛点

  • 传统应用无法在故障时自动切换数据访问。

方案描述

  • 通过SDK改造访问数据源的方式,从而实现故障时或流量切换时的数据源访问的自动切换。

  • 业务流程①:用户APP集成MAS-SDK,连接MAS-DCG-ETCD获取健康数据源集群信息。

  • 业务流程②:MAS-SDK连接数据源集群

    可以实现DB读写分离,支持随机、轮询的负载均衡算法。

    可自定义指定数据源进行数据访问,用户也可以通过注解方式指定数据源以及主从进行数据读写。

方案价值

  • 提供多种数据源对应的SDK,连接MAS-DCG获取当前应访问的数据源信息,并连接数据源。故障时自动切换无中断。

7. 数据层多活:跨云数据多活同步,支持自由倒换

image-20231007224231508.png

数据复制服务

  • (Data Replication Service,简称为DRS)是一种易用、稳定、高效,用于数据库在线迁移和数据库实时同步的云服务。

秒级RPO&RTO

  • 优于《信息安全技术信息系统灾难恢复规范》灾备等级第五级,物理距离1500公里,秒级时延(网络良好、小事务时)。

自由主备倒换

  • Active-Standby 模式,可在业务数据库和灾备数据之间自由升主降备,填补业界常见的单向灾备短板。

数字化管理

  • 数据化监控管理平台,清晰展示了RPO、RTO、带宽、网络、读取、写入、数据健康报表等,提供最清晰可控的灾备环境。

8. 基础设施层多活:跨云、跨地域集群统一接入、全生命周期管理

image-20231007224326154.png

跨云统一K8s集群生命周期管理

  • 跨云、跨地域统一接入K8s集群。
  • 形成统一管理视图,包括资源使用情况。
  • 华为云CCE自动接管。
  • 第三方集群接入管理。
  • 支持集群注册、解注册,通过outbound方式接入管理,安全可靠。
  • 支持集群k8s资源生命周期管理,如工作负载service\ingress等。

跨云集群统一配置,简化管理

  • 支持统一管理多集群的配额。
  • 支持通用集群配置信息定义,规范核对。
  • 支持配置信息版本管理。
  • 支持配置信息统一多集群下发。

9. 基础设施层多活:云原生应用和数据一致性灾备、跨云一键迁移

image-20231007224449045.png

屏蔽存储差异性,实现一键迁移

  • 传统迁移,由于存储差异性导致IDC搬迁上云困难,工作量大。
  • UCS支持容器资源和PV卷一体化,实现一键迁移不再困难重重。

数据与业务一体化迁移

围绕应用构建自动化的应用迁移、克隆能力实现数据同步复制能力。

  • 定义容器应用数据模型:围绕应用数据建模,支持自动发现数据,支持用户自定义数据。
  • 多层次数据复制:存储设施层(依赖华为云基础设施),中间件数据层(依赖中间件服务),容器集群层,多场景数据备份恢复能力,可通过自动化及关联指导,降低工程人力耗费。
  • 数据随应用跨区弹性伸缩:零人工干预,容器应用资源及关联PV卷数自动数据扫描和重建,降低数据备份恢复耗时。

支持的备份迁移场景

场景1、跨云异构K8s应用与数据一体化备份迁移

  • 支持云原生应用一致性灾备迁移。
  • 云原生应用关联的负载配置数据、存储卷数据等一键迁移。
  • 支持集群、namespace等多粒度管理迁移。

场景2、多种备份恢复策略

  • 支持定时备份。
  • 支持备份恢复前后的客户自定义操作。
  • 支持备份恢复时资源配置自定义转换(命名空间,镜像,存储类等)。

场景3、不同集群一键式自动迁移

  • 支持跨云、不同厂商的K8s集群自动迁移上云,一键式自动化完成应用数据的扫描,备份以及目标集群的恢复。

场景4、云原生应用业务灾备

  • 结合UCS集群统一管理,数据一致性备份恢复,多集群的跨地域跨云流量治理能力,实现云原生应用的灾备管理。

10. 应用多活容灾架构:以 UCS+MAS+DRS 为核心的全栈多活容灾能力

image-20231007224656355.png

应用连续性

  • “管理-流量-应用-数据”提供端到端健康仲裁。
  • 多活高可用管控,99.999% 业务高可用保障。
  • 秒级 RTO 与RPO。

数据高可靠

  • Active-Standby 模式数据库自由主备切换。
  • 数字化监控管理,清晰展示数据全维度信息。
  • 优于第五级灾备等级。

多云统一管理

  • 多云多集群统一管理,降低运维复杂度。
  • 无入侵实现跨云智能流量治理。
  • 应用跨云极速弹性,故障跨云跨region自动迁移。

应用高可用,保障连续性

  • 系统故障灾难带来的影响不可预估,通过多云多活能力提高业务的连续性。

避免单厂商绑定

  • 多云的方式能让企业复用云厂商能力的同时也能享受厂商带来的服务。

技术演进练兵场

  • 多云的方式实现架构演进演练跟隔离验证,保障业务稳定的同时持续创新。

11. 应用容灾典型架构一:多云多活,数据库手动切换,实现低成本的业务高可靠

image-20231007224900656.png

主打优势

  • 业务无改造。
  • 应用弹性伸缩。
  • 异常自动切流。
  • 容灾成本低。

方案架构

接入层,异常自动切流(UCS + DNS +ELB)

  • DNS 统一管控,异常流量及时摘除。
  • Region 级 ELB,高可靠保障入口流量分发。

应用层,低成本热部署(UCS+CCE Turbo)

  • 多云多Region 统一运维管理,降低运维复杂度。
  • 应用自动弹性伸缩,低成本热部署。

数据层,可靠数据同步(DRS)

  • Redis 作为缓存服务,提供本地加速缓存能力。
  • MySQL数据同步,高可靠保障数据一致性。

12. 应用容灾典型架构二:应用跨云多活数据库主备全流程故障自动切换

image-20231007225041103.png

主打优势

  • 业务双活。
  • 全链路智能巡检。
  • 数据主备自动切换。
  • 流量智能治理。

方案架构

接入层,策略分流(MAS+DNS+APIG)

  • DNS基于策略分流,异常流量及时摘除。
  • APIG后端服务异常巡检,流量精准分发。

应用层,流量智能治理(UCS + CCE Turbo)

  • 流量智能治理,无侵入式提供亲和访问,熔断降级。
  • 本地 SDK 探测,中间件主备集群切换,应用无感知。

数据层,可靠数据同步(DTS + DRS)

  • Redis 支持SDK双写或工具同步,保障数据一致性。
  • MySQL支持双向同步,数据冲突校验。

13. 跨云多活:ROI最优解

一、提升业务连续性,减少切换时间
  • 冷备和热备都有一定的故障切换时间,对业务有一定影响。
  • 双活几乎是零切换时间,对业务影响最小。

二、提升资源利用率(资源充分利用)
  • 和冷备、热备不同,资源充分利用,全部用于业务流量,冷备和热备均有一部分计算资源闲置。
  • 故障从单云切换到其他云,利用公有云的弹性,按需计费。而无论是冷备还是热备,都需要预留两倍资源,预留给故障切换。

三、支持业务敏捷,应用架构灰度升级
  • 通过多活架构的流量管控、灰度发布,可以把少量流量引入升级的整体应用系统做灰度验证,支持业务应用架构不断在线演进,提升业务创新支撑能力。

四、可靠性增强,减少故障半径(实现应用端到端SLA突破99.999%)
  • 服务可以扩展到多个机房:解决实时业务无法跨云多区域部署的问题。
  • 能够应对整个机房级别的故障,整体可用性更高:单云/机房故障后,业务不中断。

五、业务部署灵活,扩展性增强
  • 架构可跨云跨IDC部署,流量灵活负载——多入口,灵活配比资源比例。
  • 多云系统容量线性扩展,容量提升更加方便一一单云可部署的业务承压降低。

六、避免绑定,优化服务与商务

  • 避免被单云厂商绑定。
  • 业务可灵活部署IDC与云,根据流量切分,平滑迁移。择优选择资源与服务。

三、UCS应用跨云多活部署场景演示

1. 云应用多活容灾,构建高可用应用

image-20231007225535860.png

业务痛点分析

  • 系统可用性挑战大:系统故障灾难带来的影响不可预估,每一次的灾难都会造成巨大的损失,包括经济上、品牌上、数据安全。
  • 不同云之间的兼容性,云厂商锁定:由于不同云之间API、服务协议和基础架构的差异,集成多个云环境以进行灾难恢复可能会出现兼容性问题。

方案价值

  • 应用高可用,保障连续性:跨集群流量分发、跨集群弹性伸缩、跨集群应用故障迁移,并基于云原生技术,生态统一。
  • 降低成本、系统容量弹性扩容:相比传统的灾备系统,应用多活解决了资源的可复用问题,动态的流量调控,快速弹性和扩容,同时保障业务数据的实时性和安全性。
  • 技术演进练兵场:多活本质上提供了一种流量跟架构的隔离能力,通过多活的方式实现架构演进的演练跟隔离验证,保障业务稳定的同时能持续创新。

2. 演示步骤简介

业务架构

1、应用层:华为云CCE Turbo集群和阿里云ACK集群组成跨云双集群,通过UCS实现应用的统一调度。

2、流量层:华为云CCE Turbo集群和阿里云ACK集群通过LB作为各自流量入口,并通过GSLB实现全局的跨集群的流量分担和调度。

3、数据层:数据库读写分离,适用于时延敏感的场景,读性能加速。读多写少业务写单边,读本地。


演示步骤

前置工作

在UCS控制台中,容器舰队fleet-template有2个集群,一个是华为云的CCE,一个是阿里云的ACK。

image-20231009100224086.png


1、跨云流量分发

基于域名访问设置应用访问统一入口,采用自适应模式的方式对跨云集群的流量进行分发,满足业务请求负载均衡处理诉求,当业务部署在单个集群的实例扩容或故障时,流量分配会根据多个集群的实例数比例进行协调。

新建一个名为new-test的工作负载,并选择好对应的容器镜像和容器。

image-20231009101036725.png

集群的权重配置都选择为 “1” 来创建一个工作负载。

image-20231009100836838.png

image-20231009101534837.png

创建名为new-test 的服务:然后根据容器的访问端口,创建对应的端口配置,演示中创建了8080和8081两个端口 ,分别用于访问容器的WEB页面和做调试;之后在部署集群中选择阿里云的ACK和华为云的CCE。

image-20231009101449388.png

创建成功会看到状态显示为:正常。

image-20231009102024993.png

之后创建名为new-test的域名访问,选择自适应模式并可在流量拓扑图中观察到比例各为50%。

image-20231009102335224.png

创建成功后,即可复制访问地址进行测试访问,当看到页面访问成功即此演示完毕。

image-20231009102811841.png

image-20231009103236546.png


2、跨云弹性伸缩

基于CPU利用率设置跨集群弹性伸缩策略,在多云集群之间根据集群的实际状态设置触发策略和扩容优先级,满足业务高峰所需。

创建一个名为new-test的指标伸缩策略,然后在系统规则中选择CPU利用率,期待值为20%

image-20231009103606343.png

image-20231009103700713.png

之后可在CCE的控制台中,使用调试命令让负载高起来继而触发伸缩策略。

image-20231009104201979.png

之后观察工作负载,可发现阿里云的ACK新增一个实例,数量为2。

image-20231009104507642.png

在域名访问中,也可观察到比例为2 : 1

image-20231009104715210.png

至此演示完毕。


3、跨云故障迁移

在某一方云集群发生故障后,将故障集群实例自动迁移到另一方云双活集群,同时流量随之导向健康集群,实现业务跨云高可用。

可以用设置污点的形式来模拟故障。首先在阿里云ACK设置如下污点设置:

image-20231009105106807.png

污点设置完毕后,可在工作负载中观察到副本已全部运行在华为云的CCE中。

image-20231009105810983.png

在域名访问框中,也可以观察到流量已经全部走华为云CCE,在流量拓扑也可观察到比例。

image-20231009110451430.png

image-20231009110606946.png

最后返回到页面进行测试访问,当看到页面访问成功即此演示完毕。

image-20231009103236546.png


四、总结

  • 随着应用部署的架构逐渐由单云迁移至混合云和多云,怎样更合理的利用多云来提升应用的可靠性,并尽量控制企业的成本最优,成为企业需要思考的问题。
  • UCS基于karmada的多云应用统一调度管理、全域流量分发、跨云弹性和迁移能力,能够实现应用的多活和最小化的资源消耗;在故障发生时的流量调整,以及节点和容器的快速弹性,保证应用受故障影响最小化,实现应用的持续稳定工作。当UCS结合MAS,能够提供数据层面的跨云高可用保障,在入口层、应用层、数据层实现全方位的多活容灾能力。
  • 场景演示:通过UCS的流量分发和跨云弹性,实现应用的跨云多活容灾能力。

本文参与华为云社区【内容共创】活动第24期。

【内容共创】活动第24期活动详情:https://bbs.huaweicloud.com/blogs/411680

任务34.UCS跨云多活容灾:让业务高可用不再是难题

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

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

相关文章

R语言生物群落(生态)数据统计分析与绘图丨tidyverse数据清洗、多元统计分析、随机森林、回归及混合效应模型、结构方程模型等

R 语言的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。内容以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线,通过多个来自经…

极简实现酷炫动效:Flutter隐式动画指南第二篇之一些酷炫的隐式动画效果

目录 前言 1.弹性放大按钮效果 2.旋转和缩放组合动画 3.颜色渐变背景动画 4.缩放进出效果 前言 在上一篇文章中,我们介绍了Flutter中的隐式动画的一些相关知识,在这篇文章中,我们可以结合多个隐式动画 Widget 在 Flutter 中创建一些酷炫的视觉效果&…

数字马力二面面试总结

24.03.07数字马力二面面试总结 前段时间找工作,做的一些面试笔记总结 大家有面试录音或者记录的也可以发给我,我来整理答案呀 数字马力二面面试总结 24.03.07数字马力二面面试总结你可以挑一个你的最有挑战性的,有难度的,最具有复杂性的项目,可以简单说一下。有没有和算…

C语言例题练手(1)

前几篇博客的内容已经涉及了C语言的部分语法知识,我们可以尝试做一些编程题,或者换一种说法就是可以写出什么样的程序以此来解决一些问题。 题目来自牛客网https://www.nowcoder.com和C语言菜鸟教程C 语言教程 | 菜鸟教程 数值计算 【例1】带余除法计…

大模型LLama3!!!Ollama下载、部署和应用(保姆级详细教程)

首先呢,大家在网站先下载ollama软件 这就和anaconda和python是一样的 废话不多说 直接上链接:Download Ollama on Windows 三个系统都支持 注意: 这里的Models,就是在上面,大家点开之后,里面有很多模型…

【359】基于springboot的智慧草莓基地管理系统

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本智慧草莓基地管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据…

MongoDB笔记03-MongoDB索引

文章目录 一、前言1.1 概述1.2 MongoDB索引使用B-Tree还是BTree?1.3 B 树和 B 树的对比1.4 总结 二、索引的类型2.1 单字段索引2.2 复合索引2.3 其他索引 三、索引的管理操作3.1 索引的查看3.2 索引的创建3.2.1 单字段索引3.2.2 复合索引 3.3 索引的移除3.3.1 指定索…

string模拟实现流插入(输出)+流提取(输入)

个人主页:Jason_from_China-CSDN博客 所属栏目:C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目:C知识点的补充_Jason_from_China的博客-CSDN博客 string模拟实现clear 模拟实现clear的目的是在流提取的时候我们清空之前的数据&#x…

C++入门基础知识134—【关于C 库函数 - gmtime()】

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C 库函数 - gmtime()的相关内容&#xf…

ERP学习笔记-预处理eeglab

第一步:数据格式转化 import data:读取收集到的原始数据文件.vhdr格式 读取后的样子: 将数据保存为.set文件 第二步:通道定位 读取.set文件 Channel locations部分为unknown,表明通道的坐标未知 增加默认的设置 Chan…

查缺补漏----用户上网过程(HTTP,DNS与ARP)

(1)HTTP 来自湖科大计算机网络微课堂: ① HTTP/1.0采用非持续连接方式。在该方式下,每次浏览器要请求一个文件都要与服务器建立TCP连接当收到响应后就立即关闭连接。 每请求一个文档就要有两倍的RTT的开销。若一个网页上有很多引…

谷歌推出全新AI生成游戏玩法 —— 无限生成角色生活模拟游戏“Unbounded”

随着人工智能技术的飞速发展,游戏行业正迎来前所未有的创新。近日,谷歌宣布了一款名为“Unbounded”的新型游戏,这是一款基于生成式AI技术的角色生命模拟游戏,它将为玩家带来前所未有的开放性和互动性体验。 项目概览 项目名称:Unbounded类型:生成式无限游戏(Generati…

论文阅读:DynamicDet: A Unified Dynamic Architecture for Object Detection

论文地址:[2304.05552] DynamicDet: A Unified Dynamic Architecture for Object Detection 代码地址:GitHub - VDIGPKU/DynamicDet: [CVPR 2023] DynamicDet: A Unified Dynamic Architecture for Object Detection 概要 本文提出了一种名为 DynamicD…

关于在GitLab的CI/CD中用docker buildx本地化多架构打包dotnet应用的问题

关于在GitLab的CI/CD中用docker buildx本地化多架构打包dotnet应用的问题 这是一个DevOps综合性问题docker buildx多架构打包.NET应用的问题用QEMU模拟多架构环境打包 这是一个DevOps综合性问题 网络上的方案都是细分的领域,未见一个集成了GitLabdockerdotnet的多架…

翻译工具开发技术笔记:《老挝语翻译通》app支持语音识别翻译功能,怎么提高语音识别的准确度呢?

《老挝语翻译通》app是一款专为老挝语翻译设计的免费工具,支持文本翻译、老挝文OCR文字识别提取、文字转语音。这款工具以其技术优势和用户友好的界面,为用户提供了便捷的老挝语翻译体验。 技术特点 文本翻译:支持双语输入,提供精…

qt QListView详解

1、概述 QListView 是 Qt 框架中的一个视图类,用于展示模型中的数据。它基于 QAbstractItemView,支持多种视图模式,如列表视图(List View)、图标视图(Icon View)等。QListView 是模型/视图框架…

初识C++(上) -- C++的关键字、命名空间、缺省参数以及函数的重载

目录 一、C的关键字(C98) 二、命名空间 1、命名冲突 2、命名空间 2.1 命名空间的定义 (1). 命名空间定义的例子以及命名空间的嵌套: (2). 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中: 2…

MySQL_客户端工具建库.

前言: 通过前面的学习我们已经了解到什么是数据库,以及数据库是如何安装的,相信大家都已将数据库安装好了,让我们接下来开始新的学习吧!!! 1.MySQL客户端工具 1. MySQL Workbench MySQL :: D…

突破1200°C高温性能极限!北京科技大学用机器学习合成24种耐火高熵合金,室温延展性极佳

在工程应用中,如燃气轮机、核反应堆和航空推进系统,对具备优异高温机械性能的金属合金需求十分旺盛。由于材料熔点的固有限制,传统镍基 (Ni) 高温合金的耐温能力已接近极限。为满足开发高温结构材料的需求,耐火高熵合金 (RHEAs) 于…

leetcode21:合并两个有序列表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 [] 输出:[]示…