当前位置: 首页 > news >正文

解锁微服务:五大进阶业务场景深度剖析

目录

医疗行业:智能诊疗的加速引擎

 电商领域:数据依赖的破局之道

 金融行业:运维可观测性的提升之路

物流行业:智慧物流的创新架构

综合业务:服务依赖的优化策略


医疗行业:智能诊疗的加速引擎

在医疗行业迈向智能化的进程中,NVIDIA 推出的面向医疗应用场景的系列微服务(NIM)堪称一大创举。它融合医学影像分析、自然语言处理等尖端 AI 技术,在药物研发、医学影像解读、基因组学分析等多个医疗核心工作流中发挥着关键作用,实现从筛查、诊断到治疗全程的智能化辅助 。

在药物研发环节,时间就是生命,每缩短一秒研发周期,都可能为无数患者带来生的希望。NVIDIA 的微服务套件中包含生成式化学模型 MolMIM、蛋白质结构预测模型 ESMFold 以及帮助研究人员了解药物分子如何与靶点相互作用的模型 DiffDock 等。这些模型就像一个个不知疲倦的科研助手,通过对数以万亿计的药物化合物进行快速筛选与分析,能够精准地预测药物的活性和潜在副作用,极大地加速了新药的研发进程。过去,研发一款新药可能需要耗费十几年甚至几十年的时间,而现在借助这些微服务,研发周期有望大幅缩短,让更多救命良药能够更快地推向市场。

医学影像解读一直是医疗诊断中的重要环节,但传统的人工解读不仅效率低,还容易受到医生主观因素和疲劳等影响。NVIDIA 的医疗微服务凭借卓越的图像识别能力,能够在肿瘤诊疗等阶段实现精细到微观层面的病变识别。通过对 X 光、CT、MRI 等医学影像的深入分析,它可以敏锐地捕获其中的微妙变化,比如极其微小的肿瘤病灶,为医生提供更详尽精确的病理分析参考,让疾病无处遁形,大大提高了诊断的准确性和及时性。

基因组学分析对于了解疾病的遗传机制、实现个性化医疗至关重要。NVIDIA 的 Universal DeepVariant 微服务相较于在 CPU 上运行的普通 DeepVariant,可将基因组分析工作流中的变体识别速度提高 50 倍以上。这使得科研人员能够更快速地分析患者的基因数据,找出与疾病相关的基因变异,为精准医疗提供有力支持。例如,在癌症治疗中,通过对患者肿瘤基因的分析,医生可以制定出更具针对性的治疗方案,提高治疗效果,减少不必要的治疗副作用。

 电商领域:数据依赖的破局之道

 

在电商的供应链系统里,商品、订单、采购这三个微服务紧密关联,牵一发而动全身。在设计这个系统时,需要满足两个关键需求:一是能够根据商品的型号、分类、生成年份、编码等信息查找订单;二是可以依据同样的商品信息查找采购订单 。

起初,按照严格的微服务划分原则,商品相关的职责被存放在商品系统中。在查询订单与采购单时,如果查询字段包含商品字段,就得按照特定顺序进行查询:先根据商品字段调用商品的服务,返回匹配的商品信息;接着在订单或采购单中,通过 IN 语句匹配商品 ID,再关联查询对应的单据。但随着业务的迅猛发展,商品数量呈爆发式增长,匹配的商品越来越多,订单服务中包含 IN 语句的查询效率急剧下降。商品服务作为核心服务,依赖它的服务与日俱增,商品数据量的不断膨胀让其不堪重负,响应速度越来越慢,甚至频繁出现请求超时的情况。由于商品服务超时,相关服务处理请求也经常失败,业务方每次查询订单或采购单时,只要带上商品关键字,就会遭遇查询效率低下且频繁失败的问题。

