nredis-proxy 是一个以redis 协议为主的高性能稳定的代理中间件服务,不侵入业务代码,与业务毫无联系,不需要改任何应用代码,天然支持分布式部署。
一:功能特点:
1:自带连接池,性能高效 2:提供分片策略,扩展性强,可自定义分片算法 3:提供读写分离,一主多从,从按照权重读取 4:提供自动监听功能,主挂了,提供选举算法,从作为主 5:可HA分布式部署,节点随意扩展
二:nredis-proxy 架构图
![d3d0ed66aea393ab758e70c693a2faec.png](https://img-blog.csdnimg.cn/img_convert/d3d0ed66aea393ab758e70c693a2faec.png)
三:nredis-proxy 部署架构图
![e70369f48818f2a07ef3475d557db340.png](https://img-blog.csdnimg.cn/img_convert/e70369f48818f2a07ef3475d557db340.png)
四:例子配置文件:
<?xml version="1.0" encoding="UTF-8"?>
nredis-proxy 1.0.1 版本优化以下功能点
1:修改netty atrribute 并发问题 2:优化tcp参数 3:优化连接池,升级netty最新版本,使单机器整体性能损耗最高在14%左右
nredis-proxy 1.0.2 版本优化以下功能点 1:修复高并发环境IO泄露,造成 open too many files 2:去掉front channel 与back channel 重量级同步锁以及循环链表算法,使用cpu级别volatile,精简逻辑流程 3:修复 TCP丢包问题 4:单机单个redis性能大概在QPS:9千左右
nredis-proxy 1.0.2.1 版本修改bug 1: multiBulkReply 超过50 数据量大,出现重复数据问题,已经解决,通过两天暴力测试,没有任何问题 2: 提供linux 启动命令
nredis-proxy 1.1-ffinal 版本优化以下功能点 1:支持ping 协议 2:redis-monitor天然结合,支持分布式监控jvm,cpu,thread,redis等 3:当代理不支持命令,假死现象
CPU性能:
![bdc78124c0ce382b23f3ae46ce09431c.png](https://img-blog.csdnimg.cn/img_convert/bdc78124c0ce382b23f3ae46ce09431c.png)
内存性能:
![a891f54824ea560ce434069af4fb101c.png](https://img-blog.csdnimg.cn/img_convert/a891f54824ea560ce434069af4fb101c.png)
![73c2cff15aad0a3998c6d36184ae834a.png](https://img-blog.csdnimg.cn/img_convert/73c2cff15aad0a3998c6d36184ae834a.png)
线程以及classloader性能:
![e9fdeae5356bc1cdf794b599dfd27683.png](https://img-blog.csdnimg.cn/img_convert/e9fdeae5356bc1cdf794b599dfd27683.png)
RedisServer性能监控
![382d0d4c7c0ab7b738ae941f4f903ed8.png](https://img-blog.csdnimg.cn/img_convert/382d0d4c7c0ab7b738ae941f4f903ed8.png)
![02e2f1ebc6ed72d3b586029c41774f35.png](https://img-blog.csdnimg.cn/img_convert/02e2f1ebc6ed72d3b586029c41774f35.png)
![031e3ac22eaef5b90764c5444fb58f6b.png](https://img-blog.csdnimg.cn/img_convert/031e3ac22eaef5b90764c5444fb58f6b.png)
RedisServer 主从自动切换监控
![cc7c9c94747154f35218c9a43cd808ea.png](https://img-blog.csdnimg.cn/img_convert/cc7c9c94747154f35218c9a43cd808ea.png)