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

“Cloud Native English“云原生时代下的微服务架构设计:从理论到实战全解析

 

前引 :技术演进与架构变革的必然性

在数字经济高速发展的今天,软件系统的复杂度呈指数级增长。传统单体架构已无法满足高并发、弹性扩展和快速迭代的需求。根据Gartner预测,到2026年全球75%的企业将完成微服务架构改造。本文将深入探讨云原生微服务架构的设计原则、技术实现和最佳实践,通过完整代码示例展现现代分布式系统的构建方法论

什么是云原生

云原生是一种软件开发和部署的方法论,旨在利用云计算的优势,使应用程序能够更好地适应动态环境和要求。云原生应用程序通常采用微服务架构、容器化部署和自动化管理,以提高应用程序的弹性、可伸缩性和可靠性。云原生还包括使用持续集成/持续部署(CI/CD)、自动化运维和监控等最佳实践来优化应用程序的开发和运行。通过使用云原生方法,组织可以更快地交付功能,并更有效地管理复杂的应用程序环境

微服务架构核心理念

传统单体架构在应对百万级用户量时暴露出根本性缺陷:代码耦合度超过临界值(通常超过50万行)时,模块间调用延迟呈指数级增长。某电商平台案例显示,订单模块与支付模块的强耦合导致支付成功率下降12%,故障恢复时间超过4小时: 

微服务架构通过业务能力边界划分实现结构性解耦,将单体应用分解为多个独立运行的小型服务。每个服务专注于特定业务场景,拥有独立的代码库、数据存储和运行进程。这种架构模式使系统具备以下核心优势:服务独立开发、部署和扩展;技术栈灵活选择;故障隔离机制完善;资源利用率显著提升。例如,某智慧校园平台采用微服务架构后,迎新系统并发处理能力提升3倍,资源消耗降低40%!

某跨国零售企业的架构转型案例颇具代表性:当其单体订单系统日处理量突破500万笔时,模块间耦合度达到临界值,一次简单的库存服务升级导致全站瘫痪6小时。通过引入微服务设计原则,将核心业务拆分为18个独立服务后,系统可用性提升至99.99%,故障恢复时间缩短至分钟级。这个案例印证了:优秀的设计原则是应对复杂系统挑战的底层逻辑

微服务架构通过​​业务能力边界划分​​实现结构性解耦:

(1)服务粒度控制在2000-5000行代码

(2)接口响应时间降低至200ms以内

(3)故障隔离时间缩短至分钟级

// 单体应用典型特征:耦合度极高的服务层
public class OrderService {// 订单处理public Order createOrder() {// 同时调用库存、支付、物流模块inventoryService.checkStock();paymentService.process();logisticsService.schedule();return new Order();}
}

单一职责原则:每个服务对应独立业务能力

每个微服务应对应唯一业务能力,形成高内聚、低耦合的服务单元。以电商系统为例,订单服务仅处理订单生命周期管理,不涉及库存计算或支付流程。这种设计使服务变更影响范围最小化,代码维护复杂度降低60%以上。服务边界定义遵循"业务能力=用户场景×数据模型"公式,确保每个服务的数据模型完整且自治: 

(1)服务边界定义公式:业务能力 = 用户场景 × 数据模型

(2)典型案例:订单服务仅处理订单生命周期,不涉及库存计算

(3)每个服务对应唯一业务能力(示例:订单≠支付)

(4)代码隔离:独立Git仓库+CI/CD流水线

(5)数据隔离:Schema per Service模式

每个微服务应聚焦于单一业务能力,形成高内聚、低耦合的服务单元。这种设计使得服务变更影响范围最小化,代码维护复杂度降低60%以上。以电商平台为例,订单服务仅处理订单生命周期管理,不涉及库存计算或支付流程。当支付系统升级时,订单服务无需任何代码修改即可通过接口适配新功能

服务边界定义遵循"业务能力=用户场景×数据模型"公式。某物流平台在拆分仓储服务时,将库存管理与仓储位置管理分离为两个独立服务,使库存盘点效率提升40%,同时地理信息服务的故障不再影响核心仓储业务

 去中心化治理:技术栈自由选择

技术栈选择不再受限于统一规范,开发团队可根据服务特性自由选型。高并发API服务适合采用Go语言实现,复杂业务逻辑服务推荐Java生态,实时数据处理场景则可选用Python技术栈。这种灵活性使系统能够充分发挥不同技术的优势,某工业企业数字化转型项目通过混合技术栈实现开发效率提升45% 