为了解决这些问题,数据冗余方案应运而生。简单来说,就是在订单、采购单中保存一些商品字段信息。这样一来,每次查询时就可以不再依赖商品服务。但新的问题又出现了,如果商品进行了更新,如何同步冗余的数据呢?最初设想了两种办法,第一种是每次更新商品时,先调用订单与采购服务,再更新商品的冗余数据。但这种方式存在严重的数据一致性问题,如果订单与采购的冗余数据更新失败,整个操作都需要回滚,这显然不合理,因为冗余数据并非商品服务的核心需求,不能因边缘流程影响核心流程。同时,还会导致严重的依赖问题,商品服务本应专注于商品本身,却因这种方式需要调用众多其他服务,与作为底层核心服务的初衷背道而驰 。

于是,第二种通过消息发布订阅的方案被采用。每次更新商品时,先发布一条消息,订单与采购服务各自订阅这条消息后,再各自更新商品冗余数据。这种方式让商品无须调用其他服务,只需关注自身逻辑,即便订单、采购等服务的更新冗余数据失败,也可使用消息重试机制保证数据的一致性。然而,这个看似完美的方案也存在缺陷。在实际业务中,仅仅保存冗余数据远远不够,还需要将商品分类与生产批号的清单进行关联查询。这意味着每个服务不仅要订阅商品变更消息,还需订阅商品分类、商品生产批号变更等近十种消息,几乎要把商品的一小半逻辑复制过来。而且,每个依赖的服务都需要重复实现冗余数据更新同步的逻辑,导致大量重复代码。此外,MQ 消息类型过多,联调时 MQ 之间的联动极为麻烦,常常不知道某条消息被哪台服务节点消费,为了让特定服务器消费特定消息,需要临时改动双方代码,且联调完成后还容易忘记改回原代码 。

为了彻底解决这些问题,最终采用了解耦业务逻辑的数据同步方案。将商品及商品相关的一些表,如分类表、生产批号表、保修类型、包换类型等,实时同步到需要依赖和使用它们的服务的数据库,并且保持表结构不变。在查询采购、订单等服务中的数据时,直接关联同步过来的商品相关表,同时严禁采购、订单等服务修改商品相关表。为了实现这一方案,项目组经过多方调研,选用了 Bifrost 这款开源中间件。Bifrost 能够模拟成 MySQL 的从库,监听源数据库的 Binlog,然后将数据实时同步到目标数据库,且支持多种目标数据库,正好满足从 MySQL 同步到 MySQL 的需求。它界面管理方便,架构简单,出现问题易于调查,作者更新活跃且自带监控报警功能 。

通过这一系列的优化,商品服务的开发人员可以专注于自身业务逻辑,无需再为数据依赖问题烦恼。需要关联使用商品数据的采购服务等,开发人员也只需在查询时加上关联语句,极大地提高了系统的稳定性和查询效率,为电商业务的高效运转提供了坚实保障。

 金融行业:运维可观测性的提升之路

在金融行业全力推进数字化转型的浪潮下,业务的快速发展带来了日志类型和数量的爆发式增长 。各类软硬件产生的日志数据不仅分散在各个角落,而且繁杂无序,缺乏统一的全生命周期管理以及高效的监控分析处理能力,这给业务监控告警、日志搜索分析和审计溯源等工作带来了极大的阻碍。同时,随着云原生环境中微服务化进程的不断加速,业务系统的微服务化改造虽然带来了诸多优势,但也在运维排障方面竖起了一道道复杂的屏障。

某金融客户在面对这些挑战时,深刻认识到提升运维可观测性的紧迫性和重要性。为了实现云原生可观测性建设这一核心目标,该客户采取了一系列行之有效的措施。

首先是完善管理制度规范。技术平台是为管理服务的,要搭建好技术平台,就必须先梳理和完善管理规范制度。该金融客户与合作方一起,对现有的客户规范以及业内规范展开了全面深入的调研。他们仔细梳理每一个条目,精心总结日志管理规范,并对其能力应用进行了前瞻性的规划。以业务日志的规范化为例,他们进行了 4 层丰富度的详细说明,针对不同级别明确了不同的规范度、可实现的效果以及能达到的能力级别。通过这样细致的规范梳理,能够更准确地评估客户现有不同业务系统及其日志的规范化程度,进而根据客户数字化推进的阶段,合理反推不同业务系统下一步的管理要求 。

