redis proxy java_redis-monitor: 大家还在愁JVM,CPU等监控无门吗?对于分布式环境怎么样监控呢?,小型机器人替你搞定一切!redis-monitor 是一个n...

一、NRedis-Proxy 介绍

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

二、NRedis-Proxy 架构图

a)系统架构图

4182586d58c053ec2b1b1b013105c6d0.png

b)技术架构图

e6d9802e8b9e58e57afa355b941c61e6.png

c)部署架构图

46520b50b12fda0960d85709c753e514.png

三、NRedis-Proxy 优势以及缺点

a)功能优势

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

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

支持灵活主从配置策略

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

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

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

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

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

b)天然缺点

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

3e631a0fa6666fc27a7d274d78b1e6c4.png

四、NRedis-Proxy 类逻辑调用图

52870b8d3036e1b40aa90fba390c2cf4.png

五、NRedis-Proxy 配置标签

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

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

空闲是否检测

e)默认两个分片策略

b82a372bcbe459eb5ce8d382513a11a8.png

六、NRedis-Proxy 部署

###1. 部署环境要求 ###

1.1 JDK 1.7

1.2 Redis-Server

1.3 Zookpeer3.4.6

###2. 调试步骤 ###

** 2.1 启动Redis Server 主机器 **

3a2ff0d0038c8e098106cb12ce4bad1d.png

** 2.2 启动Redis Server **

9c1f3e8d13a944a21dc078116cf861ea.png

** 2.3 启动 zookpeer **

c07d2a04a5c1df895c3a8da5d563db90.png

** 2.4 启动NRedis-Proxy Server **

613de85df325aa5fb89f0a2bdd4449fc.png

** 2.5 使用Redis 命令行连接NRedis-Proxy **

f628755e305d20b3d9403a685895bf17.png

3. 部署方式

maven执行nredis-proxy-bootstrap ,然后再找到 nredis-proxy-server.sh 文件执行

七、redis-monitor监控

a)nredis-proxy监控

71d2183075dabdb1b9cb890af23dc06b.png

488b15e1671e9f83e542ac4907d07093.png

7d9b90173d20069ede317a590bbee077.png

b)redis-server监控

20832217f9bda9d91a83dd7232782456.png

3cd3a9775fa2198253e9de8dcbc7a3a5.png

50a7503fe9e05473ea431ab7bea0641d.png

c)redis-monitor本身监控

48472c46695c349c7b52d9c7be671c76.png

a1cceb6f86be5c96f41c9f707db2e925.png

37bccd74e50628a726771b9802ca96bb.png

八、redis-monitor 服务治理

a)定时器配置

5558ef093dd795c37369db678427afcb.png

b)手动服务治理

256bbfe33c004c1122387a063fbc4d09.png

c)自动服务治理

9a700b6b974a2746abc5c584602524c3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值