首页

科技
手机搜狐
SOHU.COM

刘兵|NRedis-Proxy 高性能中间件服务

中生代技术
2017-02-17
+关注

【编者按】:刘兵,花名玄靖,开源技术爱好者。高性能Redis中间件NRedis-Proxy作者,目前研究方向Java中间件,微服务等技术。

一. NRedis-Proxy介绍

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

二. NRedis-Proxy技术架构图a. 系统架构图

展开剩余85%

b. 技术架构图

c. 部署架构图

三. NRedis-Proxy优势以及缺点a. 功能优势

1) 自带连接池,简单稳定且性能高效

2) 支持读写分离,从读按照权重算法

3)支持灵活主从配置策略

4)默认支持一致性哈希分片策略,扩展性强

5)分片策略与从读取策略可自定义化

6) 支持主从自动、手动切换,下次应用程序或者机器重启不会受到任何影响

7)支持HA 分布式部署,节点可随意扩展

8) 提供redis-monitor小型机器人,监听cpu、jvm、线程、redis 命中率等监控服务

b. 天然缺点

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

四. NRedis-Proxy类逻辑调用图

五. NRedis-Proxy配置标签

a. redisProxyNode

序号 名称 描述
1 id Spring 标签唯一标志
2 redisProxyHost NRedis-proxy 对外提供主机号
3 redisProxyPort NRedis-proxy 对外提供端口号
4 algorithm-ref NRedis-proxy 多主分片实现类引用
5 address Zookpeer 地址

序号 名称 描述
1 id Spring 标签唯一标志
2 host RedisServer主主机名
3 port RedisServer主端口号
4 algorithm-ref NRedis-proxy 从分片读取策略类引用
5 config-ref 连接池配置

c. redisProxyCluster

序号 名称 描述
1 id Spring 标签唯一标志
2 host RedisServer主主机名
3 port RedisServer主端口号
4 algorithm-ref NRedis-proxy 从分片读取策略类引用
5 config-ref 连接池配置
6 weight 权重

d. redisPoolConfig

序号 名称 描述
1 id Spring 标签唯一标志
2 connectionTimeout 连接超时时间
3 maxActiveConnection 最大活跃连接数
4 maxIdleConnection 最大空闲连接数
5 minConnection 最小连接数
6 maxWaitMillisOnBorrow 取出最大等待时间
7 initialConnection 初始化连接数
8 timeBetweenEvictionRunsMillis 每隔多久检查一次连接池
9 minEvictableIdleTimeMillis 连接池最小生存时间
10 minIdleEntries 最小空闲数
11 testOnBorrow 取出是否检测
12 testOnReturn 归还是否检查
13 testWhileIdle 空闲是否检测

六. NRedis-Proxy部署a. 部署环境要求

JDK 1.7

Redis-Server

Zookpeer3.4.6

1) 启动Redis Server 主机器

2) 启动Redis Server

3) 启动 zookpeer

4) 启动NRedis-Proxy Server

5) 使用Redis 命令行连接NRedis-Proxy

c. 部署方式maven执行nredis-proxy-bootstrap ,然后再找到 nredis-proxy-server.sh 文件执行 七. redis-monitor监控a. nredis-proxy监控

b. redis-server监控

c. redis-monitor本身监控

八. redis-monitor服务治理a. 定时器配置

b. 手动服务治理

c. 自动服务治理

精彩线下活动推荐

当大数据走进天府,会引爆什么呢?当大数据遇到创新,会发生哪些新鲜事呢?当大数据遇到营销,会出现哪些疯狂呢?在大数据时代,我们该如何做才能立于不败之地呢?2017年3月18日,由飞马网与中生代技术联合组织的技术嘉年华--软件技术领域顶级盛宴,将在“天府之国”成都盛大开幕,带你了解新一年的技术走向。

欢迎识别二维码或点击阅读原文了解详情!

帅哥为什么要拒绝美女的微信?

声明:本文由入驻搜狐号作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。

网站地图

用户反馈 合作
Copyright © 2018 Sohu.com