#长按上图识别二维码,参与OSC源创会年终盛典#
NRedis-Proxy 是一个Redis中间件服务,第一个Java 版本开源Redis中间件,无须修改业务应用程序任何代码与配置,与业务解耦;以Spring为基础开发自定义标签,让它可配置化,使其更加容易上手;以netty 作为通信传输工具,让它具有高性能,高并发,可分布式扩展部署等特点,单片性能损耗约5%左右。
a) 功能优势
1. 自带连接池,简单稳定且性能高效
2. 支持读写分离,从读按照权重算法
3. 支持灵活主从配置策略
4. 默认支持一致性哈希分片策略,扩展性强
5. 分片策略与从读取策略可自定义化
6. 支持主从自动切换,提供RedisServer监听服务
7. 支持HA 分布式部署,节点可随意扩展
b) 天然缺点
中间件的存在,会自带网络损耗,但是网络带宽足够,可以忽略不计。相比客户端分片等策略,中间件可以解决客户端应用过多,解决M*N 问题,Redis-Server连接数不够,造成机器CPU性能降低;如下图:
a) redisProxyNode
序号
|
名称
|
描述
|
1
|
id
|
Spring 标签唯一标志
|
2
|
redisProxyHost
|
NRedis-proxy 对外提供主机号
|
3
|
redisProxyPort
|
NRedis-proxy 对外提供端口号
|
4
|
algorithm-ref
|
NRedis-proxy 多主分片实现类引用
|
5
|
address
|
Zookpeer 地址
|
b) redisProxyMaster
序号
|
名称
|
描述
|
1
|
id
|
Spring 标签唯一标志
|
2
|
host
|
RedisServer主主机名
|
3
|
port
|
RedisServer主端口号
|
4
|
timeout
|
连接超时时间
|
5
|
maxActiveConnection
|
最大活跃连接数
|
6
|
maxIdleConnection
|
最大空闲连接数
|
7
|
minConnection
|
最小连接数
|
8
|
algorithm-ref
|
NRedis-proxy 从分片读取策略类引用
|
c) redisProxyCluster
序号
|
名称
|
描述
|
1
|
id
|
Spring 标签唯一标志
|
2
|
host
|
RedisServer从主机名
|
3
|
port
|
RedisServer从端口号
|
4
|
timeout
|