其次是建设统一日志平台。管理制度的规范化是实现数字化转型的 “道”,而具体的实现则需要 “术” 的支持,这里的 “术” 就是基于擎创的日志管理平台作为基础底座,构建以可观测性提升为核心的统一日志平台。该平台架构主要分为 4 层,最底层是数据源层及接入层,将日志数据、监控数据、调用链数据等都归为数据源,并针对不同的数据源,运用 agent、syslog、API 等不同的采集技术进行全面纳管。在数据处理层,采用数据中台进行数据缓冲、计算和存储,把原始的基础数据通过规范化、清洗、聚合计算、数据关联等一系列操作,实现从数据到业务运行状态观测的关键转变。在应用层,通过前端提供直观、高效的交互界面,让运维使用方能够轻松操作;在后端及中间件层,则对运行状态观测数据进行缓冲高效查询及部分业务逻辑处理 。

最后是整合观测数据。数据源的丰富度和质量直接决定了可观测性的挖掘深度。在现有的环境中,该金融客户接入了操作系统、数据库、中间件、硬件设备、容器及应用等各类日志及监控数据。在链路层,通过 skywalking 接入了多套业务系统的链路数据,同时在日志中,根据客户规范增加了对应的 TID 标示,用于实现日志及链路数据的深度融合。

通过这一系列的举措,该金融客户在运维可观测性提升方面取得了显著的成效。实现了业务日志的统一查询,能够全局性覆盖主要业务系统,快速高效地查询日志,并通过对部分日志的合并、解析和分析,实现了日志的更高效利用。在此基础上,还开发了如二次查询、全链路排障、数据湖冷备数据查询、上下文行数自动滚动、日志内 xml/json 段格式化、用户使用统计分析等贴合实际生产环境的功能。能够密切关注业务系统运行状态及告警,从日志角度对业务系统进行统计分析,快速了解系统的整体概览状态。实现了业务日志全链路串联,打通统一日志系统与 Skywalking 的数据,通过中间层处理,用 TID 在日志及 Skywalking 中做上下文关联,通过全局流水号、业务流水号或任意内容搜索,就能获取业务系统详细日志及链路信息,实现了排障一体化解决,同时还能直观方便地了解业务系统中业务拓扑及单笔交易的链路拓扑,为排障提供了极大的便利 。整合了监控内容,减少了运维场景下在不同平台之间的跳转,大大提升了运维效率。对接原有数据湖,实现数据双写,一份用于日常查询排障,存储容量限制后定期滚动删除;另一份存储于数据湖内长期保存,用于审计场景,并且实现了冷备数据的在线查询,以及更高的压缩率和接近热数据查询的查询速度。

物流行业:智慧物流的创新架构

 

在物流行业的数字化变革浪潮中,高达智慧物流中台系统凭借其创新的微服务架构,成为推动行业发展的重要力量 。该系统主要为自建物流公司或整合物流公司精心设计,致力于解决传统物流模式中效率低下、成本高昂等难题。

在功能板块上,它涵盖了合同管理、运单管理、智能调度等多个关键领域,并全面支持北斗定位以及物流货主、承运商、司机之间的在线协同。以合同管理为例,传统的物流合同管理往往依赖人工操作,不仅效率低下,而且容易出现合同条款遗漏、审批流程繁琐等问题。而在高达智慧物流中台系统中,合同管理实现了数字化和自动化。从合同的起草、审批到签订,每一个环节都在系统中清晰呈现,大大缩短了合同处理周期,降低了人为错误的风险 。

运单管理同样实现了质的飞跃。在传统物流模式下,运单信息分散在各个环节,查询和跟踪极为不便。而该系统通过统一的运单管理平台,实现了运单信息的实时共享和全程跟踪。无论是货主、承运商还是司机,都可以通过移动端随时查询运单的最新状态,如货物的位置、预计送达时间等,真正做到了信息透明化 。

