【SDCC讲师专访】腾讯潘安群:腾讯云金融级数据库TDSQL分析

关于TDSQL(MySQL)的简单知识分享 最近在系统改造过程中,接触到了国产分布式数据库TDSQL,记录一下关于TDSQL的部分知识点。TDSQL是腾讯推出的一款兼容MySQL的自主可控、高一致性分布式数据库产品。 阅读详情
摘要:SDCC 2015将于2015年11月19-21日在北京.朗丽姿西山花园酒店召开。在大会召开之际,笔者采访到了腾讯高级软件工程师潘安群,请他分享TDSQL在腾讯云金融领域的实践经验。

SDCC 2015将于2015年11月19-21日在北京.朗丽姿西山花园酒店召开。在大会召开之际,笔者采访到了腾讯高级软件工程师潘安群,请他分享TDSQL在腾讯云金融领域的实践经验。 届时,潘安群将在新一代数据库调优实战论坛中带来《腾讯云金融级数据库TDSQL分析》的主题分享,欢迎前来现场聆听【 点击这里抢票】。 


腾讯高级软件工程师

优快云:首先请简单介绍下自己、公司以及目前所负责的领域。

潘安群:目前任职于腾讯TEG计费平台部,任技术总监一职,主要负责虚拟支付平台的相关研发工作。重点关注分布式数据库、大数据风控平台等领域。

优快云:可否介绍下目前腾讯主要使用的数据库有哪些?他们各自的优势是什么?

潘安群:腾讯的OLTP场景中,主要是两大思路:

  • 基于MySQL的定制

这一类产品通常是在兼容MySQL接口协议的基础上,针对自己的业务场景做定制化,例如我们针对金融场景,定制出TDSQL,强调数据强一致性、零丢失、高可用等特性;游戏运营平台则基于游戏场景变化频繁的特点,定制出TMySQL,强调二进制字段压缩、在线DDL、快速回档(Binlog并行恢复)等特性;此外还有CDB,实现多租户管理,将DB云化,为公司私有云以及腾讯云提供数据库的PaaS服务。

  • 自研的KV存储

这一类产品就更加特性化,与业务场景结合更紧,它们的最初出发点往往是性能与服务器成本的平衡。例如常见的Feeds流,通常都会做磁盘读写优化、冷热数据自动分离;而我们也针对游戏支付营销场景,开发了高性能的,全内存的金融级分布式存储系统(HOLD),在保证跨IDC强一致性的情况下,单机性能到20万TPS。当然也有通用的CKV系统,主要是KV系统云化,为公司私有云以及腾讯云提供对象存储的PaaS服务。

此外,也有业务使用MongoDB等数据库,这类文档型数据库胜在灵活,适合产品原型或发展初期,对于大规模的在线服务,我们并不推荐使用。

在OLAP场景下,基本上被TDW垄断。TDW(腾讯分布式数据仓库)是公司大数据平台的核心部件,基于开源软件HIVE和Hadoop进行了深度定制,目前该项目已经开源。

优快云:TDSQL是一款什么样的数据库?当初开发TDSQL的初衷是什么?主要有哪些特性?其开发架构是怎样的?它适合什么样的开发场景?

潘安群:TDSQL(Tencent Distributed mySQL - 腾讯分布式MySQL)是针对金融联机交易场景推出的高一致性数据库解决方案;产品形态为一个数据库集群,底层基于MySQL(MariaDB 10.0);对外的功能及接口表现上与MySQL兼容。

重点针对金融OLTP场景进行了如下增强:

  • 通过多副本冗余和故障自动切换机制,解决单点问题,确保在单机、单IDC、甚至单个城市灾难时,服务持续可用;
  • 对数据多个副本之间的一致性保障进行深度优化,实现数据访问、主备切换的一致性,确保在单机、单IDC故障时数据零丢失;
  • 引入集群机制,实现自动的容量伸缩,确保在业务飙升时,数据库服务能力自动适配业务增长,保持对外服务的持续可用。

