精简部署,加速Redis运维框架(redis 运维框架)

在大型应用场景下,Redis作为一款高性能、可扩展的内存数据库应用广泛。但是,随着Redis作为应用的核心服务,对其运维管理变得越来越困难。本文将介绍这样一种“精简部署,加速Redis运维框架”,帮助运维人员快速构建高可用、强加速Redis集群,并提供Redis可视化监控、故障自愈等全新体验。

## 设计逻辑

本文所介绍的Redis运维框架设计逻辑如下图:

![redis_deploy](https://img-blog.csdn.net/20161018104040636)

框架分为四个节点,分别为Redis普通节点、Redis代理节点、Redis监控节点、Redis管理节点。

– Redis普通节点:部署在应用上,对外提供Redis的服务访问,采用主从同步方式,保证数据可靠性。

– Redis代理节点:负责Redis普通节点的路由和负载均衡,重要性不亚于负载均衡器。

– Redis监控节点:专门用于监控整个Redis集群运行状态,为Redis管理节点提供全面的运维支持。

– Redis管理节点:集群的控制管理中心,通过接口调用指挥整个集群的运维事宜。

## 实现细节

### Redis普通节点

Redis普通节点的安装部署及性能优化,这里不再赘述(有需要的读者可以参考官方文档)。

### Redis代理节点

Redis代理节点采用了twemproxy(nutcracker),twemproxy是一款高性能、轻量级的代理软件,它可以支持多个Redis实例的负载均衡、节点故障自动摘除等功能。

twemproxy简单配置样例:

listen: 127.0.0.1:6380
hash: fnv1a_64
distribution: ketama
redis: true

server:
- 192.168.10.10:6379:1
- 192.168.10.11:6379:1
- 192.168.10.12:6379:1

### Redis监控节点

Redis监控节点采用了twemproxy的sdxwing,sdxwing是针对twemproxy定制开发的Redis集群管理工具,它可以通过一套配置文件即可管理Redis集群。sdxwing提供了监控信息采集、运维操作、错误日志记录、故障恢复等功能。

sdxwing监控配置文件样例:

cluster_name: Redis_cluster
namespace: NS

proxy_address: 127.0.0.1:6380

backend:
type: codis-cluster
zk_proxy: 127.0.0.1:2181
product_name: XXX
monitor:
type: dump
monitor_output: /opt/logs/cluster-monitor/monitor.log
backend_output: /opt/logs/cluster-monitor/monitor.err
mgmt:
username: administrator
password: pass123

report:
type: ml
smtp_server: smtp.163.com
smtp_port: 25
smtp_username: no_reply@163.com
smtp_password: passwd
from: monitor@163.com
to: keeper@163.com,codis_admin@163.com

### Redis管理节点

Redis管理节点采用了架构简单、使用方便的Codis管理工具,Codis本身是一个基于Redis协议的分布式存储系统,支持多维度的监控和管理操作。Codis提供了不同的模式,分别面向不同的使用场景,例如单数据中心、多数据中心、负载均衡和分片等。此处采用Codis的分片模式。

Codis管理界面:

![codis_ui](https://img-blog.csdn.net/20161018112500743)

## 总结

本文介绍了一种“精简部署,加速Redis运维框架”,此框架可以快速构建高可用、强加速Redis集群,提供Redis可视化监控、故障自愈等全新体验。此框架实现简单,易于部署,而且性能卓越,更适用于大型应用场景中的Redis管理。


数据运维技术 » 精简部署,加速Redis运维框架(redis 运维框架)