在当今数字化时代,数据处理的高效性和稳定性是企业发展的关键。中国工商银行作为金融行业的重要参与者,其分布式缓存架构的建设与实践经验,对众多企业具有重要的参考价值。
一、建设背景与目标
工商银行在缓存使用过程中面临诸多挑战。一方面,已使用缓存服务的应用缺乏统一管控视图、监控系统和治理方案,这使得管理分散,难以全局把控。另一方面,使用缓存的业务场景繁杂,应用自行搭建缓存服务不仅工作量巨大,而且缓存产品种类繁多,各应用选型不一,Redis 客户端和服务端版本也参差不齐,存在安全隐患,亟待统一管理。
为此,工商银行确立了建设企业级分布式缓存平台的目标。旨在打造一个高性能、高可靠、可弹性伸缩且能敏捷运维的平台,借助注册中心和管控组件,实现对整体集群的可用性监控、故障自恢复、高可用切换、事件报警、应急容灾、自动化运维以及一体化投产等功能。
二、架构演进历程
2015 年,工商银行自研分布式缓存平台并在三园区上线,试点接入金融市场、综合前置等 9 个应用,迈出了关键一步。2017 - 2019 年,实现主备强一致模式,有力支撑了秒杀平台建设、纪念币发行等业务场景,并适配单元化改造,有效控制风险。随后完成多租户改造,打造出具备多维度监控、故障自愈等能力的缓存平台。2022 年,完成分布式缓存异地多活架构生产部署并上线试点,满足 “两地三中心” 部署架构需求,提升缓存服务性能和异地高可用等核心能力。
三、平台能力解析
(一)多模架构优势
工商银行分布式缓存平台的多模架构是其一大亮点。高性能主备模式下,所有组件站点内高可用,副本跨故障域搭建,性能最优。同城双活模式可实现任一站点宕机时,另一站点秒级接管,适用于对高可用和低延时要求较高的业务场景。异地多活模式通过数据同步组件,提供站点内数据强一致、站点间最终一致的服务,提升跨异地访问性能,满足金融级容灾需求。主备强一致模式借助多模块协同和自定义复制协议,确保业务读写强一致,解决超卖等问题。直连模式基于 RedisCluster,兼容多种需求,方便业务接入。
(二)核心组件功能
平台核心组件包括客户端 SDK、代理层、存储层、监控系统、性能分析系统和管理平台。客户端 SDK 基于开源 Jedis 定制,具备强容错、一致性校验、连接与鉴权管理、易用性封装以及全景式指标采集和自动熔断回切等功能。代理层和存储层采用 Netty 异步通信框架,能支撑百万连接,实现主备切换时数据零丢失,提升热点数据负载能力,拦截高危命令,还能自适应弹性伸缩,保障数据强一致。监控组件可深度探测节点状态,实现高可用切换、服务自愈,采集多维度数据并进行监控报警和合规性巡检治理。性能分析组件提供多维度数据可视化、统计报表及订阅功能,支持多层级数据采集分析,方便实时运维。管理平台则实现了平台状态、配置、集群、租户、权限等的统一管理。
四、应用实践成果
在实际应用中,主备强一致模式助力纪念币预约平稳发行。通过按地区分桶设计,利用前端库存和 NOS 主备强一致模式,配合异步更新后端库存和数据库,确保了业务的一致性和稳定性。异地多活能力保障了手机银行服务的安全可靠,用户信息存取可在不同园区的 NOS 间高效同步,提升了服务质量。
五、未来规划展望
展望未来,工商银行将聚焦智能伸缩能力建设,以应对业务流量的多变场景,通过纵向和横向的扩展优化,提升系统性能。同时,探索混合存储技术,整合内存和磁盘优势,在提供高速读写能力的同时满足数据持久化需求,为业务发展提供更坚实的技术支撑。