TDSQL整体上由三大核心模块组成:

  • DB。实际存储业务数据的MySQL实例。
  • Scheduler。存储DB实例的元数据,例如路由信息,授权信息、主备信息。此外它还负责容灾切换的调度、主备选举等。
  • Proxy。主要负责客户端请求的转发,屏蔽后端DB的容灾切换、分库分表等逻辑。

关于TDSQL架构的更多细节,期待您参与SDCC 2015数据库专场,与我们进一步讨论。

目前,在腾讯内部TDSQL主要用于对数据一致性要求最为苛刻的计费支付类业务(Midas),以及微众银行(WeBank)核心交易系统的数据层,此外也是腾讯云金融解决方案(QCloud)的数据库服务方案。

优快云:当初开发TDSQL的初衷是什么?

潘安群:腾讯计费平台从2003年以来,经过12年发展,数据库容灾架构经历4代演进,TDSQL是我们的第四代产品,2012年我们启动TDSQL这个项目,主要有下面几个动机:

  • 易用性。我们前面几代产品,在易用性上均存在一定的问题,例如第二代产品,业务逻辑跟容灾逻辑耦合太紧,导致每个业务开发人员必须对整套容灾逻辑非常熟悉,开发难度和运营维护难度都很高,而且容易出错。而第三代产品HOLD,虽然将容灾逻辑下沉到存储层,业务与容灾充分解耦了,但仅能提供简单的GET/SET这类KV接口,不够灵活。
  • 通用性。标准SQL接口比KV接口更加通用,使用范围更广。在推广第三代HOLD平台时,就面临了很多业务原本使用MySQL,现需改为KV接口,改造难度大,推广进展缓慢,而一些外部业务则根本就不愿意改造。所以存储平台必须更加标准和通用,才能让更多业务直接无缝割接到新平台。

此外,也有几个契机,让我们重新基于MySQL来打造存储平台:

  • SSD在公司内开始大规模使用,SSD的IOPS相对于机械硬盘有质的变化,能满足大部分系统的性能需求。利用好SSD优势,能极大简化存储系统的架构体系。
  • 以KV为代表的NoSQL无法形成业界标准及规范,反观以Oracle、MySQL为代表的传统关系型数据库生态完善,使用范围也更广,更容易被开发人员接受。
  • MySQL在5.5版本引入半同步复制,5.6版本引入GTID等机制,而且经过5.5,5.6,5.7等几个版本,开源的MySQL在性能、数据强一致性方面有了质的提升。

优快云:在开发TDSQL期间有没有遇到过困难点?又是如何克服的?你们目前的开发团队有多少人?

潘安群:TDSQL跟我们之前的三代产品在设计理念上有很大的不同,导致我们开发TDSQL时,除了前面三代系统积累的经验,没有其他可直接复用的模块,开发几乎是从零开始。而数据库开发本身是一个大项目,涉及的东西甚多,我们需要在很快的时间内完成第一个版本的开发,这在当时,对团队来说是一个很大的挑战。现在回头去看,当时采取的几个措施,还是相当有效的:

  • 基于开源软件快速搭建。MySQL版本选用MariaDB、Proxy版本基于MySQL Proxy、Scheduler中元信息的存储选用Zookeeper等,这些开源软件相对成熟,只需要基于它们做小的定制开发即可。
  • 聚焦、精简需求。第一个版本不求大而全。例如第一个版本我们就仅仅实现了强一致同步、主备切换等机制,而且实现方式也比较简单粗暴。
  • 找到试点业务。做平台,必须持续有业务接入,才能获得现网的验证反馈。同时也能提升团队成员的成就感。如果长时间没有业务接入,没有客户的使用和反馈,团队成员容易疲乏。

此外,TDSQL第一个版本是采用的封闭开发模式,用时3个月,当时团队6个人左右。经过近4年发展,目前研发团队,包括开发测试运营等,在20人左右。

优快云:倡导7*24高可用、金融级分布式Cache是个什么样的系统?主要运用在哪些场景上?

