Z6官网人生就是博

股票代码: 300348
EN
技术专栏|Z6官网人生就是博科技分布式定位服务的探索与实践
金融科技
2023.03.01

近年来 ,金融行业因庞大复杂的业务场景和爆炸式增长的业务发展需求 ,导致对基础架构的扩展能力、容灾能力、灰度能力的要求也越来越高。分布式单元化架构恰好同时满足金融企业的多种需求 ,通过架构进行系统建设升级、增强整体能力?梢胍恢北3值ピ芄沟钠轿仍诵 ,就需要具备一个不可或缺的组件——分布式定位服务 ,它是实现单元化架构的基本运行保障 ,可覆盖多种业务场景 ,降低业务整体复杂度。


Z6官网人生就是博科技基于多年在银行核心领域先进技术经验的积累 ,不断沉淀和强化出一套分布式定位服务组件 ,让我们一起看看 ,Z6官网人生就是博科技在这方面的经验与见解。


作者

Jonder.Wong 后端架构师


拥有14年后端开发与从业经验 ,负责数据处理与单元化组件的探索与设计工作。


扫清认知迷雾

了解分布式定位服务


在介绍分布式定位服务之前 ,我们先介绍下单元化架构的概念 ,单元是指一个能完成某一类业务操作(如个人存款业务)的自包含集合 ,在这个集合中包含了业务所需的服务 ,以及分配给这个单元的客户数据。单元作为部署的基本单位 ,通;嵩谠诙喔龌恐腥菰植渴 ,每个机房内单元数目不固定 ,任一单元均部署系统所需的全部应用 ,数据则是全量数据按照某种维度划分后的一部分。


2023030819277


通过前文对单元的定义和特性描述中 ,可以推导出单元化架构要求系统必须具备的一项能力——数据分区;即将全局数据按照某一个维度水平划分开来 ,每个分区的数据内容互不重叠。但仅把数据进行分区还远远不够 ,单元化的另外一个必要条件是 ,所有业务数据分区所用的拆分维度和拆分规则都必须一样。


而分布式定位服务则是实现上述目标的关键组件 ,其主要包含以下三大功能:

对分区的维度数据进行统一的管理

提供统一的拆分维度和拆分规则

为系统提供分区信息的查询功能


小组件 ,大作用

单元化架构的消息“集散中心”


作为单元化架构的核心组件 ,分布式定位服务管理着单元化的规则 ,包括数据如何拆分、单元个数的划分、数据落在哪个单元里等。后期运维人员在完成规则的配置后 ,所有使用分布式定位服务的应用将会即时收到通知并进行刷新。


从整体上看 ,组件分为客户端和服务端两大?椋


客户端SDK:客户端主要封装服务端的访问接口 ,供其他系统进行集成。同时客户端还对单元化的规则做了监听 ,确保在规则发生变更后能及时进行刷新。

服务端:服务端对映射要素进行统一的管理 ,并提供查询、新增等接口。同时因为需要管理大量映射数据 ,系统在部署时使用了分库分表功能。


那么整个组件的调用流程如下所示:


2023030852788


1.网关收到请求或单元内系统发起外调时 ,传入路由类型和路由值 ,通过sdk发送到分布式定位服务;

2.分布式定位服务查询之后返回对应的客户号、分片号、单元号信息给客户端;

3.客户端收到响应信息后 ,再由服务调用组件根据单元号调用相应业务单元。


场景为王

让技术回归服务本质


场景一


正常路由和开户场景


在普通场景下 ,网关收到交易后从分布式定位服务中查询到该笔交易所属的单元 ,然后再由服务调用组件将交易转发到具体的单元上。


2023030859889


在开户场景下 ,由于客户号还未生成 ,系统提供了“预分配”功能 ,按照规则分配一个业务单元 ,并在开户完成后将对应的数据注册到系统中。


2023030890809


场景二


企业级单元化管理


系统在设计时将数据分片规则与单元的管理规则进行了拆分 ,支持企业级共享一套映射数据 ,实现企业级分布式定位能力。


2023030829945


场景三


高可用


在金融场景下 ,每笔交易都可能涉及资金的变动 ,交易的成功率显得尤为重要。为满足此需求 ,系统进行了如下设计:


由客户端提供“读请求”的故障重试 ,整体提高交易成功率。


2023030846962


客户端中提供了写请求的消息补偿 ,在注册时如果发生异常 ,则通过发送消息的方式实现最终的数据一致性。


2023030897833


将金融业带入高质量发展曲线的是金融产品、服务技术和洞察能力背后的“价值”。Z6官网人生就是博科技作为金融行业的领先企业 ,很早就开始对单元化进行深入探索 ,不断帮助银行等金融机构实现系统的单元化建设与改造 ,积累了丰富的经验。而分布式定位服务也在这些实践中不断的进行更新迭代 ,功能与性能都得到了锤炼。


结 语

未来 ,Z6官网人生就是博科技将继续以创新为本色、用技术为抓手 ,不断夯实各类产品及服务的创新能力 ,通过新技术、新思路赋能金融业业务创新与系统升级 ,高效支撑金融业的全面发展。


让中国金融科技 具有世界影响力
Z6官网人生就是博科技更懂如何为您的数字化转型赋能
地址: 深圳市南山区沙河西路深圳湾科技生态园一区2栋A座5层
电话: 0755-8616 8118
传真: 0755-8616 8166
【网站地图】