近日,腾讯计费团队首次分享了对金融级核心交易解决方案TDMesh的深度实践。
腾讯账单是为支撑腾讯千亿内部业务收入而孵化的互联网交易平台。
汇聚国内外主流支付渠道,提供账户管理、精准营销、安全风控、审计记账、账单分析等多维度服务。
。
平台承载腾讯营收、百亿账户、百亿日交易量,覆盖+国家(地区),服务数万家企业、数百万商户,是综合性一站式计费平台。
TDMesh是由支持腾讯15年的计费技术系统孵化的。
包括全局一致性、海量请求支持、7*24不间断服务管理、秒级智能监控和弹性伸缩等多个功能版块,共同构成了一整套金融级解决方案。
腾讯计费平台部总经理李纲表示:“基于计费的高一致性、高性能、高可用性、高可靠性的技术要求,腾讯计费平台部在多年积累的基础上,对核心技术板块进行了全面优化和整合。
凭借服务内部业务的经验,推出了一套金融级核心交易解决方案,TDMesh在不断进化和完善自身的同时,也希望通过参与相关技术讨论,与合作伙伴共同打造金融级高一致性技术实例。
推动行业发展的高挑战,腾讯计费技术建设思路 腾讯计费系统的基础设施建设始于2008年。
在随后的15年发展中,随着接入服务的增加、移动支付的兴起。
部署领域的全球化,腾讯正计划在收费方面面临一系列挑战,例如: ? 财务层面的高一致性。
腾讯账单承载着游戏账号、积分权益、泛娱乐订阅、广告客户等数百亿账户存储。
在交易高峰期,每秒可达数十万笔。
日交易量超百亿,日均版本或流程变更超百次。
物品。
巨大的交易规模下,如何保证千亿年收入零差错,实现财务级一致性是计费的核心关键问题。
?高性能。
计费流程,如游戏优惠券消费、按点击付费的广告点击扣费等,访问频繁,往往伴随着热点。
另外,比如活动量大的时候,流量会爆发数十次,叠加瞬时峰值超过百万tps。
这就要求计费具有较高的单机性能和整体冗余度; ? 高可用性。
计费服务目前已在全球部署+集群。
作为一个大跨度的支付系统,势必会面临各种网络异常、不同国家支付渠道的差异、配置和数据处理的困难等,这些都要求计费服务具有强大的业务容灾能力和数据能力。
容灾能力,足够的灵活性和容错设计,全年不可用时间控制在分钟级; ? 高可靠性。
主要针对存储层。
只要响应成功,就意味着数据必须落盘。
它可以确保在操作系统崩溃等意外中断的情况下数据不丢失。
同时,任何一个分布式节点的故障都可能导致本地数据损坏、脑裂等问题。
,还要求数据严格准确,不丢失。
为了应对上述“四高”挑战,腾讯计费在技术上采用了微服务和中层设计两大设计思路:微服务设计,通过合理的功能拆分,进行服务注册、发现等精细化服务管理和断路器。
、自愈、负载均衡、链路跟踪等实现功能的快速扩展和流量的高效调度,从而实现整个系统的高扩展性和高可用性。
通过合理的职能组织,模块边界清晰,内部落实。
基于组件化的相似逻辑抽象,以及统一的服务认证、服务间配置、服务内事务、服务统一存储等,实现整体服务的高复用性,提高研发效率。
基于以上想法,腾讯。
Billing构建了名为“TDMesh”的金融级计费解决方案,涵盖了从访问到存储各个环节的四大高要求组件,以及服务调度、监控、变更灰度、数据分析等运营管控模块。
。
这些组件模块相互配合,有效支撑腾讯计费及外部合作伙伴的业务发展。
技术产品体系完整,TDMesh得到了业界的认可。
从技术架构来看,TDMesh已经形成了完整、丰富的技术产品体系。
首席架构师、计费专家陈宁国在会上全面剖析了TDMesh的整体架构。
他介绍,腾讯金融级核心交易解决方案TDMesh包括1)TDEA的统一入口调度、协议管理、服务认证。
; 2)TDCC配置引擎,多链路复杂关联配置高度一致管理; 3)TDXA交易引擎,对应用层复杂的长链路交易逻辑进行高度一致的管理; 4)TDF高性能基础服务框架; 5)TDMQ高度一致的高性能分布式消息队列; 6)TD-Hold高一致性高性能分布式缓存; 7)TDSQL金融级高一致性、高可靠性数据库; 8) TDLedger去中心化高一致性记账机制,区块链; 9)操作系统实现服务的统一调度和灵活管理。
对于开发者来说,使用TDMesh后,APP可以一步连接到TDMesh的所有组件,从配置、接入、应用层交易、到订单存储。
对整个交易业务链包括消息通信、对账等进行一揽子标准化处理,实现自身服务高一致性的四个高要求。
TDMesh在计费方面的典型应用示例:一次典型的折扣促销活动,通过7个关键环节的组件技术能力的配合,实现了大请求量活动的顺利实施。
值得一提的是,TDMesh的整套分布式解决方案不仅适用于计费,对于金融相关行业也具有很高的参考和应用价值,得到了金融行业的认可。
至此,金融级解决方案TDMesh及腾讯自研分布式数据库TDSQL的组成部分之一TDSQL已支撑国内第一家传统银行江苏张家港农商行核心业务系统向银行级转型。
新一代分布式核心业务。
系统,实现独立可控。
同时,这款分布式数据库产品也已向合作伙伴开放;目前,TDSQL数据库已为中国银行等30多家公有云客户和近30家私有云客户提供数据库服务。
在本次发布中,重点关注的TDMesh组件包括解决应用层事务的TDXA,以及负责系统解耦和事务异常处理的TDMQ。
TDXA(腾讯分布式扩展架构)是一个以长链路一致性为目标、支持多种事务模式混合、图形化开发的分布式事务调度引擎。
支持的交易模式包括TCC/Saga/AT等;其编排能力主要是通过流程状态跳转跟踪自动确认或回滚,异常发生时零人工干预;其开发模式以图形为主的一站式综合研发平台;从而最终将复杂的分布式一致性问题交给平台,使业务开发更加专注,简化复杂性,提高系统的容错性和稳定性。
TDXA主要适用于OLTP(在线事务处理流程,多用于一线业务运营)长事务处理场景。
计费服务基于微服务架构,一个完整的交易流程通常会进行多达数十次的网络调用,包括RPC接口、原生DB接口、KV接口等。
基于高一致性的要求,如果开发者处理各种异常,可以保证一致性高了,代码的复杂性和不可控性就会明显。
因此,TDXA的核心使用价值在于通过统一的组件规范对一致性问题的处理,保证服务的高一致性和高质量,有效减少开发人员处理错误或异常的工作量,满足业务过程中交易场景的多样化发展。
而交易量的快速增长,要求计费系统具有高一致性、高性能、高可靠性。
TDXA的正常运行,尤其是超时的处理、不同系统之间的异步解耦、数据库数据同步,依赖于另一个核心组件TDMQ(腾讯分布式消息队列)。
TDMQ是采用云原生架构设计的消息队列,具有跨城高一致性、高可靠性、高性能的特点。
已广泛应用于腾讯计费场景,支持日均过亿元请求的交付,包括支付通知、实时对账、实时监控、大数据实时分析等。
TDMQ云原生的一个典型特点就是支持存储与计算分离。
上层计算层由独立的broker组成,支持高性能的网络访问和主题管理。
下存储层实现日志流的高度一致复制。
这样就可以根据业务性能或容量需求进行扩展,实现整体成本优化。
TDMQ的典型特性包括延迟消息、事务消息、消息跟踪、完整的多租户支持、任意数量的消费者等,对高并发消费等场景友好。
此外,在操作方面,还支持数据快速平滑迁移、逻辑隔离等特性,避免多个Topic之间生产和消费的相互影响。
最后,作为一款致力于金融级核心交易一揽子解决方案的技术产品,在不断深入实践和总结的同时,我们也希望通过更丰富的场景和客户来提升易用性、可管理性、性能——成本比率和云计算。
原生适配等方面不断被打磨和完善,这些理念也在腾讯、投后企业、云客户、智慧产业等领域得到落地和拓展。
期望通过技术和产品的不断锻造,TDMesh能够为行业的发展不断增添新的理念和实践案例。