潘安群:腾讯自研的金融级分布式存储产品HOLD(厚德,取意厚德载物),其实是TDSQL的前身,当时SSD并没有大规模使用,但在腾讯的计费业务中,还有很多场景,不仅要求很高的服务可用性和数据一致性,还需要超高的并发和极短的响应时延,比如2B账户的交易,最高每秒10万级的更新;又比如游戏的营销类赠送,浪涌式的并发请求量,当时的DB很难满足这类需求。

基于这样的需求,我们开始思考:在OLTP数据库领域深耕这么多年,是不是可以尝试去改变一些东西?于是,2010年,HOLD项目启动。目标:超高并发、超短时延的高一致分布式数据存储层。

首先,为了获得更快的访问速度,数据结构上剔除所有关系模型,直接采用KV格式,存储介质上使用纯内存。然后,把之前在DB中积累的经验溶入进来,后面TDSQL的架构和用到的所有重要技术,几乎都在这个项目里进行了系统性的验证,包括在数据底层实现跨IDC的强同步、跨城容灾、切换一致性保障、数据自动的Sharding、集群管理等。

HOLD在计费平台应用非常成功,支撑起了多个超高并发的应用。实际运营中,经历了多次软硬件或网络故障,没有发生过数据丢失问题;自动伸缩能力也得到了很好的验证,仅2014年就伸缩近500次,非常轻量化,完全无需人工干预。

优快云:你目前还会关注哪些新技术?

潘安群:目前关注的领域包括金融风控体系在大数据中的应用、基于业务的领域专用语言、高性能后台开发、分布式系统等。此外也对大规模集群管理技术,如容器、资源管理、服务管理等感兴趣。

优快云:你认为一名优秀的技术管理者应该具备怎样的素质?你所推崇的团队文化是什么?

作为一名技术管理者,我个人非常强调技术视野这一点。互联网技术日新月异,我们必须不断学习,持续了解业界前沿动态,开拓自身视野,才能确保决策是高效的。此外,无论是对于个人,还是团队成员,我都一直强调效率。抽象业务,通过工具化、平台话的思路持续提升整体研发效率,应是每个技术人的追求。

优快云:在本次SDCC 2015上想分享的话题是?

潘安群:在SDCC 2015上,个人将分享一下TDSQL在腾讯云金融领域的实践经验。也希望借此机会,跟业内其他数据库团队交流交流。

优快云:你最期待在本次SDCC 2015上听到哪些内容?

潘安群:SDCC 2015作为开发者的盛宴,希望能通过她了解到业界在数据库、编程语言、技术架构等领域的发展趋势。


http://www.youkuaiyun.com/article/2015-11-06/2826138-SDCC

深入浅出:一文带你全面理解TDSQL分布式数据库 TDSQL是腾讯云推出的一款兼容MySQL协议的分布式数据库服务。它不仅继承了MySQL的易用性和广泛的应用生态,还通过分布式架构实现了高可用性、高扩展性和高性能。TDSQL适用于金融、电商、游戏等多种业务场景,能够满足大规模数据处理和高并发访问的需求。TDSQL作为一款先进的分布式数据库,已经在多个行业得到了广泛应用。通过本文的介绍,相信读者对TDSQL有了更深入的了解。在未来的技术发展中,TDSQL有望成为更多企业和开发者的首选数据库解决方案。 阅读详情

相关推荐

MT6771 Android13 背光曲线调试与光感数据校准实战

本文详细介绍了MT6771平台在Android 13系统上进行背光曲线调试与光感数据校准的实战经验。针对高亮度环境下背光误调节问题,深入分析了光感数据上报机制,并提供了驱动层配置修改、背光曲线优化及常见问题解决方案,帮助开发者快速定位并解决类似问题。

moon9的博客 287

腾讯大规模Hadoop集群实践

摘要:TDW是腾讯最大的离线数据处理平台。本文主要从需求、挑战、方案和未来计划等方面,介绍了TDW在建设单个大规模集群中采取的JobTracker分散化和NameNode高可用两个优化方案。 TDW(Tencent distributed Data Warehouse,腾讯分布式数据仓库)基于开源软件Hadoop和Hive进行构建,打破了传统数据仓库不能线性扩展、可控性差的局限,并且根据腾讯数据

