Seata-go 1.0 重磅发版

Golang Seata 分布式事务方案详解 Seata-Golang是基于Seata分布式事务框架的Golang实现,支持AT、TCC等事务模式。文章详细介绍了在Golang项目中集成Seata的方案:包括环境配置(安装、YAML文件设置)、AT模式实现(全局事务管理)、TCC模式开发(Try-Confirm-Cancel流程)、与GORM的集成方法,以及生产环境部署建议(高可用配置、性能调优)。同时提供了常见问题解决方案,帮助开发者构建可靠的分布式事务系统。该方案适用于微服务架构下的复杂业务场景。 阅读详情

bb29b85eb7f599989f8cdbc06d54a0ce.gif

文|

赵新(花名:于雨 )

蚂蚁集团 Seata 项目开源负责人

本文 2953 字 阅读 10 分钟

发布概览

主要新增特性:

  1. 支持以 gRPC、HTTP 方式实现 TCC 调用;

  2. 支持 TCC 防悬挂和空回滚自动处理;

  3. 支持 TCC 模式一阶段传入用户自定义参数;

  4. 支持 AT 模式的数据源代理;

  5. AT 模式支持并集成了 Update 语法解析(其中 Insert、Delete、Multi Delete、Multi Insert 等语法解析工作已完成但是未集成);

  6. 支持了事务异步处理功能。

上半年工作规划

Seata-go 后续主要工作如下:

  • 集成 AT 模式 Insert、Delete、Multi Delete、Multi Insert ;

  • XA 模式开发;

  • 与其他生态互联互通,构建一体化的微服务基础设施平台:

    • 与 MOSN 等 Service Mesh 生态互通,达成生产可用的 Transaction Service Mesh 技术形态;

    • 与 Dapr 社区合作,推进分布式事务标准 API 工作;

    • 与 RocketMQ 合作,推进分布式消息事务模式工作;

    • 与各种 Go 语言 ORM 库合作,在不修改任何业务代码的情况下,以零成本实现 单体服务/微服务 平台的分布式事务;

    • 与 Dubbogo 社区的 Dubbo-go/Dubbo-go-pixiu 等产品合作,保证微服务间的一致性。

版本主要更新

Feature

