高性能Redis中间件服务NRedis-Proxy

一、NRedis-Proxy 介绍

NRedis-Proxy 是一个Redis中间件服务,第一个Java 版本开源Redis中间件,无须修改业务应用程序任何代码与配置,与业务解耦;以Spring为基础开发自定义标签,让它可配置化,使其更加容易上手;提供RedisServer监控以及自动、收到failover等功能;以netty 作为通信传输工具,让它具有高性能,高并发,可分布式扩展部署等特点,单机器单个RedisServer QPS在9千左右。

二、NRedis-Proxy 架构图

a)系统架构图

高性能Redis中间件服务NRedis-Proxy

b)技术架构图

高性能Redis中间件服务NRedis-Proxy

c)部署架构图

高性能Redis中间件服务NRedis-Proxy

三、NRedis-Proxy 优势以及缺点

a)功能优势

  1. 自带连接池,简单稳定且性能高效
  2. 支持读写分离,从读按照权重算法
  3. 支持灵活主从配置策略
  4. 默认支持一致性哈希分片策略,扩展性强
  5. 分片策略与从读取策略可自定义化
  6. 支持主从自动、手动切换,下次应用程序或者机器重启不会受到任何影响
  7. 支持HA 分布式部署,节点可随意扩展
  8. 提供redis-monitor小型机器人,监听cpu、jvm、线程、redis 命中率等监控服务

b)天然缺点

中间件的存在,会自带网络损耗,但是网络带宽足够,可以忽略不计,最主要损耗在于协议解析。相比客户端分片等策略,中间件可以解决客户端应用过多,解决M*N 问题,Redis-Server连接数不够,造成机器CPU性能降低;如下图:

高性能Redis中间件服务NRedis-Proxy

四、NRedis-Proxy 类逻辑调用图

高性能Redis中间件服务NRedis-Proxy

五、监控界面

高性能Redis中间件服务NRedis-Proxy

高性能Redis中间件服务NRedis-Proxy

项目地址

https://gitee.com/284520459/redis-monitor

相关推荐