打破统一技术栈的桎梏,允许各服务团队根据业务特性选择最优技术方案。高并发API服务可采用Go语言实现协程并发优势,复杂业务逻辑服务适合Java生态的成熟框架,实时数据处理场景则可选用Python的高效计算能力。

某工业互联网平台通过混合技术栈实现创新突破:核心设备控制服务采用C++保证实时性,数据分析服务使用Spark处理TB级数据,移动端接口服务基于Kotlin实现跨平台兼容。这种技术多样性使系统整体性能提升55%,开发效率提高40%

 

容错设计:熔断、降级、限流机制实现

熔断机制通过动态监测服务错误率,自动触发保护状态。当错误率超过阈值时,熔断器在30秒内完成状态切换,避免故障扩散。降级策略保障核心功能可用,如支付失败时自动切换备用支付通道。限流算法采用令牌桶模型,结合动态调整机制应对流量波动,某电商平台在双十一期间成功抵御每秒10万级请求冲击 

每个服务拥有独立数据库,通过Schema隔离实现数据自治。订单服务使用关系型数据库存储交易数据,库存服务采用NoSQL处理高并发读写。数据一致性通过最终一致性模型保障,结合消息队列实现异步通信。某物流平台采用该模式后,库存更新延迟从分钟级缩短至亚秒级。

Closed → Open (错误率>50%持续1分钟)
Open → Half-Open (30秒后)
Half-Open → Closed (成功请求达标)

熔断机制通过动态监测服务错误率,自动触发保护状态。当某支付服务异常率超过阈值时,熔断器在30秒内完成状态切换,阻止故障扩散。配合降级策略,系统可自动切换至备用支付通道,保障核心交易链路可用性

某银行核心系统在双十一期间成功抵御每秒10万级请求冲击,关键在于其智能熔断策略:根据历史流量模型预判资源需求,动态调整线程池参数,使系统吞吐量始终保持在安全阈值内

去中心化数据管理:数据库Per Service

 基于DDD方法论,将业务领域分解为多个有界上下文。仓储领域可拆分为库存管理、仓储位置管理等独立服务,每个服务对应特定业务概念。拆分过程需遵循"高内聚、低耦合"原则,确保服务间通过明确定义的接口交互。某智慧校园平台通过DDD重构,将原有30个模块优化为18个微服务,系统复杂度降低40%:

graph TDA[单体架构] --> B[垂直拆分]B --> C[SOA服务化]C --> D[微服务架构]D --> E[Service Mesh]

每个服务拥有独立数据库,通过Schema隔离实现数据自治。订单服务使用关系型数据库存储交易数据,库存服务采用NoSQL处理高并发读写。数据一致性通过最终一致性模型保障,结合消息队列实现异步通信

某电商平台采用该模式后,库存更新延迟从分钟级缩短至亚秒级。当用户下单时,订单服务将库存变更事件发布至消息总线,库存服务异步处理并更新状态,整个过程无需分布式事务锁,系统吞吐量提升3倍

技术栈选型与基础架构搭建

推荐技术栈对比

按业务功能拆分适用于核心业务模块,如订单、支付等独立服务;数据强一致性场景采用按数据边界拆分,确保事务完整性;读写分离场景则通过主从服务分离提升性能。某电商平台采用混合拆分策略,核心交易服务独立部署,商品信息采用读写分离架构,系统吞吐量提升200% 

基础服务搭建实战

服务粒度需平衡灵活性与复杂度,控制在2000-5000行代码范围。决策树模型可辅助粒度评估:是否需要独立扩展?是否涉及不同技术栈?是否由独立团队维护?某物流平台通过该模型将服务数量从80个优化至52个,运维成本降低35% 

服务注册中心实现
// 服务提供者配置
spring:cloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: dev// 服务消费者Feign客户端
@FeignClient(name = "order-service", fallback = OrderServiceFallback.class)
public interface OrderServiceClient {@GetMapping("/orders/{id}")OrderDTO getOrderById(@PathVariable Long id);
}