woshichengchaoa的专栏 946

亚马逊广告接口 amazon advertising

亚马逊广告接口官方说明:https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup 一:注册aws开发者账号 注册地址:https://developer.amazon.com 二:填写注册资料 三:进入控制台,生成安全配置文件 进入 Login with Amazon 菜单: 创建配置文件: 四:申请广告接入权限 申请地址:https://advertising.amazon.com/zh-cn/about-api

lzy66666的博客 4776

腾讯公司数据平台高级架构师 郭玮:TDW在Hadoop上的实践分享

腾讯是一个巨无霸公司,我们日常的生活中已与它产生了千丝万缕的联系,不可避免的也产生了海量的数据,如何正确而快速地处理这些海量数据,腾讯数据平台高级架构师郭玮通过发表主题为“TDW在Hadoop上的实践分享”的演讲,向大家分享了腾讯处理超大规模数据的经验。 【优快云现场报道】第四届中国云计算大会将于2012年5月23-25日在北京国家会议中心隆重举行。本次大会由中国电子学会主办,北京市经济和

阳光灿烂的日子的博客 1792

AHB不对称半桥反激电路设计(一)变换器拓扑工作原理详解

本文详细分析了AHB(不对称半桥)反激变换器拓扑的工作原理及关键优势。该拓扑通过谐振腔结构实现原边功率管的零电压开通(ZVS)和副边整流管的零电流关断(ZCS),显著提升效率至95%以上。文章阐述了6个工作阶段的时序特征,包括谐振电感电流和电容电压的数学模型推导。AHB拓扑具有漏感能量回收、宽电压输出(适配PD快充等场景)和协同储能等优势,相比传统方案可缩小变压器体积30%,成为100-300W隔离电源的理想选择。

【Simon】的博客 7157

手把手教你用Matlab实现Copula函数:从理论到代码的完整指南

本文提供了一份在MATLAB中实现Copula函数的完整实战指南。从理解Sklar定理和常见Copula家族(如高斯、t、Clayton)的核心概念出发,详细讲解了数据预处理、边缘分布拟合、概率积分变换等关键步骤。通过具体代码示例,手把手演示了Copula模型的拟合、评估、蒙特卡洛模拟,并进阶应用于金融风险度量(如VaR计算)和条件分布分析,帮助读者掌握这一强大的多变量依赖建模工具。

y9z0a1b的博客 953

我眼中的TDSQL

本文主要介绍我眼中的TDSQL

拥抱AI Design 2644

Qt跨平台CAN通信实战:Vector、PCAN与周立功设备统一接口设计

本文针对Qt开发中常见的多品牌CAN设备兼容难题,提出了一套统一的跨平台CAN通信接口设计方案。通过抽象层封装,实现了对Vector、PCAN和周立功设备的统一操作,上层业务代码无需修改即可在不同硬件间切换,有效解决了驱动API差异、环境配置复杂和维护成本高等痛点,显著提升了代码复用率和开发效率。

weixin_29161785的博客 332

腾讯云数据库TDSQL(详解)

鱼弦:公众号【红尘灯塔】,优快云博客专家、内容合伙人、新星导师、全栈领域优质创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen)兼容MySQL协议和语法,使用分片集群架构提供分布式存储和计算能力,可实现海量数据和高并发压力下的高性能和高可用。总之,TDSQL实现了海量数据存储、高并发读写请求、高可用分布式架构的无缝集成,为企业业务的弹性成长保驾护航,是腾讯云在分布式数据库领域的杰出代表。

走向CTO的路上... 6289

某东x-api-eid-token风控参数分析与破解

x-api-eid-token是京东的风控参数,在接口当中,如果没有该参数,有一定的概率能请求成功,但是在请求一段时间后,会报403权限失败的,该参数主要通过jsTk.do这个接口生成,并且会将其存储到cookie当中。