[#190] 添加分支状态上报接口 

https://github.com/seata/seata-go/pull/190

[#158] TCC 模式支持 gRPC 调用

https://github.com/seata/seata-go/pull/158

[#213] 支持数据源代理功能

https://github.com/seata/seata-go/pull/213

[#240] 删除日志管理功能

https://github.com/seata/seata-go/pull/240

[#243] 添加 Update SQL 语法解析器

https://github.com/seata/seata-go/pull/243

[#191] 支持 TCC 防悬挂、空回滚处理功能

https://github.com/seata/seata-go/pull/191

[#264] 添加更新 SQL 解析器并删除 TiDB 解析器

https://github.com/seata/seata-go/pull/264

[#280] TCC 支持 HTTP 调用

https://github.com/seata/seata-go/pull/280

[#245] 支持 hasLogTable 判断逻辑

https://github.com/seata/seata-go/pull/245

[#288] 添加 Update SQL 的 Undo Log 生成功能

https://github.com/seata/seata-go/pull/288

[#296] 添加 Delete SQL 的 Undo Log 生成功能

https://github.com/seata/seata-go/pull/296

[#303] 添加异步处理器

https://github.com/seata/seata-go/pull/303

[#289] 撤销日志生成器后添加 MySQL 更新

https://github.com/seata/seata-go/pull/289

[#294] 添加 MySQL 元数据查询

https://github.com/seata/seata-go/pull/294

[#309] 初始化压缩类型

https://github.com/seata/seata-go/pull/309

[#301] 添加 Multi SQL 的 Undo Log 生成功能

https://github.com/seata/seata-go/pull/301

[#321] 添加 DEFLATE 压缩功能

https://github.com/seata/seata-go/pull/321

[#324] 添加 LZ4 压缩功能

https://github.com/seata/seata-go/pull/324

[#327] 添加 Zstd 压缩功能

https://github.com/seata/seata-go/pull/327

[#322] 添加 Gzip 压缩功能

https://github.com/seata/seata-go/pull/322

[#307] 添加 Flush Undo Log 功能

https://github.com/seata/seata-go/pull/307

[#329] 添加 Zip 压缩功能

https://github.com/seata/seata-go/pull/329

[#325] 添加 Multi update SQL 的 Undo Log 生成功能

https://github.com/seata/seata-go/pull/325

[#330] 添加 Multi delete SQL 的 Undo Log 生成功能

https://github.com/seata/seata-go/pull/330

[#319] 添加选择更新执行器

https://github.com/seata/seata-go/pull/319

[#320] 添加 Undo 逻辑

https://github.com/seata/seata-go/pull/320

[#337] 添加插入 Undo Log 逻辑

https://github.com/seata/seata-go/pull/337

[#355] 支持根据配置判断 Undo Log 保存字段个数

https://github.com/seata/seata-go/pull/355

[#365] 回滚 AT 之前做脏数据校验

https://github.com/seata/seata-go/pull/365

Bugfix

[#237] 修复在执行 OpenConnector 函数时候注册资源的 bug

https://github.com/seata/seata-go/pull/237

[#230] 修复远程异步调用无限循环的 bug

https://github.com/seata/seata-go/pull/230

[#258] 修复全局事务超时的 bug

https://github.com/seata/seata-go/pull/258

[#263] 修复 Mock 数据的 bug

https://github.com/seata/seata-go/pull/263

[#326] 修复 Fan-out 单元测试 bug

https://github.com/seata/seata-go/pull/326

[#350] 修复 panic 的 bug

https://github.com/seata/seata-go/pull/350

[#359] 修复插入 Undo Log 的 MySQL 参数 bug

https://github.com/seata/seata-go/pull/359

[#360] 修复 AT 回滚例子 bug

https://github.com/seata/seata-go/pull/360

[#363] 修复 Meta Data bug

https://github.com/seata/seata-go/pull/363

[#365] 修复反序列化 Undo Log bug

https://github.com/seata/seata-go/pull/365

Optimize

[#187] 优化 Seata-go 初始化流程

https://github.com/seata/seata-go/pull/187

[#196] 优化远程调用方法参数

https://github.com/seata/seata-go/pull/196

[#200] 添加 TCC gRPC 样例,优化注册资源和分支注册

https://github.com/seata/seata-go/pull/200

[#208] 优化删除不必要代码

https://github.com/seata/seata-go/pull/208

[#215] 优化使时间参数,提高可读性

https://github.com/seata/seata-go/pull/215

[#179] 支持 TCC 一阶段传入用户自定义参数

https://github.com/seata/seata-go/pull/179

[#198] 优化远程调用方法的传参

https://github.com/seata/seata-go/pull/198

[#235] 调整 MessageType 枚举值命名规范

https://github.com/seata/seata-go/pull/235

[#238] 添加一些待办事项注释,添加 Hook 例子

https://github.com/seata/seata-go/pull/238

[#261] 优化嵌套循环重试

https://github.com/seata/seata-go/pull/261

[#284] 优化重试逻辑

https://github.com/seata/seata-go/pull/284

[#286] 将 RM 和 TM 的初始化逻辑拆分

https://github.com/seata/seata-go/pull/286

[#287][#295] 重构 Seata Conn 逻辑

https://github.com/seata/seata-go/pull/287

https://github.com/seata/seata-go/pull/295

[#281] 优化全局事务使用

https://github.com/seata/seata-go/pull/281

[#302] 修改 Dubbo-go 版本

https://github.com/seata/seata-go/pull/302

[#336] 优化 AT 整体流程

https://github.com/seata/seata-go/pull/336

[#346] [#354] 优化 AT 事务提交流程

https://github.com/seata/seata-go/pull/346

https://github.com/seata/seata-go/pull/354

[#352] 优化获取元数据流程

https://github.com/seata/seata-go/pull/352

[#353] 修改方法接收者命名规范

https://github.com/seata/seata-go/pull/353

[#356] 优化 AT 事务回滚流程

https://github.com/seata/seata-go/pull/356

Test

[#154] 添加 Message 单元单测

https://github.com/seata/seata-go/pull/154

[#163] 添加 TM 单元单测

https://github.com/seata/seata-go/pull/163

[#203] 添加 Getty 单元测试

https://github.com/seata/seata-go/pull/203

[#204] 添加 Dubbo Filter 单元测试

https://github.com/seata/seata-go/pull/204

[#210] 添加 TCC 分支报告测试

https://github.com/seata/seata-go/pull/210

[#192] 添加 RM 单元测试

https://github.com/seata/seata-go/pull/192

[#229] 添加 Common 单元测试

https://github.com/seata/seata-go/pull/229

[#299] 添加 SQL Parser 单元测试

https://github.com/seata/seata-go/pull/299

[#332] 添加 Multi Delete Uundo Log 单元测试

https://github.com/seata/seata-go/pull/332

[#358] 添加 AT 回滚的例子

https://github.com/seata/seata-go/pull/358

Doc

[#202] 优化 GitHub CI 流程,添加 condecov 、 issue CI 工作流

https://github.com/seata/seata-go/pull/202

[#254] 添加自动检查 licence 的脚本

https://github.com/seata/seata-go/pull/254

[#305] 修改 CI 不要自动关闭 issue 和 PR

https://github.com/seata/seata-go/pull/305

致谢

非常感谢以下 Contributors 的代码贡献。若有无意遗漏,请报告。

AlexStocks:

https://github.com/AlexStocks

luky116:

https://github.com/luky116

106umao:

https://github.com/106umao

liiibpm:

https://github.com/liiibpm

elrond-g:

https://github.com/elrond-g

wang1309:

https://github.com/wang1309

iSuperCoder:

https://github.com/iSuperCoder

a631807682:

https://github.com/a631807682

betterwinsone:

https://github.com/betterwinsone

jasondeng1997:

https://github.com/jasondeng1997

chuntaojun:

https://github.com/chuntaojun

complone:

https://github.com/complone

miaoxueyu:

https://github.com/miaoxueyu

PangXing:

https://github.com/PangXing

georgehao:

https://github.com/georgehao

baerwang:

https://github.com/baerwang

raspberry-hu:

https://github.com/raspberry-hu

WyattJia:

https://github.com/WyattJia

Code-Fight:

https://github.com/Code-Fight

betterwinsone:

https://github.com/betterwinsone

同时,我们收到了社区反馈的很多有价值的 issue 和建议,非常感谢大家。

社区讨论群

扫扫加入微信群:

35e5fd4e06f10b473d05307a9e203f22.jpeg

钉钉群号:44816898 33069364

Seata Star 一下✨:
https://github.com/seata/seata-go

  本周推荐阅读  

c1edb9a01e646e52b80f318604451ec3.png

Seata AT 模式代码级详解

e66e215aaa8a8ab0be5f739e7d4969cb.png

蚂蚁集团境外站点 Seata 实践与探索

feba4ecaec2de6150c1ce9e43d0db7c7.png

Seata 多语言体系建设

e005d0c330121c84ce3504970e7ec456.png

Seata-php 半年规划

96b4018b4cc7c002065ddf2205213ead.jpeg

seata-golang:像SEATA这样的分布式事务框架,支持TCC模式和AT模式。鼎语 西塔戈朗 钉钉群号33069364 一个朴素的想法 作为一个刚入Golang坑的普通微服务开发者所做的,很容易产生一个朴素的想法,希望Golang微服务也有分布式事务解决方案。本项目尝试将Java版的Seata改写一个Golang的版本。在Seata没有Golang版本client sdk的情况下,Golang版本的TC Server使用了和Java版Seata相同的通信协议,方便调试。开发者加入我们一起完善Golang版本的分布式事务解决方案。本方案参考了dubbo-go的实现。由于时间有限,且对golang的一些特性不甚了解,有些意识到不太优雅,希望有更多开发者来参与并优化它。 待办事项清单 内存会话管理器 数据库会话管理器(仅支持mysql) RAFT会话管理器 指标收集器 TM值 RM TCC RM AT 客户端合并请求 从配置中心读取配置 单元测试 运行TC 编译 cd 立即下载

相关推荐

seata1.rar

seata-server-1.1.0.zip版本的github下载太慢,上传到这里提供下载,方便大家使用,同时也赚点积分。eata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

分布式事务解决方案Seata-Golang浅析

seata-golang 分布式事务框架

阳光大男孩!!!的博客 2279

seata1.1.0.zip

seata1.1.0.zip

推荐开源项目:Seata-Golang - 分布式事务解决方案

推荐开源项目:Seata-Golang - 分布式事务解决方案 在现代微服务架构中,保证事务的一致性是至关重要的。 是 Seata(Simple Extensible Autonomous Transaction Architecture)的 Golang 实现,它是一个高性能、轻量级的分布式事务管理框架,旨在提供全面的分布式事务解决方案。 项目简介 Seata-Golang 基于 Seata J...

gitblog_00063的博客 785

时序定江山,功耗写风骨——解读时序库lib文件的奥义【芯片设计 lib文件】

lib库,全称liberty library format file:它是Liberty时序文件的简称,使用 Liberty 语法来编写。它可以通过library compiler/dc转换成.db文件(database),供synopsis家的DC和PT使用,也可以通过spyglass的library compiler来生成sglib文件,供spyglass使用。他们是等价的,但db文件是二进制格式,人类不可读。

LogicYarn的博客 2602

SPSS_Process—简单&平行&链式中介模型

本篇文章介绍采用SPSS的插件Process对简单中介、链式中介、平行中介模型进行检验的操作方法及结果解读。

m0_54401011的博客 4万+

Montserrat可变字体深度解析:实现响应式排版的最佳实践

Montserrat字体项目是一款源自布宜诺斯艾利斯传统街区的开源字体,以其独特的城市排版风格和灵活的可变字体特性,成为现代响应式设计的理想选择。本文将深入探讨Montserrat可变字体的核心优势、应用场景及最佳实践,帮助设计师和开发者轻松实现跨平台的排版一致性。 ## 什么是Montserrat可变字体? Montserrat可变字体(Variable Font)是传统静态字体的进化形式,

gitblog_00206的博客 382

把对讲门铃(控制底楼铁门)接入米家服务器

今天讲个跟SDR或者无人机无关的东西,技术含量不高,但是方便了我的生活。 现在家门有智能锁,汽车也可以远程解锁发动,NFC门禁也可以用某些手机复制,唯独楼下的铁门,必须用老式对讲门铃控制。 也就是说其它钥匙都可以不带,就剩这个钥匙还必须随身携带。 另外有时候人不在家,不能开楼下铁门,快递员也没法把东西送上楼。 ......

老邵的开源世界 6551

Seata-Go:Go语言中的分布式事务解决方案

Seata-Go:Go语言中的分布式事务解决方案 项目介绍 Seata-Go 是 Apache Seata 在 Go 语言环境下的实现版本,旨在为 Go 开发者提供一个简单、可扩展的分布式事务解决方案。Seata 作为 Java 领域的事实标准,已经在分布式事务处理方面积累了丰富的经验和技术沉淀。Seata-Go 的出现,填补了 Go 语言在分布式事务领域的空白,使得 Go 开发者也能享受到 Se...

gitblog_00087的博客 839

LED背光驱动电路解析:从MP3394芯片到液晶屏灯管控制

本文深入解析了以MP3394芯片为核心的LED背光驱动电路工作原理。从升压电路的能量转换到多路LED的均流控制,详细阐述了其作为液晶屏背光“大脑”的关键作用,并提供了黑屏、闪屏、亮度不均等常见故障的实战检修思路与排查方法。

agile9scrum的博客 822

Fluent 2.5D动网格重构实战:涡旋压缩机复杂运动模拟指南

本文详细解析了Fluent 2.5D动网格重构技术在涡旋压缩机复杂运动模拟中的应用。通过对比传统方法,2.5D重构显著提升了计算效率和稳定性,特别适用于柱体类几何的网格处理。文章提供了从基础配置到参数优化的实战指南,包括关键设置步骤、常见问题排查及性能优化策略,帮助工程师有效解决动网格重构中的负体积和网格畸变问题。

weixin_28455801的博客 549

seata-golang 接入指南

作者 | 刘晓敏 来源|阿里巴巴云原生公众号 seata-golang 是一个分布式事务框架,实现了 AT 模式和 TCC 模式,AT 模式相较 TCC 模式对代码的入侵性更小、需要开发的接口更少;但 AT 模式对事务操作的数据持有全局锁,从这点来说,TCC 模式性能更好。 seata 的 AT 模式将全局锁放在 transaction coordinator 也就是事务协调器上,依赖于具体锁接口的存储实现方式可以是 file/db/redis 等,而不是数据库锁,每个分支事务提交时立即释放数据库锁,这样.

阿里巴巴云原生的博客 2356

LabView实现modbus通讯

labview实现modbus通讯

Lrj的博客 7663

分布式事务框架 seata-golang 通信模型详解

作者 | 刘晓敏 于雨 一、简介 Java 的世界里,大家广泛使用的一个高性能网络通信框架 netty,很多 RPC 框架都是基于 netty 来实现的。在 golang 的世界里,getty 也是一个类似 netty 的高性能网络通信库。getty 最初由 dubbogo 项目负责人于雨开发,作为底层通信库在 dubbo-go 中使用。随着 dubbo-go 捐献给 apache 基金会,在社区小伙伴的共同努力下,getty 也最终进入到 apache 这个大家庭,并改名 dubbo-getty 。 1.

阿里巴巴云原生的博客 877

36、基于启发式的双向RRT*路径规划算法解析

本文介绍了一种基于启发式的双向RRT*路径规划算法(LGHB-RRT*),通过地图预处理、通道区域提取和通道识别点定义,结合随机树的引导生长与可变密度采样机制,显著提升了在复杂通道环境下的搜索效率与成功率。算法采用双向扩展结构,并引入启发式生长策略引导树向通道关键点发展,同时利用路径优化简化最终路径。仿真结果表明,该算法在多种复杂地图中均能高效找到最优路径,优于传统RRT*和Bi-RRT*算法,具备良好的适应性与应用前景。

rgv234567的博客 118

手把手完整实现STM32+LORA组网网关+机智云平台+手机APP应用———第一节- 一主多从的LORA本地组网通信-实现从机采集温湿度与主机显示数据

本教程为《手把手实现STM32+LORA组网网关+机智云平台+手机APP应用》第一节。实现一个主机,两个从机的LORA组网通信。两个从机采集温湿度数据并通过LORA传输数据到主机,然后主机接收到两个从机数据后进行数据显示,本节通过PC串口助手显示两个从机的数据。 下一节将其主机接收的数据通过WIFI网关(ESP8266)传到机智云平台与手机APP。 本文讲解一主多从的LORA本地组网通信,串口助手进行数据展示。使用硬件主要包括:STM32F103C8T6最小系统板(3个)、正点原子LORA模块ATK-L

嵌入式阿齐Archie 1万+

Apache Beam Scala SDK 全解析:基于 Scio 编写 Scala 版 Beam 数据管道

Apache Beam 是一个统一的批处理与流处理编程模型,官方为 Java、Python、Go 提供了语言级 SDK,而 **Scala 场景下的官方解决方案是 Scio**——一个由 Spotify 维护、受 Apache Spark 与 Scalding 启发的 Scala API。本文以 Apache Beam 仓库中的 [Scala SDK 文档](https://link.gitcod

gitblog_00007的博客 418

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

7个HTTP API分离关注点设计技巧:从理论到实战指南

在API开发中,分离关注点是提升系统可维护性和扩展性的关键原则。GitHub加速计划(ht/http-api-design)项目提供的HTTP API设计指南强调,通过合理划分请求与响应周期中的不同部分,可以让开发者更专注于复杂问题的解决。本文将结合该项目核心文档,分享7个实用的分离关注点设计技巧,帮助你构建更清晰、灵活的API接口。 ## 1. 用路径标识资源身份 API路径应专注于标识资源

gitblog_00866的博客 423

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

go分布式事务 mysql_分布式|事务框架 seata-golang 通信模型详解

func (coordinator *DefaultCoordinator) (session getty.Session, err error) {// 释放 TCP 连接SessionManager.ReleaseGettySession(session)session.Closelog.Errorf("getty_session{%s} got error{%v}, will be clos...

weixin_29458017的博客 760

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Seata-Go-Server:高效、高可用的分布式事务解决方案

Seata-Go-Server:高效、高可用的分布式事务解决方案 项目介绍 Seata-Go-Server 是一个基于 Golang 开发的高可用分布式事务解决方案的服务端组件,它兼容 Seata(0.5版本以后)。Seata-Go-Server 旨在提供一个高性能、高可用的分布式事务处理平台,适用于各种需要强一致性事务处理的场景。通过其独特的架构设计和强大的功能特性,Seata-Go-Serve...

gitblog_00646的博客 810

推荐Seata-Go-Server:打造高性能、高可用的分布式事务解决方案

推荐Seata-Go-Server:打造高性能、高可用的分布式事务解决方案 项目介绍 Seata-Go-Server 是一款为解决分布式事务难题而生的开放源代码服务端组件,完全兼容 Seata 0.5 及以上版本。这款由 Golang 编写的工具,以其独特的设计和强大的功能,为企业级应用提供了可靠的事务一致性保障。 项目技术分析 Seata-Go-Server 采用了一种创新性的架构,包括以下几个...

gitblog_00083的博客 450

httpjail社区贡献指南:如何参与项目开发和功能扩展

httpjail是一个跨平台工具,用于通过网络隔离和透明代理拦截监控和限制进程的HTTP/HTTPS请求。作为开源项目,社区贡献对其发展至关重要,本指南将详细介绍如何参与httpjail项目开发和功能扩展。 ## 贡献前准备工作 ### 环境搭建 首先需要克隆项目仓库,执行以下命令: ```bash git clone https://gitcode.com/gh_mirrors/ht/h

gitblog_07188的博客 352

NRE神经关系抽取的未来展望:技术趋势与发展方向

神经关系抽取(NRE)作为自然语言处理领域的关键技术,正通过深度学习模型不断突破语义理解的边界。本文将深入探讨NRE技术的演进历程、当前挑战及未来发展方向,为从业者和研究者提供全面参考。 ## 一、NRE技术架构的迭代演进 神经关系抽取技术经历了从传统机器学习到深度学习的跨越。早期模型如CNN(卷积神经网络)通过局部特征提取实现实体关系分类,而PCNN(段落级CNN)则引入分段池化机制,显著提升

gitblog_00543的博客 705

终极Html2Pdf完整指南:PHP中HTML转PDF的革命性解决方案

想要在PHP应用中轻松实现HTML转PDF功能吗?Html2Pdf就是您需要的终极解决方案!这个强大的PHP库让HTML到PDF的转换变得简单高效,支持从发票生成到文档创建的多种应用场景。无论您是PHP新手还是经验丰富的开发者,Html2Pdf都能为您提供完整的HTML转PDF功能,让PDF生成变得前所未有的简单。 ## 📋 Html2Pdf是什么? Html2Pdf是一个基于PHP的HTM

gitblog_00766的博客 420

如何快速评估DevPod环境负载能力:完整性能测试指南

DevPod是一款开源的本地开发环境管理工具,它允许开发者在任何云服务、Kubernetes集群或本地Docker环境中创建和管理开发工作区,兼容各种IDE。本文将详细介绍如何对DevPod进行性能测试,评估其在不同负载条件下的环境承载能力,帮助用户优化配置并确保稳定运行。 ## 为什么需要进行DevPod性能测试? 在使用DevPod构建多工作区开发环境时,了解系统在高负载下的表现至关重要。

gitblog_00786的博客 441

SpringCloud Seata 1.0

Seata 简单了解

fenggfa的博客 651
上一篇: 这100件年度精选案例,讲透了技术公司的创新逻辑
下一篇: Service Mesh 的下一站是 Sidecarless 吗?
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值