在云原生技术快速演进的背景下,服务注册中心作为分布式系统的神经中枢,承担着服务实例全生命周期管理的核心职责。某跨国电商平台在业务高峰期曾因传统注册中心单点故障导致服务雪崩,服务不可用时间长达47分钟,直接造成千万级经济损失。这一案例深刻揭示了服务注册中心在高并发、分布式环境中的关键作用。云原生服务中心通过创新的注册实现机制,不仅解决了传统注册中心的一致性、可用性难题,更构建起支撑现代微服务架构的弹性服务治理体系 

API网关配置实例
高可用架构设计

云原生注册中心采用去中心化的节点对等架构,彻底消除单点故障风险。每个注册节点均具备完整的注册表存储能力,通过异步复制机制实现数据最终一致性。当某节点发生故障时,其他节点可在毫秒级完成状态同步,确保服务发现不受影响。某金融级云平台通过该设计实现99.999%的可用性,全年计划外宕机时间不超过5分钟

分布式系统关键技术实现

数据一致性难题

Saga模式通过补偿事务处理跨服务异常。某电商平台在订单创建流程中,当支付成功但库存扣减失败时,自动触发订单撤销流程,保证数据最终一致性。该模式使订单异常率从1.2%降至0.05%

事件溯源架构记录状态变更历史。某银行核心系统采用事件溯源,将交易记录完整追溯能力提升至毫秒级,审计效率提高10倍,同时减少70%的数据冗余存储

分布式事务解决方案对比
# Seata AT模式示例
@GlobalTransactional
def create_order():order = Order.create()account.deduct(order.amount)inventory.reduce(order.product_id, order.quantity)
服务治理实践

建立多级健康检查体系,包括网络可达性检测、业务探活验证和资源使用监控。华为云OSC通过集成ICAgent插件,实现应用层到基础设施层的立体化健康监测,异常实例识别准确率达99.8%。某物流平台引入自适应熔断机制,当服务错误率超过阈值时自动触发降级策略,保障核心业务链路稳定运行

服务实例注册过程包含初始化注册、心跳续约、元数据更新和优雅注销四个阶段。注册中心采用租约机制管理实例状态,当心跳信号中断时启动优雅下线流程,确保正在处理的请求完成后再移除实例。某银行核心系统通过该机制将故障切换时间从分钟级缩短至亚秒级,交易成功率提升至99.999%

服务通信机制
CircuitBreakerConfig config = CircuitBreakerConfig.custom().failureRateThreshold(50).waitDurationInOpenState(Duration.ofSeconds(30)).build();CircuitBreakerRegistry registry = CircuitBreakerRegistry.of(config);
CircuitBreaker circuitBreaker = registry.circuitBreaker("paymentService");

轻量级通信协议的选择直接影响系统性能。RESTful API凭借HTTP协议的广泛兼容性和JSON的易读性,成为跨平台交互的首选。对于性能敏感场景,gRPC基于HTTP/2的二进制传输和多路复用特性,可使服务间通信效率提升5-10倍。

某视频平台在直播推流场景中采用gRPC,将端到端延迟从3秒降低至200毫秒。通过Protocol Buffers定义服务接口,服务消费者与服务提供者实现强类型契约,接口变更时的兼容性问题减少70%

服务通信机制体系

智能熔断策略结合动态规则配置,可根据实时流量特征自动调整保护阈值。某社交平台在突发流量冲击下,熔断器通过机器学习模型预测服务负载,动态分配资源,使系统在流量尖峰时的错误率始终控制在0.1%以下

分布式锁的实现需要平衡性能与可靠性。基于Redis的RedLock算法通过多节点协调机制,确保在分布式环境下的锁有效性。某票务系统在抢票高峰时段,采用分段锁策略将并发处理能力提升至每秒5万次请求

在跨云混合架构中,网络分区是不可避免的挑战。注册中心采用Gossip协议实现跨节点信息传播,当检测到网络分区时,自动切换至本地优先模式,保障基础服务可用性。某物联网平台在5G网络波动场景下,通过分区容忍机制将服务发现成功率维持在98%以上

服务拆分困境

过度拆分导致管理复杂度激增,某社交平台初期将用户服务拆分为12个微服务,运维成本上升300%。通过引入领域驱动设计(DDD)方法,重新聚合为6个有界上下文,系统复杂度降低50%,开发效率提升40%

服务粒度控制需要量化评估模型。某物流平台建立的决策树模型包含4个核心指标:独立扩展需求、技术栈差异度、团队自治度、数据耦合度。通过该模型将服务数量从80个优化至52个,运维成本降低35%