zhouzhou_98的博客 1552

Python爬虫实战:采集行业协会、研究机构等平台的政策文件列表与PDF链接批量收集系统,支持自动下载、分类归档和数据库管理(SQLite持久化存储)!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 640

TDSQL高可用技术解决方案介绍

开始之前,先介绍一下目前主流的分布式数据库两个流派 第一个是通过分库分表中间件去完成,通过XA去控制,XA是MySQL原生自带的,是由事务的管理器和资源管理器两部分组成。一般,数据库通过B+树的方式进行存储,做多个副本,通过主从半同步复制完成,但是这样的方式性能比较差。 另一个是通过DBPorxy,依靠Percolator去控制,采用分区,存储时LSM树的模式。 然后我们讲讲今天的TDSQL 为了保证数据的安全,可用,TDSQL保证了三种复制方式。 我们从三个方面去分析: ü主备..

长期深耕于云计算、大数据、数据库领域! 2348

利用requests库下载bilibili字幕文件

文章目录1. 前言2. 程序下载大法好2.1 挖掘思路2.2 核心知识点2.3 汇总代码 1. 前言   之前的博客介绍了使用工具下载B站视频,但美中不足的是无法下载字幕。为了提高效率,将下载字幕的工作用程序自动化处理。 2. 程序下载大法好 2.1 挖掘思路   在谷歌浏览器中按下F12,打开谷歌开发者工具。搜索subtitle,则会得到一个json文件,如下图所示:   在网页中空白位置点击查看网页源代码,然后通过搜索(Ctrl+f)查找subtitle,则会发现在subtitle_url中包含了对应

herosunly的博客 4万+

MyCAT、DRDS、TIDB、TDSQL、TBase 在实现分布式事务时的区别及其各自的优势?

TBase是基于PostgreSQL开发的企业级分布式HTAP数据库,这里介绍下TBase在分布式事务方面的一些经验: 1.传统基于MVCC+2PC+GTM做的分布式事务,在高并发的情况下这种基于GTM全局快照的设计会在GTM上有比较大的性能压力。一个是GTM加锁遍历生成全局快照中活动事务列表计算的开销以及锁冲突开销,另一个是高并发下活动事务列表过大导致快照大小膨胀带来的网络开销。这两点导致这种设计在高并发情况下性能受限。 2.Google Spanner基于原子时钟和true time api实现了一致性

weixin_43872058的博客 2236

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

这次,听人大教授讲讲分布式数据库的多级一致性|TDSQL 关键技术突破

近年来,凭借高可扩展、高可用等技术特性,分布式数据库正在成为金融行业数字化转型的重要支撑。分布式数据库如何在不同的金融级应用场景下,在确保数据一致性的前提下,同时保障系统的高性能和高可扩展性,是分布式数据库的一个核心技术挑战。 针对以上分布式一致性的困境,中国人民大学-腾讯协同创新实验室研究提出“多级一致性”的事务处理理念。该技术包含严格可串行化、顺序可串行化、可串行化三大隔离级别,可针对不同应用场景要求,极大地平衡性能与一致性要求,满足金融及各类企业场景的分布式事务处理需求。该项技术已应用于腾讯分布式数据

weixin_43872058的博客 4102

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TDsql

TDsql的简介及特点

qq_52345004的博客 3241

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

微众银行国产数据库应用实践:TDSQL与TiDB的技术演进与运维

每个业务单元形成自包含单位,其中业务单元和小容量全局管理单元业务(3TB以内)采用TDSQL单实例架构数据库,而大容量全局管理单元业务(3TB以上)、核心批量业务、汇聚/归档类业务则采用TiDB分布式数据库。在数据库技术方面,微众银行采用了国产数据库解决方案,特别是TDSQL和TiDB,以支持其快速发展的业务需求。微众银行通过采用TDSQL和TiDB等国产数据库技术,不仅实现了数据库的高可用性、高性能和可扩展性,还为金融行业的数字化转型提供了一个成功的案例。

ITPUBD的博客 471