智能调度是该系统的核心亮点之一。在实际物流运输中,车辆的调度和分配是一个复杂的问题,涉及到货物的重量、体积、运输路线、车辆的载重和续航能力等多个因素。传统的调度方式往往依赖人工经验,难以实现最优的资源配置。高达智慧物流中台系统的智能调度策略系统则通过对承运商的各项指标参数,如运输任务响应效率、派车及时率、运输破损率、回单及时率、客户满意度等进行综合评定打分,基于评定结果自动推荐承运商及自有车辆资源完成派单。这种智能化的调度方式不仅提高了运输效率,还降低了运输成本 。

在运输链精细化管理方面,该系统通过合同管理、计划管理、调度管理、财务管理、司机端货主端协同等多个环节的紧密配合,实现了运输链的全方位优化。例如,在财务管理方面,系统能够自动生成运费结算清单,根据不同的计费规则,如按月、按重量、按时间、按次数等进行费用统计,大大提高了财务结算的效率和准确性 。

在实际应用中,该系统的优势得到了充分体现。某大型物流企业在引入高达智慧物流中台系统后,通过智能调度实现了车辆利用率提高 30%,运输成本降低 20%。同时,通过实时定位和轨迹跟踪功能,货物的准时送达率从原来的 80% 提升到了 95% 以上,客户满意度大幅提升 。

综合业务:服务依赖的优化策略

 

在一个包含商品、订单、加盟商、门店(运营)、工单(门店)等多个服务的综合业务系统中,存在着复杂的服务依赖关系 。该系统有两个 App,一个面向客户,另一个供公司员工和加盟商员工使用,涉及总部商品管理、总部门店管理、加盟商员工、门店人员等多种角色,且每个部门内部还有更细致的角色划分 。

在这样的架构下,网关层承担着路由、认证、监控和限流熔断等重要职责。它负责将所有请求根据 URI 指向对应的后台服务,对请求进行集中认证鉴权,记录 API 请求数据以进行管理和性能监控,以及在流量过大或后台服务出现问题时进行限流和熔断操作 。

然而,随着业务的不断发展,这个看似完美的架构逐渐暴露出一些问题。例如,许多页面需要展示多个服务的数据,像 App 首页,对于门店运营人员,要展示工单数量、最近的工单、销售订单数据、最近待处理的订单以及低于库存安全值的商品等信息。这就导致在接口设计时,经常需要纠结该把接口放在哪个服务中,决策效率低下,职责划分也不够统一 。

另外,用户的一个提交操作往往需要修改多个服务的数据,比如一个工单操作,可能要同时修改库存、销售订单状态和工单数据。由于这类需求众多,服务之间的调用关系变得错综复杂,严重影响了系统的迭代和维护 。

为了解决这些问题,项目组决定抽象出一个 API 层。客户端的接口通常有聚合、分布式调用和装饰这三种需求。聚合是指一个接口需要将多个后台服务返回的数据进行整合,然后返回给客户端;分布式调用是指一个接口可能需要依次调用多个后台服务,以实现对多个后台服务数据的修改;装饰则是指一个接口需要对后台返回的数据进行重新处理,比如删除某些字段或者对某些字段进行封装,使其符合客户端的需求 。

在客户端与后台服务之间增加 API 层后,所有请求经过网关都由这个共用的 API 层处理,API 层通过调用其他后台服务来完成相应功能。这样一来,接口放置的纠结情况大幅减少,若涉及聚合、装饰、分布式调用的逻辑,都放在 API 层;若涉及数据存储或查询数据库的逻辑,则根据目标数据所在的服务来确定逻辑位置 。同时,后台服务之间的依赖也显著减少,目前主要是 API 层调用各个后台服务 。

但新的问题随之而来,即客户端适配问题。系统中有 App、H5、PC 网页、小程序等多种客户端,不同客户端的页面需求存在差异。例如 App 功能较多,页面可能要求包含更多信息;而小程序追求轻量化,相同页面所需的数据可能较少 。这就导致后台服务的同一个 API 需要为不同客户端进行不同的适配 。而且,客户端经常会有一些细微的改动,如增加或减少一个字段,为了降低响应速度,需遵循数据最小化原则,这使得后台服务需要频繁发布新版本 。再加上后台服务版本发布时要同时考虑不同客户端的兼容问题,进一步增加了系统的复杂度 。

