精简部署,加速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_64distribution: 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管理。