对腾讯云的TDSQL的简单入门学习

OLTP 是 事件驱动 、 面向应用 的,也称为 面向交易的处理过程,OLAP 是 面向数据分析 的,也称为 面向信息分析处理过程。我们日常都是OLAP的数据库

做人做事,只有偏执到癫狂,才能达到顶峰 5113

国产主流数据库存储类型简析

国产数据库在技术架构上主要分为集中式、基于中间件分布式和原生分布式架构,衍生出集中式架构和分布式架构。那么在这些部署架构中,从数据分布的视角来看,在数据库中数据分布的形态是怎样的。本文将简要分析OceanBase、PolarDB、OpenGauss、GaussDB、GoldenDB、TiDB和TDSQL这几个主流的国产数据库的存储类型及存储引擎。

牧羊人的方向 7248

腾讯金融级分布式数据库TDSQL的前世今生

作者:潘安群,腾讯TEG/计费平台部技术总监,2007年毕业于华中科技大学,随即加入腾讯,一直负责计费领域相关系统建设工作,先后主导账户平台、风控平台、HOLD及TDSQL、计费集群等平台建设。 本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2017年《程序员》 TDSQL(Tencent Distributed MySQL,腾讯分布式MySQL)是由腾讯技术工程事业群...

Joy0921的博客 2604

sqoop增量将TDSQL数据导入到HDFS

echo -e "\033[33m请检查是否输入参数(参数格式:yyyyMMdd)\033[0m"#数据库信息存储为隐藏文件,权限设置为400,保证用户信息安全。#将需要同步的表名统一放到文件内读取。#TDSQL数据库批量同步(增量)

weixin_67805929的博客 432

腾讯云TDSQL基本原理-水平分表

水平拆分方案是 TDSQL MySQL版 的基础原理,它的每个节点都参与计算和数据存储,且每个节点都仅计算和存储一部分数据。因此,无论业务的规模如何增长,我们仅需要在分布式集群中不断的添加设备,用新设备去应对增长的计算和存储需要即可。 水平切分 水平切分(分表):是按照某种规则,将一个表的数据分散到多个物理独立的数据库服务器中,形成“独立”的数据库“分片”。多个分片共同组成一个逻辑完整的数据库实例。 常规的单机数据库中,一张完整的表仅在一个物理存储设备上读写。 分布式数据库中,根据在建表时设定的分表键,系

weixin_43872058的博客 1194

SQL语句字符串处理大全

常用的字符串函数有:   一、字符转换函数   1、ASCII()   返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。   2、CHAR()   将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。   3、L...

weixin_30326515的博客 397

16.常见的8种分布式数据库系统在分布式方面的差异

虽然很多数据库系统都使用了分布式,但是该分布式和Hadoop HDFS的数据分布式存储还是有很大的差异的。OceanBase通过分区表实现在机房内部的打散分布,TIDB通过TIKV Region=96M~144M,将数据打散到所有TIKV节点,并使用Raft协议实现3副本,达梦数据库没有副本,需要单独对每个节点创建备库,达梦数据库的分布式系统相比其他分布式系统来说,就显得比较差劲。在一个SET内部,通过一主两备或者一主一备实现SET内部的高可用,也是比较别致的一种使用方法。(4).Hadoop的分布式。

weixin_43346403的博客 1801

轮子这么多,为什么我们选择自己造一个NewSQL?

点击“开发者技术前线”,选择“星标????” 在看|星标|留言, 真爱 作者丨李鑫 来源丨滴滴技术(ID:didi_tech) 一、背景Fusion-NewSQL是由滴滴自研的在分...

开发者技术前线-DevolperFront 595

SQL函数说明大全

一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果。这些要求包括:执行计算与数学运算、转换数据、解析数值、组合值和聚合一个范围内的值等。 下表给出了T-SQL函数的类别和描述。 函数类别 作用 聚合函数

学无止境 6533
上一篇: C++智能指针
下一篇: linux命令之awk
sofia1217
博客等级 码龄17年 36粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值