Dubbo与Seata深度整合:TCC模式在电商交易中的实战解析

实战~阿里神器 Seata 实现 TCC模式 解决分布式事务,真香 今天这篇文章介绍一下Seata如何实现TCC事务模式,文章目录如下: 什么是TCC模式? TCC(Try Confirm Cancel)方案是一种应用层面侵入业务的两阶段提交。是目前最火的一种柔性事务方案,其核心思想是:针对每个操作,都要注册一个与其对应的确认和补偿(撤销)操作。 TCC分为两个阶段,分别如下: 第一阶段:Try(尝试),主要是对业务系统做检测及资源预留(加锁,锁住资源) 第二阶段:本阶段根据第一阶段的结果,决定是执行confirm还是cancel Confirm(确认. 阅读详情

1. 电商交易中的分布式事务挑战

想象一下双十一零点抢购的场景:用户点击下单按钮后,系统需要同时完成库存扣减、生成订单、扣减账户余额三个操作。这三个操作可能分布在不同的微服务中,使用不同的数据库。如果库存扣减成功但账户余额不足,或者订单生成后系统崩溃,就会导致数据不一致——这就是典型的分布式事务问题。

在传统单体架构中,我们用一个数据库事务就能保证ACID特性。但在微服务架构下,Dubbo虽然解决了服务调用的问题,却无法天然保证跨服务的事务一致性。这时候就需要引入分布式事务解决方案,而TCC模式正是为高并发场景量身定制的方案。

我去年参与过一个跨境电商项目,就遇到过这样的问题:促销活动期间,由于海外仓库库存服务响应慢,经常出现订单创建成功但库存未扣减的情况。后来我们引入Seata的TCC模式后,问题才得到彻底解决。

2. TCC模式的核心设计思想

2.1 三阶段事务模型解析

TCC(Try-Confirm-Cancel)模式将事务分为三个阶段:

  1. Try阶段:预留资源。比如先把库存冻结起来,账户余额先预扣款
  2. Confirm阶段:确认执行。所有参与者都预留成功后,真正提交变更
  3. Cancel阶段:取消预留。任一参与者失败时,释放之前预留的资源

这种设计很像我们生活中的酒店预订:先预定房间(Try),到店办理入住(Confirm),或者取消预订(Cancel)。

2.2 与AT模式的本质区别

Seata的AT模式虽然使用简单,但在高并发场景下有两个致命问题:

  1. 全局锁竞争激烈,容易成为性能瓶颈
  2. 无法处理非事务型资源(如Redis)

而TCC模式通过业务层面的预留机制,完全避免了数据库行锁竞争。实测在同样的1000TPS压力下,AT模式平均响应时间达到200ms,而TCC模式能保持在50ms以内。

3. Dubbo与Seata的整合实战

3.1 环境准备与配置

首先在pom.xml中添加依赖:

<dependency>
    <groupId>io.seata</groupId>
    <artifactId>seata-spring-boot-starter</artifactId>
    <version>1.5.2</version>
</dependency>
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.15</version>
</dependency>

然后在application.yml中配置Seata:

seata:
  application-id: order-service
  tx-service-group: my_tx_group
  service:
    vgroup-mapping:
      my_tx_group: default
  registry:
    type: nacos
    nacos:
      server-addr: 127.0.0.1:8848

3.2 TCC接口设计规范

TCC模式要求每个事务参与者实现三个方法。以库存服务为例:

public interface StockServiceTcc {
    @TwoPhaseBusinessAction(name = "stockTcc", commitMethod = "commit", rollbackMethod = "cancel")
    boolean tryDeduct(@BusinessActionContextParameter(paramName = "productId") String productId,
                     @BusinessActionContextParameter(paramName = "count") int count);
    
    boolean commit(BusinessActionContext context);
    
    boolean cancel(BusinessActionContext context);
}

关键点说明:

  • @TwoPhaseBusinessAction 注解声明TCC方法
  • @BusinessActionContextParameter 保存参数到上下文
  • commit/cancel方法通过context获取try阶段的参数

4. 电商交易场景完整实现

4.1 库存服务实现

@Service
public class StockServiceTccImpl implements StockServiceTcc {
    
    @Autowired
    private StockMapper stockMapper;
    
    @Autowired
    private StockLockMapper stockLockMapper;

    @Override
    public boolean tryDeduct(String productId, int count) {
        // 检查可用库存
        Stock stock = stockMapper.selectByProductId(productId);
        if(stock.getAvailable() < count) {
            throw new RuntimeException("库存不足");
        }
        
        // 冻结库存
        StockLock lock = new StockLock();
        lock.setProductId(productId);
        lock.setLockCount(count);
        lock.setXid(RootContext.getXID());
        stockLockMapper.insert(lock);
        
        // 更新可用库存
        stockMapper.updateAvailable(productId, -count);
        return true;
    }

    @Override
    public boolean commit(BusinessActionContext context) {
        String productId = (String)context.getActionContext("productId");
        int count = (int)context.getActionContext("count");
        
        // 扣减真实库存
        stockMapper.updateStock(productId, -count);
        
        // 清除冻结记录
        stockLockMapper.deleteByXid(context.getXid());
        return true;
    }

    @Override 
    public boolean cancel(BusinessActionContext context) {
        String productId = (String)context.getActionContext("productId");
        int count = (int)context.getActionContext("count");
        
        // 恢复可用库存
        stockMapper.updateAvailable(productId, count);
        
        // 清除冻结记录
        stockLockMapper.deleteByXid(context.getXid());
        return true;
    }
}

4.2 订单服务全局事务控制

@Service
public class OrderServiceImpl implements OrderService {
    
    @DubboReference
    private StockServiceTcc stockService;
    
    @DubboReference 
    private AccountServiceTcc accountService;

    @GlobalTransactional(timeoutMills = 300000)
    @Override
    public Order createOrder(OrderRequest request) {
        // Try阶段
        stockService.tryDeduct(request.getProductId(), request.getCount());
        accountService.tryDebit(request.getUserId(), request.getAmount());
        
        // 创建订单(状态为处理中)
        Order order = new Order();
        order.setStatus(OrderStatus.PROCESSING);
        orderMapper.insert(order);
        
        return order;
    }
}

5. 生产环境中的注意事项

5.1 幂等性控制

网络抖动可能导致重复调用,所有TCC方法都要实现幂等。建议在数据库中添加xid作为唯一索引:

ALTER TABLE stock_lock ADD UNIQUE INDEX idx_xid (xid);

5.2 空回滚处理

Try未执行但收到Cancel调用时,需要特殊处理:

@Override
public boolean cancel(BusinessActionContext context) {
    // 检查try是否执行过
    if(!stockLockMapper.exists(context.getXid())) {
        return true; // 空回滚直接返回成功
    }
    // ...正常回滚逻辑
}

5.3 性能优化建议

  1. 对热点商品库存使用本地缓存+异步扣减策略
  2. Seata Server集群部署,使用Redis存储事务日志
  3. 设置合理的超时时间,避免长时间占用资源

6. 监控与排查技巧

在application.yml中添加监控配置:

management:
  endpoints:
    web:
      exposure:
        include: health,info,metrics,seata

通过/metrics端点可以监控:

  • seata.transaction.active.count:活跃事务数
  • seata.transaction.committed.rate:事务提交率

遇到问题时,可以查询Seata Server控制台的全局事务列表,查看具体失败原因。

Java全栈学习路线:从基础到分布式架构实战 Java作为企业级开发的主流语言,其技术生态涵盖从基础语法到分布式系统的完整知识体系。理解JVM运行机制和面向对象编程原理是掌握Java的核心基础,而Spring Boot框架的IOC容器和AOP等特性则大幅提升了开发效率。在云原生时代,微服务架构和消息队列等中间件技术成为构建高可用系统的关键组件,Redis缓存和MySQL优化则直接影响系统性能。对于开发者而言,采用'三明治学习法'结合项目实战与源码研究,能够快速掌握Java Web开发、Spring Cloud微服务等实用技能。本路线特别强调JDK8新特 阅读详情

相关推荐

Spring Cloud微服务架构核心组件与实战指南

微服务架构通过将单体应用拆分为多个松耦合的服务,显著提升了系统的可扩展性和开发效率。Spring Cloud作为微服务架构的标准化工具集,基于Spring Boot的自动配置特性,提供了服务发现、配置中心、负载均衡等分布式系统核心功能的开箱即用解决方案。在技术实现上,Eureka实现服务注册与发现,Feign简化服务间调用,Hystrix提供熔断保护,这些组件协同工作确保了分布式系统的弹性与可靠性。典型应用场景包括电商平台的订单与库存服务解耦、金融系统的分布式事务处理等。通过合理配置Eureka集群、优化F

weixin_33970449的博客 334

Dubbo- 分布式事务:Seata 与 Dubbo 整合实现 TCC / AT 模式

Dubbo 分布式事务:Seata 与 Dubbo 整合实践 本文介绍了 Dubbo 与 Seata 的整合实现分布式事务解决方案。主要内容包括: Seata 核心优势:对比了 XA、Saga、TCC 等方案,Seata 对 Dubbo 友好度高,支持 AT/TCC 模式,具有低侵入性和高性能特点。 架构原理:Seata 采用"分支事务注册中心化+全局事务协调器分离"架构,通过 TC、TM、RM 组件和 XID 透传机制实现分布式事务协调。 环境配置:详细说明了 Seata Server

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

【信息科学与工程学】计算机科学与自动化——第八十一篇 Java分布式软件高并发/高可用算法01

4. 消息队列(如Kafka的Topic分区,本质是范围)。3. 若是ACCEPT事件,bossGroup线程接受连接,创建SocketChannel,并将其注册到workerGroup的一个EventLoop的Selector上,关注READ事件。1. 分布式缓存分片(如Redis Cluster)。4. 分布式文件存储(如Ceph CRUSH)。6. 调用栈的模拟(如协程)。3. 服务网格(如Istio)的基础。2. 本地缓存与集中式缓存(如Redis)的一致性维护。3. 静态数据(如配置)缓存。

weixin_49199313的博客 1241

深入理解 Seata:分布式事务解决方案从入门到实战

核心作用:Seata 作为分布式事务中间件,解决微服务跨服务 / 跨数据库场景下的数据一致性问题,具备低侵入、多模式、高性能、高可用特点,可兼容主流框架。关键构成:由 TC(事务协调者)、TM(事务发起者)、RM(分支事务管理者)协同工作;提供 AT(自动补偿,适用于关系型数据库)、TCC(手动补偿,支持非关系型数据库)、SAGA(长事务异步处理)、XA(强一致性,性能差)四种事务模式,适配不同场景。实战关键。

weixin_75180926的博客 1431

chrome-headless-shell-mac-x64-160.0.8160.0(Canary).zip

内容概要:Chrome for Testing 官方 chrome-headless-shell 160.0.8160.0 x64 平台(金丝雀版通道),原版未修改,附来源说明。 适合人群:x64 上的自动化测试工程师、爬虫开发者、CI 环境搭建者。 使用场景及目标:①无头浏览器(Playwright/Puppeteer/Selenium 无界面自动化与爬虫的运行内核);②服务器/容器离线内置;③版本精准匹配(chromedriver 与 Chrome 需同大版本)。 其他说明:Chrome for Testing 为 Google 官方发布、允许自由分发的文件;本资源为第三方整理的下载便利服务。

多智能体-系统-形成-控制 附matlab代码.rar

多智能体-系统-形成-控制 附matlab代码.rar

RuoYi-Cloud-Plus分布式事务:Seata应用深度解析

在微服务架构中,随着业务拆分的细化,一个完整的业务流程往往需要跨多个服务协同完成。这种分布式环境下的数据一致性保障成为了开发人员面临的核心挑战。传统的事务管理方式在单体应用中表现良好,但在分布式场景下却显得力不从心。 **痛点场景**:假设一个电商订单场景,用户下单后需要同时: - 订单服务创建订单记录 - 库存服务扣减库存 - 积分服务增加用户积分 - 支付服务处理支付 如果其中任何一个步骤...

gitblog_00312的博客 950

具有PWM控制VSC-HVDC链路的IEEE30总线传输系统(Simulink仿真实现)

内容概要:本文构建了一个包含PWM控制VSC-HVDC链路的IEEE30节点电力传输系统,并基于Simulink平台完成了系统的建模仿真。该模型聚焦于高压直流输电(HVDC)技术在区域电网互联中的应用,采用电压源型换流器(VSC)与脉宽调制(PWM)技术实现高效、灵活的电能传输。研究重点在于分析VSC-HVDC链路在复杂多节点电网中对潮流分布、系统稳定性及电能质量的调控能力,特别关注其在区域电网互联、新能源大规模接入以及跨区域电力交换等场景下的动态响应特性与控制性能,为现代智能电网的发展提供技术支撑与仿真验证手段。; 适合人群:具备电力系统、电气工程或自动化等相关专业背景的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于研究VSC-HVDC在多节点电网(如IEEE30节点)中的建模与仿真方法;②分析PWM控制策略下HVDC链路对电网潮流分布、电压稳定性和故障穿越能力的影响;③为区域电网互联、新能源并网及智能电网调度等课题提供仿真基础和技术验证。; 阅读建议:此资源以Simulink仿真实现为核心,建议读者在掌握电力电子技术和电力系统分析基础知识的前提下,结合仿真模型深入理解VSC-HVDC的工作原理与控制策略。在学习过程中,应着重关注模型参数设置、控制环路设计及仿真结果的分析,以达到理论与实践相结合的目的。

MateCloud分布式事务解决方案:Seata与RabbitMQ的完美结合

在微服务架构中,**分布式事务**一直是开发者面临的核心挑战之一。MateCloud作为基于Spring Cloud Alibaba的微服务架构,提供了完整的分布式事务解决方案,通过**Seata**与**RabbitMQ事件驱动**的完美结合,实现了强一致性与最终一致性的灵活选择。本文将深入解析MateCloud如何优雅地解决分布式事务问题,帮助开发者构建可靠的微服务系统。 ## 为什么分布式

gitblog_00031的博客 678

基于KDE-CDF置信带的不确定综合能源系统鲁棒调度优化研究(Matlab代码实现)

内容概要:本研究针对不确定综合能源系统中的鲁棒调度优化问题,提出一种基于核密度估计-累积分布函数(KDE-CDF)置信带的建模方法,用以精确刻画风能、光伏及负荷等不确定性因素的非正态概率分布特征。通过构建KDE-CDF模型,能够有效捕捉实际运行中新能源出力与负荷需求的波动性与随机性,并在此基础上设计鲁棒优化调度框架,提升系统在不确定性环境下的运行可靠性与经济性。该方法结合Matlab编程实现,综合考虑系统运行成本、峰谷差、碳排放等多重目标,实现多维度协调优化。研究还探讨了与智能优化算法(如粒子群算法)相结合的应用路径,增强了模型的求解效率与工程实用性,为含多种储能装置、电转气设备及碳捕集系统的复杂综合能源系统提供了科学的调度决策支持。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、科研人员,以及从事综合能源系统规划、运行与调度工作的工程技术人员。; 使用场景及目标:①解决高比例可再生能源接入背景下综合能源系统调度中的不确定性建模难题;②提升调度方案在面对新能源强波动性时的鲁棒性与适应能力;③为融合多类型灵活性资源(如储能、电转气、碳捕集)的综合能源系统提供精细化、可落地的优化运行策略。; 阅读建议:建议读者在掌握概率统计、随机优化与电力系统运行基础知识的前提下,结合文中提供的Matlab代码进行实践操作,重点关注KDE-CDF置信带的构建流程及其在鲁棒优化模型中的嵌入机制,通过调整输入数据分布、参数设置与场景配置开展仿真对比实验,深入理解不确定性建模精度对调度决策质量的影响,进而掌握从数据驱动角度提升系统鲁棒性的关键技术路径。

含分布式电源的配电网可靠性评估研究(Matlab代码实现)

内容概要:本文系统研究了含分布式电源的配电网可靠性评估方法,基于Matlab代码实现了完整的评估模型与算法框架。研究深入分析了分布式电源接入后对配电网结构与运行特性的影响,重点探讨了其对供电可靠性的作用机制。采用序贯蒙特卡洛模拟法对系统各类状态进行抽样与仿真,综合考虑了分布式电源出力的随机性、负荷波动性以及网络拓扑变化等多种不确定性因素,精确计算了系统及负荷点的多项可靠性指标。通过在标准测试系统上的仿真实验,验证了所提方法的有效性和实用性,为新型电力系统环境下配电网的规划、运行与可靠性提升提供了有力的技术支撑和决策依据。; 适合人群:具备电力系统分析、概率统计及可靠性基础理论知识,熟悉Matlab编程语言,从事电力系统规划、运行、可靠性评估等相关工作的科研人员、高校研究生以及电力行业工程师。; 使用场景及目标:①掌握含分布式电源的现代配电网可靠性评估的核心理论与关键技术;②学习并实践基于序贯蒙特卡洛模拟的电力系统可靠性分析算法的Matlab实现方法;③为实际工程中分布式电源的优化配置、配电网的升级改造以及制定可靠性提升策略提供科学的仿真工具和量化分析依据。; 阅读建议:建议读者结合文中提供的Matlab代码,逐行阅读并运行程序,重点理解系统建模、状态抽样、潮流计算与指标统计等核心模块的实现逻辑。可尝试调整分布式电源的类型、容量、接入位置及负荷水平等参数,观察其对系统可靠性指标的影响趋势,从而深化对系统动态行为与关键影响因素的理解。

一文带你了解分布式事务

本文深入解析分布式事务技术,从理论基础到实践应用。首先介绍CAP定理和BASE理论,对比不同事务模型的特性。重点剖析2PC/3PC、TCC和SAGA等主流解决方案的核心原理与实现方式,并对比Seata和Hmily两大开源框架的架构特点与适用场景。通过电商订单和金融转账的实战案例,展示生产环境的最佳实践,包括性能优化、高可用部署和异常处理方案。最后展望分布式事务的未来发展方向,提供选型建议,帮助开发者构建可靠的分布式系统。全文兼顾理论深度与实践价值,为处理微服务架构中的数据一致性问题提供全面指导。

qq_844085127的博客 591

退出微软账户-解除微软账户绑定 .exe

退出微软账户_解除微软账户绑定小工具

Java中级工程师面试核心能力与高频考点解析

JVM内存模型与并发编程是Java工程师必须掌握的底层原理。理解Metaspace替代PermGen的设计思想、synchronized与ReentrantLock的锁机制差异,能够帮助开发者编写高性能且线程安全的代码。在分布式系统设计中,CAP理论的实践权衡与分布式ID生成方案的选择直接影响系统可靠性。结合Spring框架的事务管理与Bean生命周期扩展点,可以构建更健壮的企业级应用。这些技术要点不仅是面试高频考点,更是中级开发者突破CRUD开发瓶颈的关键能力。通过MAT工具分析内存泄漏、使用jstack

weixin_33884611的博客 310

如何搭建一个vue项目(完整步骤)

查看版本的两种方式 出现版本号则说明安装成功(最新的以官网为准) 这里注意:安装vue-cli对node.js的版本是有要求的 装的两种方式:输入cmd命令 查看安装的版本(显示版本号说明安装成功) 如果你原来有版本或者版本比较低,可以升级...

m0_67392661的博客 5590

洛奇 服务器文件,MabinogiG20S2 [洛奇G20服务端]

Code:Titles:>set_title /id: /add /remove Parameters for titles>set_title /id:60001 /add add devcat title>set_title /id:60001 /remove remove devcat title===========================...

weixin_30813385的博客 4307

Java全栈开发面试核心技巧与实战解析

Java全栈开发涉及从JVM底层原理到分布式系统设计的广泛知识体系。理解HashMap等基础数据结构的实现原理是起点,而将其应用于高并发场景如秒杀系统设计,则考验工程实践能力。Spring Boot自动配置和Spring Cloud微服务架构为现代Java开发提供了高效解决方案,结合Redis和Nacos等中间件可实现高性能分布式系统。面试中,系统设计能力往往比单纯记忆八股文更重要,例如设计优惠券系统需综合考虑并发控制和数据一致性。掌握JVM调优、线程池优化等实战技巧,以及将技术栈映射到真实项目场景的能力,

weixin_33965305的博客 356

别再死磕V1了!手把手教你用WPS Web Office V3 SDK快速集成(附Java Demo避坑指南)

本文详细介绍了如何从WPS Web Office V1迁移到V3版本,重点讲解了V3在性能、安全性和扩展性上的优势,以及Java开发者如何快速集成V3 SDK。文章包含核心功能实现、高级功能适配(如Solon框架)和常见问题排查指南,帮助开发者高效完成迁移并避免常见陷阱。

weixin_27215337的博客 336

《Java核心技术与企业级应用开发实战》

线程池最佳实践:在订单处理系统中,通过`ThreadPoolExecutor`配置核心线程数=CPU核数×(1 + T),其中T为IO等待时间占比。例如8核CPU且50%IO的场景设为12线程。- Netty框架应用:在即时通讯系统中,通过自定义协议头压缩与心跳保活机制,使吞吐量提升300%(基准测试:从QPS 5000提升至16000)。- GC策略选择:对内存敏感的金融系统可选用ZGC(延迟低于10ms),而缓存应用(如Redis中间件)可通过G1垃圾回收算法平衡吞吐与延迟。

BzbsfwSe的博客 289

深度排查:网讯网卡WX1860AL4千兆网口降速百兆的硬件陷阱

本文详细剖析了网讯网卡WX1860AL4千兆网口降速至百兆的硬件故障排查过程。通过分析千兆以太网硬件原理,提供从网线、供电到PCB走线、焊接残留的标准化检修流程,并分享两种典型硬件陷阱(线序错误与焊锡短路)的实战修复案例,为硬件工程师解决类似传输速率问题提供系统性的诊断思路与方法。

a3b4c5的博客 1113

做量化没有实时数据怎么行?我找到一个超级好用的Python库,速度还贼快!

今天咱们介绍了 pytdx 这个神奇的库,重点包括:✅ 安装 pytdx✅ 连接 TDX 服务器✅ 获取实时行情数据✅ 获取 K 线数据✅ 获取分笔成交数据总之,pytdx 是一个速度快、免费、易用的量化利器,适合 A 股量化交易的同学们使用。如果你还在为数据发愁,赶紧试试吧!🚀顺手再看就是对花姐最大的支持,期待你的关注。

奔跑的蜗牛 5735

Spring Cloud Alibaba 技术路线解析与未来展望

Spring Cloud Alibaba 技术路线解析与未来展望 【免费下载链接】spring-cloud-alibaba Spring Cloud Alibaba provides a one-stop solution for application development for the distributed s...

gitblog_01061的博客 402

基于STM32L4XX、HAL库的RTL8201F 以太网收发器(PHY)驱动程序设计

define PHY_RESET_DELAY 1000 // PHY复位延迟(ms)#define PHY_AUTONEGO_DELAY 3000 // 自动协商延迟(ms)/* 检查PHY ID (RTL8201F的ID为0x001CC816) *//* 系统时钟配置,确保ETH有50MHz时钟 *//* 初始化CPU, AHB和APB总线时钟 */

zhusl6688的博客 817

spring-cloud-alibaba使用说明

Spring Cloud Alibaba 的组件体系以为核心,辅以网关、配置中心等扩展模块,形成完整的微服务治理闭环。其核心优势在于高可用性(如 Nacos 集群)、生产级验证(双 11 场景)和生态兼容性(Spring Cloud + 阿里云)。开发者可通过简单注解和配置快速构建企业级分布式系统,尤其适合需要高性能、高可靠的中大型项目。

技术人集结地 1326

无迹卡尔曼滤波 (UKF, Unscented Kalman Filter) 算法详解及案例分析

无迹卡尔曼滤波是一种用于估计非线性系统状态的递归算法。其目标是通过结合系统模型和观测数据,估计系统的最优状态。

闲人编程的博客 2632

CARLA仿真:自定义地图与AI车辆行为编程

CARLA仿真:自定义地图与AI车辆行为编程 ,人工智能,计算机视觉,大模型,AI,本文围绕CARLA仿真平台,介绍了其基础功能与安装方法,详解地图系统,包括预设地图的加载切换及自定义地图的创建、导入与优化。还阐述了AI车辆的创建、属性设置、销毁,以及行为控制,如交通规则遵守、路径规划、复杂行为编程和行为树应用。同时涉及传感器与车辆感知、交通场景构建、自定义地图与AI行为结合应用、高级应用,以及常见问题解决方案和学习资源,为CARLA仿真应用提供全面指导。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 11万+
上一篇: OpenTelemetry(OTel)实战指南:从核心原理到最佳实践
下一篇: 银河麒麟服务器Linux静态IP配置实战:从命令行到网络重启全流程解析
普通网友
博客等级 码龄4年 95粉丝 1459原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值