樊建陈营葛宝磊/华泰证券股份有限公司
<>强摘要:强>复述,集群作为最热门的开源分布式缓存,在券商领域会有怎样的应用场景?本文从华泰证券的应用现状出发,介绍了复述,集群在华泰证券的大规模实践经验。
<强>一、引言强>
<强> 强>
复述是一个开源(BSD许可)的内存键-值存储系统,它可以用作数据库,缓存和消息中间件。它支持多种类型的数据结构,如:字符串,散列),列表,集合,有序集合与范围查询等。复述,内置了复制,LRU驱动事件,事务,磁盘持久化等特性,并通过复述,哨兵(主从模式)和自动分区(复述,集群模式)提供高可用性。
官方的复述,集群推出前,常见的复述,集群开源方案主要是Codis和所用Twemproxy,两者均采用代理的方式实现分布式。通过引入代理层来屏蔽底层数据的分布,可以简化客户端的实现,但使得集群架构变得复杂,维护成本上升.Redis从3.0开始支持自动分区,采用无中心节点方式实现集群模式。访问复述,集群时,无需代理代理,具备智能特性的客户端直接与复述,集群中的每个节点连接。
集群复述,引入模式带来的优势在于:
1.可靠性:具有分区机制,副本机制和自动容错机制;
2.高性能,保证了复述,高吞吐的前提下,可线性扩展到上千个节点;
3.可扩展性:基于分区的自动扩容,缩容,客户端透明的数据迁移。
目前,复述,在互联网、金融,传统行业内的应用已十分广泛。随着金融业接入互联网的业务增加,活动,促销,节假日,热门事件等可能带来突发数倍甚至几十倍的访问峰值的情况时有发生,复述,集群是抵御突发海量访问的有效手段。
<强> 强> <强> 2。基本原理及概念强>
复述,集群整体设计是比较简单的,集群架构采用无中心节点的方式实现,集群中的节点通过八卦协议相互交换集群状态。客户端无需代理直接访问服务端,客户端通过哈希算法计算出关键对应的哈希槽,然后直接访问哈希槽对应的服务端节点。
复述,集群的拓扑结构如下图所示: