REDIS
在互联网金融账务核心系统中的应用实践
&
&
摘要:REDIS 是一个作用于内存的数据结构存储系统,它可以作为数据库、缓存或者消
息中间件,支持多种类型的数据结构。与传统金融系统相比,互联网金融系统更多的侧重系
统的高并发访问、海量数据的处理,又有传统金融对数据处理的可靠性和连续性。账务核心
系统是互联网金融系统中非常重要的一个系统,它承载金融业务的开展,批 量 处 理 业 务 流水,
进行账务的核对,客户贷款的期次、利息、罚息的计算,还款计划的生成等重要功能。随着
金融业务越来越广泛、客户数越来越多、账务数据趋于庞大,给账务处理工作带来极大的压
力,造 成 严重问题而致不能正常开展业务。本文主要介绍 REDIS 内存数据库集群的特性和在
互联网金融账务核心系统中的应用。&
&
1. REDIS
的技术特性和演进
&
REDIS 是一款开源的、网络化的、基于内存的、可进行数据持久化 KEY-VALUE 的存储系
统。REDIS 通过 KEY 映射 VALUE 的方式来建立字典来保存数据,支 持 多 类 型 存 储 包括 STRING、
LIST,SET,SORT&SET 和 HASH 等,可以在这些数据类型上做很多原子性操作。REDIS 将数据
存储在内存里面,而且它发送给 REDIS 的命令请求不需要经过典型的查询分析器(PARSER)
或查询优化器(OPTIMIZER)处理,所以 REDIS 对自身存储的数据执行随机读写的速度是非
常快速的。&
随着互联网时代的推进、大数据时代的到来,REDIS 的版本也经过翻天覆地的变化。从
键的过期时间逐步细化、实现增量复制到推出分布式集群 RED IS& CLUSTER,LUA 脚本的功能
不断增强,再到 4.0 版本支持 MODULE,由此可见,REDIS 的发展更多的拥抱了数据处理的
大潮。在 这 种 背 景 下,如何应对当下互联网金融账务核心应用的高并发、海量数据快速计算、
数据结果急速响应的需求,REDIS 的使用提供了较为出色的解决方案,通过将数据和请求分
布到不同的节点,实现水平扩展和负载均衡,进而提供高并发数、数据吞吐量和快速响应的
能力。&
REDIS 集群方案目前主流有三种,主从、SENTINEL、CLUSTER,因 SENTINEL 是基于主从
的延伸,在此我们仅对哨兵和 CLUSTER 进行分析。&
一、
SENTINEL
集群
&
SENTINEL 是 REDIS2.6 版本中推出高可用(HA)解决方案,当用 REDIS 做 MASTER-SLAVE
的高可用方案时,MASTER 不能提供服务,RED IS 自身不能实现自动主从切换,因此 SENTINEL
承担了监视器的功能。它能监控多个 MASTER-SALVE 集群,并能够选举多个 SALVE 中的一个
作为新的 MASTER,其他的 SALVE 节点会将它所追随的 MASTER 地址改为被提升为 MASTER
的 SALVE 的新地址,拓扑图如下。&
&
评论