分布式锁实现

RLock lock = redissonClient.getLock("resourceLock");
try {if(lock.tryLock(10, 60, TimeUnit.SECONDS)) {// 业务逻辑}
} finally {lock.unlock();
}

性能优化与运维实践

性能调优
监控体系搭建

集中式监控体系实时追踪服务状态,链路追踪技术完整记录请求路径。某金融平台通过全链路监控,将故障定位时间从30分钟缩短至2分钟 

集中式监控体系需覆盖从基础设施到业务指标的全维度数据。某金融平台构建的监控中台,实时采集2000+微服务的性能指标,通过机器学习算法提前15分钟预测服务异常,故障定位时间从30分钟缩短至2分钟

链路追踪技术记录请求在分布式系统中的完整路径。某在线教育平台通过OpenTelemetry实现跨服务调用追踪,将平均故障排查时间从2小时压缩至15分钟,系统可用性提升至99.95%

构建演进与未来趋势

 典型演进路径包含单体拆分、注册中心建设、API网关实施等阶段。某企业级应用通过分阶段改造,6个月内完成架构转型,系统可用性提升至99.99%

AI赋能的架构优化

机器学习算法应用于智能扩缩容。某视频平台通过预测模型实现资源预分配,在春晚直播期间提前扩容300%节点,成本降低25%。异常检测模型实时识别服务异常,某社交平台将故障发现速度提升10倍,MTTR(平均恢复时间)缩短至90秒

AI驱动的智能调度

引入机器学习算法预测服务负载,实现前瞻性资源调配。基于历史流量数据训练预测模型,提前15分钟完成资源预分配,资源浪费率降低30%。某视频平台应用该技术后,CDN节点利用率从60%提升至85%

行业架构实践

华为云服务注册中心(OSC)通过三大创新实现服务治理能力突破:
多云集群推及:

联合华为云分布式服务UCS,实现跨云、跨地域的无缝部署,服务实例可自动感知网络拓扑变化

智能运维集成:

通过插件机制对接AOM、CIA等运维系统,实现日志、监控数据的自动采集与分析

弹性资源调度:

基于Kubernetes的自动伸缩能力,根据负载动态调整注册中心节点规模,资源利用率提升40%

架构师的核心竞争力

内存存储优化:

完全摒弃持久化存储,通过异步复制机制保证数据最终一致性,注册吞吐量提升至10万次/秒

无状态服务设计:

注册客户端采用无状态SDK,支持动态扩缩容,服务节点故障恢复时间缩短至毫秒级

智能路由算法:

结合实时流量特征,动态调整服务发现策略,在双十一期间成功处理每秒200万次服务调用

 Service Mesh架构实现流量智能化管理,某云平台通过Istio实现细粒度流量控制,资源利用率提升30%。无服务计算与微服务深度融合,推动架构向事件驱动演进

云原生态整合

Service Mesh架构实现流量智能化管理。某云平台通过Istio的智能路由,将灰度发布效率提升3倍,A/B测试资源消耗降低60%。无服务计算与微服务的融合,推动架构向事件驱动演进,某视频平台采用Serverless架构处理图片转码任务,资源利用率从15%提升至80%

微服务核心设计原则不是僵化的教条,而是指导架构演进的实践框架。在云原生技术持续革新的背景下,这些原则将不断吸收新技术要素,在保证系统稳定性的同时推动架构创新。企业实施过程中需建立原则落地的评估体系,通过持续度量与反馈优化,构建适应业务发展的弹性架构能力。未来,随着AI原生架构的成熟,微服务设计原则将向智能化、自适应方向演进,为数字化转型提供更强动力

云原生服务中心的注册实现正从单一功能组件向智能治理平台演进。通过持续优化高可用架构、提升分布式一致性能力、强化安全防护体系,注册中心已成为支撑现代云原生应用的核心基础设施。随着AI、边缘计算等新技术的发展,服务注册将向智能化、自适应方向持续进化,为数字化转型提供更强大的底层支撑。未来,注册中心将深度融入云原生生态,成为连接基础设施与业务应用的智能中枢,推动企业实现更高效的资源利用和更敏捷的业务创新

完整项目源码与资源

GitHub仓库地址:https://github.com/example/microservice-demo

微服务架构作为云原生时代的核心架构范式,通过业务能力解耦、技术自治和智能治理,为构建高可用、易扩展的分布式系统提供完整解决方案。随着云原生技术的持续演进,微服务架构将在自动化、智能化方向持续突破,为企业数字化转型提供更强动力。实践过程中需注重架构设计原则的遵循,结合具体业务场景选择合适的技术路径,在保证系统稳定性的同时实现持续创新 

相关文章:

“Cloud Native English“云原生时代下的微服务架构设计:从理论到实战全解析

前引 :技术演进与架构变革的必然性 在数字经济高速发展的今天,软件系统的复杂度呈指数级增长。传统单体架构已无法满足高并发、弹性扩展和快速迭代的需求。根据Gartner预测,到2026年全球75%的企业将完成微服务架构改造。本文将深入探讨云原生…...

自由学习记录(61)

使用了 #pragma multi_compile_fwdbase 这条编译指令启用了 Unity 内部用于主光源阴影支持的一组关键词变体,如: SHADOWS_SCREEN(屏幕空间阴影贴图) SHADOWS_DEPTH(深度图阴影) SHADOWS_SOFT&#xff08…...

深入了解linux系统—— 基础IO(下)

前言 在基础IO(上)中,我们了解了文件相关的系统调用;以及文件描述符是什么,和操作系统是如何将被打开的文件管理起来的。 本篇文章来继续学习文件相关的知识 重定向 在了解重定向之前,我们先来看这样的…...

Flink Table SQL

Apache Flink 提供了强大的 Table API 和 SQL 接口,用于统一处理批数据和流数据。它们为开发者提供了类 SQL 的编程方式,简化了复杂的数据处理逻辑,并支持与外部系统集成。 🧩 一、Flink Table & SQL 核心概念 概念描述Table…...

【Git】基本操作

【简介】 Git是一种“版本控制器”, 可以用于记录每次的修改以及版本的迭代 其可以控制电脑上所有格式的文件,方便地查看文件的每个小修改版本都修改了什么内容,但前提条件是被管理的文件需要放在对应的git仓库(又名“版本库”&…...

【八股战神篇】MySQL高频面试题

目录 专栏简介 一 什么是索引 延伸 1 索引的底层使用的是什么数据结构? 2 MySQL 索引分类有哪些? 3 什么字段适合创建索引? 4 索引失效的场景 5 什么是最左匹配原则? 二 为什么 InnoDB 存储引擎选用 B 树而不是 B 树呢&a…...

服务器防文件上传手写waf

一、waf的目录结构,根据自己目录情况进行修改 二、创建文件夹以及文件 sudo mkdir -p /www/server/waf-monitor sudo mkdir -p /www/server/waf-monitor/quarantine #创建文件夹 chmod 755 /www/server/waf-monitor #赋权cd /www/server/waf-monitor/touch waf-m…...

ElasticSearch-集群

本篇文章依据ElasticSearch权威指南进行实操和记录 1,空集群 即不包含任何节点的集群 集群大多数分为两类,主节点和数据节点 主节点 职责:主节点负责管理集群的状态,例如分配分片、添加和删除节点、监控节点故障等。它们不直接…...

Android开发——原生渲染方案实现 PDF 预览功能

Android开发——原生渲染方案实现 PDF 预览功能 1. 引言2. 原生渲染方案核心设计:从数据到视图3. 混合文档容器:ViewPager2 与适配器设计1. 引言 在移动应用开发中,PDF 预览是文档处理场景的核心需求之一。Android 生态提供了多元化的技术方案,从系统级简版预览到原生渲染…...

Java求职者面试:从Spring Boot到微服务的技术点解析

Java求职者面试:从Spring Boot到微服务的技术点解析 场景:互联网医疗-预约挂号系统 面试官: “小明,我们今天的场景是一个互联网医疗的预约挂号系统。我们需要支持高并发的用户预约操作,同时保证数据一致性和系统的高…...

操作系统听课笔记之进程的概念

引入新的概念,为什么不能叫程序 内存中进程Image实例: stack: 局部变量(函数弹出来没有了) data: 全局变量(共享) 静态变量 heap: malloc分配的内存 从数据结构和算法角度解决问题: 设计相应的数据结构和设计算法 数据结构: 进程PCB 算法:创建进程和进程通信各种操作在线内…...

【基于Spring Boot 的图书购买系统】深度讲解 用户注册的前后端交互,Mapper操作MySQL数据库进行用户持久化

引言 在现代Web应用中,用户注册功能是用户与应用交互的入口。一个高效、安全且用户友好的注册系统不仅能吸引用户,还能为后续功能(如个性化服务)奠定基础。本博客将通过一个实际案例,展示如何使用HTML、JavaScript、j…...

Spark,连接MySQL数据库,添加数据,读取数据

以下是使用 Spark/SparkSQL 连接 MySQL 数据库、添加数据和读取数据的完整示例(需提前准备 MySQL 驱动包): 一、环境准备 1. 下载 MySQL 驱动 - 下载 mysql-connector-java-8.0.33.jar (或对应版本),放…...

ubuntu的虚拟机上的网络图标没有了

非正常的关机导致虚拟机连接xshell连接不上,ping也ping不通。网络的图标也没有了。 记录一下解决步骤 1、重启服务 sudo systemctl restart NetworkManager 2、图标显示 sudo nmcli network off sudo nmcli network on 3、sudo dhclient ens33 //(网卡) …...

Linux系统:ext2文件系统的核心概念和结构

本节重点 块、块组、分区的引入块组的构成inode与inode Table路径解析与路径缓存机制目录与文件名在文件系统中的存储分区的初始化与挂载 一、ext2文件系统 1.1 “块”的引入 在前言部分我们说扇区是磁盘硬件的最小读写单位,通常为512字节,但是在操作…...

Python 装饰器详解

装饰器是 Python 中一种强大的语法特性,它允许在不修改原函数代码的情况下动态地扩展函数的功能。装饰器本质上是一个高阶函数,它接受一个函数作为参数并返回一个新的函数。 基本装饰器 1. 简单装饰器示例 def my_decorator(func):def wrapper():prin…...

Docker配置容器开机自启或服务重启后自启

要将一个 Docker 容器设置为开机自启,你可以使用 docker update 命令或配置 Docker 服务来实现。以下是两种常见的方法: 方法 1:使用 docker update 设置容器自动重启 使用 docker update 设置容器为开机自启 你可以使用以下命令&#xff0c…...

20250518 黎曼在三维空间中总结的一维二维的规律,推广到高维度合适吗?有没有人提出反对意见

黎曼在三维空间中总结的一维二维的规律,推广到高维度合适吗?有没有人提出反对意见 黎曼几何在数学物理中的广泛应用,尤其是在广义相对论和高维空间理论中,确实是建立在黎曼在三维空间中的推广基础上的。不过,这种推广…...

使用AI 生成PPT 最佳实践方案对比

文章大纲 一、专业AI生成工具(推荐新手)**1. 推荐工具详解****2. 操作流程优化****3. 优势与局限**二、代码生成方案(开发者推荐)**1. Python-pptx进阶用法****2. GitHub推荐**三、混合工作流(平衡效率与定制)**1. 工具链升级****2. 示例Markdown结构**四、网页转换方案(…...

【Docker】Docker Compose方式搭建分布式协调服务(Zookeeper)集群

开发分布式应用时,往往需要高度可靠的分布式协调,Apache ZooKeeper 致力于开发和维护开源服务器,以实现高度可靠的分布式协调。具体内容见zookeeper官网。现代应用往往使用云原生技术进行搭建,如何用Docker搭建Zookeeper集群,这里介绍使用Docker Compose方式搭建分布…...

R for Data Science(3)

R for Data Science以下是关于网页内容的详细笔记: 1. 章节概览 章节主题:数据转换(Data Transformation)核心内容:介绍如何使用 R 中的 dplyr 包进行数据转换,包括对数据框的行、列和组的操作&#xff0…...

深入浅出Hadoop:大数据时代的“瑞士军刀”

深入浅出Hadoop:大数据时代的“瑞士军刀” 在当今这个数据爆炸的时代,每天产生的数据量已经远超人类的想象。从社交媒体的互动到电商平台的交易记录,从物联网设备的实时监控到科学研究的实验数据,大数据已经成为推动各行各业变革…...

《Python星球日记》 第94天:走近自动化训练平台

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、自动化训练平台简介1. Kubeflow Pipelines2. TensorFlow Extended (TFX) 二…...

MetaMask安装及使用-使用水龙头获取测试币的坑?

常见的异常有: 1.unable to request drip, please try again later. 2.You must hold at least 1 LINK on Ethereum Mainnet to request native tokens. 3.The address provided does not have sufficient historical activity or balance on the Ethereum Mainne…...

软件架构之--论微服务的开发方法1

论微服务的开发方法1 摘要 2023年 2月,本人所在集团公司承接了长三角地区某省渔船图纸电子化审查系统项目开发,该项目旨在为长三角地区渔船建造设计院、以及渔船图纸审查机构提供一个便捷的渔船图纸电子化审查服务平台。在此项目中,我作为项目组成员参与项目的建设工作,并…...

SOLID 面对象设计的五大基本原则

SOLID 原则的价值 原则核心价值解决的问题SRP职责分离,提高内聚性代码臃肿、牵一发而动全身OCP通过扩展而非修改实现变化频繁修改现有代码导致的风险LSP确保子类行为的一致性继承滥用导致的系统不稳定ISP定制化接口,避免依赖冗余接口过大导致的实现负担…...

游戏引擎学习第293天:移动Familiars

回顾并为今天的内容定下基调 我们正在做一款完整的游戏,今天的重点是“移动模式”的正式化处理。目前虽然移动机制大致能运作,但写法相对粗糙,不够严谨,我们希望将其清理得更规范,更可靠一点。 目前脑逻辑&#xff0…...

《沙尘暴》观影记:当家庭成为人性的修罗场

起初点开《沙尘暴》,不过是想在碎片时间里寻个消遣,毕竟短剧的篇幅显得轻松无负担。未曾想,这看似简短的故事却如一场裹挟着砂砾的风暴,在心底掀起层层涟漪,让我忍不住在家庭教育、人性幽微处反复踱步沉思。 一、风暴眼…...

牛客网NC21989:牛牛学取余

牛客网NC21989:牛牛学取余 📝 题目描述 ⏱️ 限制条件 时间限制:C/C/Rust/Pascal 1秒,其他语言2秒空间限制:C/C/Rust/Pascal 32 M,其他语言64 M输入范围:两个整数,在int范围内 📥…...

王者荣耀游戏测试场景题

如何测试一个新英雄:方法论与实践维度 测试一个新英雄不仅仅是“打打打”,而是一套完整的测试流程,包括设计文档验证、功能验证、数值验证、性能验证、交互验证等。可以从以下多个角度展开: 🔍 1. 方法论维度 ✅ 测试…...

Spring Boot 与 RabbitMQ 的深度集成实践(二)

集成步骤详解 配置 RabbitMQ 连接信息 在 Spring Boot 项目中,通常在application.properties或application.yml文件中配置 RabbitMQ 的连接信息。以application.yml为例,配置如下: spring: rabbitmq: host: localhost port: 5672 usern…...

医疗信息系统安全防护体系的深度构建与理论实践融合

一、医疗数据访问系统的安全挑战与理论基础 1.1 系统架构安全需求分析 在医疗信息系统中,基于身份标识的信息查询功能通常采用分层架构设计,包括表现层、应用层和数据层。根据ISO/IEC 27001信息安全管理体系要求,此类系统需满足数据保密性…...

多模态大语言模型arxiv论文略读(八十)

## MMWorld: Towards Multi-discipline Multi-faceted World Model Evaluation in Videos ➡️ 论文标题:MMWorld: Towards Multi-discipline Multi-faceted World Model Evaluation in Videos ➡️ 论文作者:Xuehai He, Weixi Feng, Kaizhi Zheng, Yuji…...

FFmpeg:多媒体处理的终极利器

FFmpeg详细介绍 1. 定义与基本概述 FFmpeg是一套开源的跨平台多媒体处理工具集,最初由法国程序员Fabrice Bellard于2000年开发,其名称源自“Fast Forward MPEG”,体现了其高效处理MPEG格式的能力。它不仅是命令行工具,还包含多个库和开发套件,支持视频转码、剪辑、合并、…...

【Leetcode】取余/2的幂次方

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 示例 1: 输入: num 38 输出: 2 解释: 各位相加的过程为: 38 --> 3 8 --> 11 11 --> 1 1 --> 2 由于 2 是一位数,所以返回 2。 …...

程序代码篇---ESP32的数据采集

文章目录 前言 前言 本文简单介绍了ESP32可以怎样采集数据。...

系统架构设计(十三):虚拟机体系结构风格

概念 虚拟机(Virtual Machine)体系结构风格,是指将整个系统抽象为一台“虚拟机”,通过解释或模拟的方式运行应用程序。 它本质上提供了一种“平台中立”的运行环境,典型代表就是 Java 虚拟机(JVM&#xf…...

lvs-dr部署

实验准备: 准备4台设备,1台作为客户机,3台作为服务器,服务器中1台作为调度器,2台作为后端真实访问服务器。并关闭所有防火墙与核心防护。 systemctl stop firewalld setenforce 0 实验开始 调度器配置 yum -y ins…...

数据库blog2_数据结构与效率

🌿计算机中的数据————存储结构与逻辑结构 🍂存储结构(物理结构) 定义:存储结构是指数据在计算机存储器中的实际存储方式,由计算机硬件特性决定。它涉及到数据的物理位置和存储顺序。存储结构直接影响数…...

聊天室项目总结

已实现的功能点: 存在的问题: 1.没有实现有含金量的创新功能点 2.太过于依赖工具,不喜欢自己看文章总结对知其然而不知其所以然,自己的理解比较少,懒于去思考 3.太过于依赖他人,自己的想法有点少&#x…...

数据结构:二叉树一文详解

数据结构:二叉树一文详解 前言一、二叉树的基本概念与结构特性1.1 二叉树的定义1.2 二叉树的特殊类型1.3 二叉树的性质 二、二叉树的遍历方式2.1 前序遍历(Pre-order Traversal)2.2 中序遍历(In-order Traversal)2.3 后序遍历&…...

2025年- H28-Lc136- 24.两两交换链表中的节点(链表)---java版

1.题目描述 2.思路 cur指针要先放在虚拟头节点,才能去操作第一个数和第二个数 先判断偶数个节点,再判断奇数个节点,否则会犯空指针异常。 (1)如果节点是偶数个节点,只要满足curr.nextnull,就说…...

ubuntu18.04通过cuda_11.3_xxx.run安装失败,电脑黑屏解决办法

项目场景: ubuntu18.04跑DG-SLAM相关代码,安装lietorch包报错,需要用到GPU。 问题描述 跑代码需要cuda11.3,系统里面有另外一个版本,运行cuda_11.3_xxx.run,同时也选择了driver,安装成功后&am…...

Linux之基础IO

目录 一、理解 "文件" 1.1、狭义理解 1.2、广义理解 1.3、文件操作的归类认知 1.4、系统角度 二、回顾C语言接口 2.1、打开文件 2.2、写文件 2.3、读文件 2.4、stdin & stdout & stderr 2.6、打开文件的方式 三、系统文件I/O 3.1、一种传递标志…...

上位机知识篇---涂鸦智能云平台

文章目录 前言 前言 本文简单介绍了涂鸦智能云平台。...

InfluxDB 3 Core + Java 11 + Spring Boot:打造高效物联网数据平台

一、 引言:为什么选择InfluxDB 3? 项目背景: 在我们的隧道风机监控系统中,实时数据的采集、存储和高效查询是至关重要的核心需求。风机运行产生的振动、倾角、电流、温度等参数是典型的时序数据,具有高并发写入、数据…...

Kubernetes控制平面组件:Kubelet详解(七):容器网络接口 CNI

云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes控…...

Pandas 构建并评价聚类模型② 第六章

构建并评价聚类模型 构建并评价聚类模型一、数据读取与准备(代码6 - 6部分)结果代码解析 二、Kmeans聚类(代码6 - 6部分)结果代码解析 三、数据降维可视化(代码6 - 6部分)结果代码解析 四、FMI评价&#xf…...

【simulink】IEEE33节点系统潮流分析模型

目录 主要内容 程序内容 2.1 33节点simulink模型一览 2.2 节点模型图 下载链接 主要内容 该仿真采用simulink模型对33节点网络进行模拟仿真,在simulink模型中定义了33节点系统的电阻、电抗、节点连接关系等参数,通过控制块来实现信号连接关系&…...

彻底解决docker代理配置与无法拉取镜像问题

为什么会有这篇文章? 博主在去年为部署dify研究了docker,最后也是成功部署,但是因为众所周知的原因,卡ziji脖子 ,所以期间遇到各种网络问题的报错,好在最后解决了. 但时隔一年,博主最近因为学习原因又一次使用docker,原本解决的问题却又没来由的出现,且和之前有很多不同(有时…...