为了解决客户端适配问题,引入了 BFF(Backend for Frontend)设计模式。BFF 的主要理念是为每种客户端提供专门的 API 服务。不同的客户端请求经过同一个网关后,会分别重定向到为其设计的 API 服务。例如,微信小程序有专门的 WX API 服务 。由于每个 API 服务只针对一种客户端,因此可以针对特定客户端进行优化,使逻辑更简洁高效,响应速度也比通用的 API 服务更快,因为无需判断不同客户端的逻辑 。

相关文章:

解锁微服务:五大进阶业务场景深度剖析

目录 医疗行业:智能诊疗的加速引擎 电商领域:数据依赖的破局之道 金融行业:运维可观测性的提升之路 物流行业:智慧物流的创新架构 综合业务:服务依赖的优化策略 医疗行业:智能诊疗的加速引擎 在医疗行业迈…...

java入门笔记基础语法篇(4)

变量 在Java中,每个变量都有一个类型(type)。在声明变量时,变量的类型位于变量 名之前。例如: int days; double salary; long earthPopulation; boolean done; 在Java中,每个声明以分号结束。变量名必须…...

java语法学习

目录 一、基础语法 1.注释 2.关键字 3.字面量 4.变量 定义与使用 存储 5.数据类型 6.标识符 7.集成环境 二、运算符 1.概念 2.种类 算术运算符 除法与取模 转化规则 自增减 赋值运算符 关系运算符 逻辑运算符 短路运算符 三元运算符 其它运算符 三、流…...

装饰SpringMVC的适配器实现响应自动包装

文章目录 1.common-tool-starter1.目录结构2.ResultWrapper.java 2.common-web-starter1.目录结构2.IgnoredResultWrapper.java 自定义注解,忽略对返回结果的自动包装3.ReturnValueHandlersDecorator.java 对适配器进行扩展的装饰器4.WebAutoConfiguration.java 将装…...

【Rust自学】15.4. Drop trait:告别手动清理,释放即安全

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 15.4.1. Drop trait的意义 类型如果实现了Drop trait,就可以让程序员自定义当值…...

【算法】【归并排序】AcWing 算法基础 788. 逆序对的数量

题目 给定一个长度为 n 的整数数列&#xff0c;请你计算数列中的逆序对的数量。 逆序对的定义如下&#xff1a;对于数列的第 i个和第 j 个元素&#xff0c;如果满足 i<j且 a[i]>a[j]&#xff0c;则其为一个逆序对&#xff1b;否则不是。 输入格式 第一行包含整数 n&#…...

一个局域网通过NAT访问另一个地址重叠的局域网(IP方式访问)

正文共&#xff1a;1335 字 7 图&#xff0c;预估阅读时间&#xff1a;4 分钟 现在&#xff0c;我们已经可以通过调整两台设备的组合配置&#xff08;地址重叠时&#xff0c;用户如何通过NAT访问对端IP网络&#xff1f;&#xff09;或仅调整一台设备的配置&#xff08;仅操作一…...

05-机器学习-数据标注

一、学习数据标注的核心目标 数据标注不仅是“打标签”&#xff0c;而是理解数据与AI模型之间的桥梁。需要掌握&#xff1a; 标注技术&#xff1a;不同任务类型的标注方法&#xff08;如分割、实体识别&#xff09;。标注工具&#xff1a;高效使用专业工具&#xff08;如CVAT…...

LQ1052 Fibonacci斐波那契数列

题目描述 Fibonacci斐波那契数列也称为兔子数列&#xff0c;它的递推公式为&#xff1a;FnFn-1Fn-2&#xff0c;其中F1F21。 当n比较大时&#xff0c;Fn也非常大&#xff0c;现在小蓝想知道&#xff0c;Fn除以10007的余数是多少&#xff0c;请你编程告诉她。 输入 输入包含一…...

