分布式缓存平台建设实践

存储
随着部署数量的加大,面临着资源快速供给、规范化部署、软件版本统一、集中运维管理等诸多挑战。为此,G行启动了分布式缓存平台建设项目,旨在打造一个具备快速部署、集中管理、弹性伸缩、服务高可用的缓存服务化平台。

​一、引言

Redis作为一款简洁、高效的键值型内存数据库,2015年在G行引入,应用于多个业务系统,为高频次、大并发交易提供了有效的热点数据访问加速方案。

随着部署数量的加大,面临着资源快速供给、规范化部署、软件版本统一、集中运维管理等诸多挑战。为此,G行启动了分布式缓存平台建设项目,旨在打造一个具备快速部署、集中管理、弹性伸缩、服务高可用的缓存服务化平台。

二、建设目标

01快速部署​

基于G行全栈云IaaS层敏捷特性,通过对计算、存储、网络等资源的统一调度编排,实现缓存服务的快速部署和弹性伸缩,推出分布式缓存PaaS服务,助力应用系统敏捷开发。

02服务化输出​

通过统一控制台,实现Redis服务跨云集中管理;提供运行状态分析、慢查询分析、内存分析、统计数据展示、日常巡检等功能,协助运维人员进行缓存性能优化、故障快速定位和日常运维管理。实现运维向运营转型,提升精细化管理水平和服务化输出能力。

03服务高可用​

将Redis高可用架构与全栈云架构深度融合,感知底层架构,打造可用区容灾能力,实现故障快速感知和自动切换,提升Redis服务的高可用性和可维护性。

三、设计与实现

1功能架构设计

分布式缓存平台定位于服务开发、测试、运维人员,满足用户各种场景的使用需求:支持开发和测试人员自助申请服务资源,查看服务运行状态和资源使用情况,定位性能瓶颈;支持运维人员实现缓存全生命周期管理,包括配置变更、故障定位与处置、性能分析等;同时,支持对缓存服务整体情况进行多维度展示。基于此,分布式缓存平台包括七大功能模块:

门户模块:展示业务系统及纳管服务的整体情况,包括系统健康度、告警汇总、重点监控等内容。

监控模块:提供完善的监控告警能力,包括:将采集的运行指标进行多维度分析展示;支持用户自定义监控项及调整阈值;支持差异化告警策略的制定;支持历史告警详情查看。

运维和管理模块:将常规运维操作自动化,通过平台页面进行标准化操作,最大限度减少手工命令输入,预防误操作和减少不当操作的风险。

审计和日志模块:提供平台用户登录次数统计及操作记录审计功能。

统计模块:对日常关注的运营数据进行汇总展示,帮助运维人员快速了解服务整体运行情况和资源使用情况。

后台管理模块:实现平台的权限控制、定时任务管理、以及与关联系统的统一对接管理等。

技术支持模块:支持查阅用户手册和技术文档,提供问题反馈渠道,提升用户体验。

图片

图1.功能架构图

2关键功能实现

2.1服务高可用

服务高可用从自动故障切换和物理容灾两方面进行设计。首先,通过Redis Sentinel和Redis Cluster支持缓存节点的故障感知和故障切换能力;同时,采用3AZ(可用区)物理部署方式,将同一组副本均匀部署在3个AZ中,提供AZ级别的高可用容灾能力。

2.2自动化部署​

用户自助提交Redis服务需求,经管理员审批完成后,实现分钟级缓存服务交付。自动化部署打破了传统交付模式,覆盖了需求沟通、服务器资源申请、网络资源申请、安装部署、服务交付等流程。实现了Redis服务的快速和标准部署,同时大幅减少了人工运维成本,提升了整体运维效率和服务质量。

2.3运行分析​

一方面,对Redis运行指标进行实时采集和分类展示,便于运维人员发现服务运行风险、进行服务性能优化及故障原因快速定位。

图片

图2.监控指标项

另一方面,从业务系统维度展示Redis服务健康度。通过服务可用性、内存使用、连接数、慢日志等性能指标,建立服务健康度评分模型,方便运维人员全面掌握Redis运行情况、提高管控能力和管理效率。

图片

图3.健康度分析

2.4智能化运维​

智能化运维集成了实例管理、参数修改、主从切换、系统巡检等功能,使常规运维操作自动化,复杂操作流程化,提升了运维操作、跟踪审计和执行能力。

实例管理支持对实例节点进行增加、删除、重启、命令查询操作。

参数修改支持对maxmemory、maxclients、requirepass等参数的在线修改,同时支持实例间的参数一致性对比校验。

主从切换支持一键完成主从切换,并支持批量操作和查看切换状态。

系统巡检通过每天定时任务生成业务系统巡检报告,包括资源使用情况、容量风险情况、基线合规情况等,并主动推送给相关人员。

2.5权限控制​

分布式缓存平台主要面向数据库管理员、应用管理员、开发和测试人员,权限控制需要保证用户只能访问其负责的业务系统,同时保证具备合理的操作权限。平台基于RBAC(Role-based access control)模型实现权限控制,用户登录平台后,后台通过查询CMDB,获取用户关联的业务系统信息,为用户分配业务系统权限,同时查询用户角色信息,通过对不同角色授予对应权限,实现平台权限控制体系。

四、总结与展望

分布式缓存平台建设从G行实际出发,是实现技术服务化、运维向运营转型的重要举措,为业务快速发展提供了敏捷化、高可用的缓存服务,同时提升了缓存服务的运维效率和交付效率,降低了运维管理成本。未来,分布式缓存平台将在云原生方向持续探索,提供更高效可靠的缓存服务能力,为G行业务高质量发展提供更有力的支撑和保障。

责任编辑:武晓燕 来源: 匠心独运维妙维效
相关推荐

2009-02-06 09:38:38

memcached分布式缓存系统ASP.NET

2009-02-10 08:57:01

分布式缓存.Net开发

2023-07-18 07:23:46

分布式消息工具

2014-06-11 09:17:39

负载均衡

2014-05-23 10:30:25

负载均衡分布式架构

2023-05-12 11:52:21

缓存场景性能

2017-01-10 16:18:26

分布式存储建设

2022-03-01 16:26:09

链路监控日志监控分布式系统

2019-02-18 11:16:12

Redis分布式缓存

2013-06-13 11:29:14

分布式分布式缓存

2018-12-14 10:06:22

缓存分布式系统

2018-02-07 10:46:20

数据存储

2023-01-13 07:39:07

2015-09-21 09:20:11

C#Couchbase使用

2019-07-04 15:13:16

分布式缓存Redis

2009-11-09 09:25:24

Memcached入门

2017-12-12 14:51:15

分布式缓存设计

2022-04-07 17:13:09

缓存算法服务端

2022-09-07 08:18:26

分布式灰度方案分支号

2021-10-30 19:30:23

分布式Celery队列
点赞
收藏

51CTO技术栈公众号