AWTK 骨骼动画控件发布

Spine 是一款广泛使用的 2D 骨骼动画工具&#xff0c;专为游戏开发和动态图形设计设计。它通过基于骨骼的动画系统&#xff0c;帮助开发者创建流畅、高效的角色动画。本项目是基于 Spine 实现的 AWTK 骨骼动画控件。 代码&#xff1a;https://gitee.com/zlgopen/awtk-widget-s…...

分库分表后如何进行join操作

在分库分表后的系统中&#xff0c;进行表之间的 JOIN 操作比在单一数据库表中复杂得多&#xff0c;因为涉及的数据可能位于不同的物理节点或分片中。此时&#xff0c;传统的 SQL JOIN 语句不能直接用于不同分片的数据&#xff0c;以下是几种处理这样的跨分片 JOIN 操作的方法&a…...

arkui-x 前端布局编码模板

build() {Column() {Row() {// 上侧页面布局实现}// 下侧页面布局实现}.width(Const.THOUSANDTH_1000).height(Const.THOUSANDTH_1000).justifyContent(FlexAlign.SpaceBetween).backgroundImage($r(app.media.background_xxx)).backgroundImageSize(ImageSize.Cover).backgrou…...

宝塔面板SSL加密访问设置教程

参考:https://www.bt.cn/bbs/thread-117246-1-1.html 如何快速使用证书加密访问面板 因早期默认未开启https访问所以没有相关的风险提醒&#xff0c;现面板默认已开启https加密访问、提升安全性 由于采用的是服务器内部本身签发证书&#xff0c;不被公网浏览器信任请参考以下步…...

c++ set/multiset 容器

1. set 基本概念 简介&#xff1a; 所有元素都会在插入时自动排序本质&#xff1a; set/multiset属于关联式容器&#xff0c;底层结构是用二叉树实现。set 和 multiset 区别&#xff1a; set容器不允许有重复的元素。 multiset允许有重复的元素。2. set 构造和赋值 构造&a…...

前部分知识复习02

一、物体的屏幕UV坐标 float2 ScreenUV i.pos.xy / _ScreenParams.xy; 二、抓取屏幕图像 GrabPass{" _A "} //_A为贴图图像名称 之后需在Pass中声明该贴图才能在Pass中引用此贴图 三、屏幕抓取并制作热效应代码 Shader"unity/HeatDistort 07" {Pr…...

开发环境搭建-3:配置 JavaScript 开发环境 (fnm+ nodejs + pnpm + nrm)

在 WSL 环境中配置&#xff1a;WSL2 (2.3.26.0) Oracle Linux 8.7 官方镜像 node 官网&#xff1a;https://nodejs.org/zh-cn/download 点击【下载】&#xff0c;选择想要的 node 版本、操作系统、node 版本管理器、npm包管理器 根据下面代码提示依次执行对应代码即可 基本概…...

kotlin内联函数——let,run,apply,also,with的区别

一、概述 为了帮助您根据使用场景选择合适的作用域函数&#xff08;scope function&#xff09;&#xff0c;我们将对它们进行详细描述并提供使用建议。从技术上讲&#xff0c;许多情况下范围函数是可以互换使用的&#xff0c;因此示例中展示了使用它们的约定俗成的做法。 1.…...

【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置

【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置 文章目录 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数…...

数据结构与算法-要点整理

知识导图: 一、数据结构 包含:线性表(数组、队列、链表、栈)、散列表、树(二叉树、多路查找树)、图 1.线性表 数据之间就是“一对一“的逻辑关系。 线性表存储数据的实现方案有两种,分别是顺序存储结构和链式存储结构。 包含:数组、队列、链表、栈。 1.1 数组…...

Fort Firewall:全方位守护网络安全

Fort Firewall是一款专为 Windows 操作系统设计的开源防火墙工具&#xff0c;旨在为用户提供全面的网络安全保护。它基于 Windows 过滤平台&#xff08;WFP&#xff09;&#xff0c;能够与系统无缝集成&#xff0c;确保高效的网络流量管理和安全防护。该软件支持实时监控网络流…...

Nginx实战技巧(Practical Tips for nginx)

引言 简介 ‌Nginx&#xff08;发音为 "engine-x"&#xff09;是一个高性能的HTTP和反向代理服务器.‌ Nginx以其高并发处理能力、低资源消耗和灵活的配置而闻名&#xff0c;适用于高流量的Web服务器和应用程序。‌ Nginx的主要功能包括&#xff1a; ‌HTTP服务器…...

YOLOv8:目标检测与实时应用的前沿探索

随着深度学习和计算机视觉技术的迅速发展&#xff0c;目标检测&#xff08;Object Detection&#xff09;一直是研究热点。YOLO&#xff08;You Only Look Once&#xff09;系列模型作为业界广受关注的目标检测框架&#xff0c;凭借其高效、实时的特点&#xff0c;一直迭代更新…...

解锁数字经济新动能:探寻 Web3 核心价值

随着科技的快速发展&#xff0c;我们正迈入一个全新的数字时代&#xff0c;Web3作为这一时代的核心构成之一&#xff0c;正在为全球数字经济带来革命性的变革。本文将探讨Web3的核心价值&#xff0c;并如何推动数字经济的新动能。 Web3是什么&#xff1f; Web3&#xff0c;通常…...

Lua 环境的安装

1.安装Lua运行环境 本人采用的是在windows系统中使用cmd指令方式进行安装&#xff0c;安装指令如下&#xff1a; winget install "lua for windows" 也曾使用可执行程序安装过&#xff0c;但由于电脑是加密电脑&#xff0c;最后都已失败告终。使用此方式安装可以安…...

Object类(2)

大家好&#xff0c;今天我们继续来看看Object类中一些成员方法&#xff0c;这些方法在实际中有很大的用处&#xff0c;话不多说&#xff0c;来看。 注&#xff1a;所有类都默认继承Object类的&#xff0c;所以可调用Object类中的方法&#xff0c;如equals&#xff0c;也可以发生…...

汽车网络信息安全-ISO/SAE 21434解析(中)

目录 第七章-分布式网络安全活动 1. 供应商能力评估 2. 报价 3. 网络安全职责界定 第八章-持续的网络安全活动 1. 网路安全监控 2. 网络安全事件评估 3. 漏洞分析 4. 漏洞管理 第九章-概念阶段 1. 对象定义 2. 网路安全目标 3. 网络安全概念 第十章 - 产品开发 第十…...

fatal error C1083: ޷[特殊字符]ļ: openssl/opensslv.h: No such file or directory

一、环境 1. Visual Studio 2017 2. edk2&#xff1a;202305 3. Python&#xff1a;3.11.4 二、 fatal error C1083: ޷&#xbfab0;ļ: openssl/opensslv.h: No such file or directory 上图出现这个警告&#xff0c;不用管。 出现Done&#xff0c;说明编译成功。 执行上…...

C#System.Threading.Timer定时器意外回收注意事项

System.Threading.Timer定时器使用时会出现意外回收的情况。具体解释如下: 只要在使用 Timer,就必须保留对它的引用。对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。 实例对比测试 实例 定义两个类,其中一个…...

20.Word:小谢-病毒知识的科普文章❗【38】

目录 题目​ NO1.2.3文档格式 NO4.5 NO6.7目录/图表目录/书目 NO8.9.10 NO11索引 NO12.13.14 每一步操作完&#xff0c;确定之后记得保存最后所有操作完记得再次删除空行 题目 NO1.2.3文档格式 样式的应用 选中应用段落段落→开始→选择→→检查→应用一个一个应用ctr…...

vue3底层原理和性能优化

Vue 3 在底层原理和性能优化方面做了许多改进&#xff0c;以下是一些主要的优化点和原理&#xff1a; 1. 虚拟 DOM 的改进 静态树提升&#xff1a;Vue 3 能够检测到静态组件&#xff08;即不依赖响应式数据的组件&#xff09;并将其提升到渲染函数之外&#xff0c;从而减少不…...