一、客户端接入流程图
CacheCloud服务不是客户端的代理,只是通过Http的形式获取到应用的信息(Redis各种类型实例的基本信息),客户端仍然直接调用Redis服务,这点无需担心。
二、接入方法
1. REST API
(1) 接口地址
http://ip:port/cache/client/redis/${appType}/{appId}.json?clientVersion=1.0-SNAPSHOT
appType=cluster|sentinel|standalone
appId是应用id
Cachecloud项目中,clientVersion中版本是必须参数,CacheCloud会根据\src\main\resources\client.properties来决定当前用户客户端是否是较好的,这里甚至可以做强制更新。
client.properties
redis_good_versions = 1.0-SNAPSHOT
warn_versions = 0.1
error_versions = 0.0
(2) REST接口结果
{
message: "client is up to date, Cheers!",
shardNum: 10,
appId: 10192,
status: 1,
shardInfo: "10.10.xx.xx:6390,10.10.xx.xx:6382 10.10.xx.xx:6387,10.10.xx.xx:6379 10.10.xx.xx:6387,10.10.xx.xx:7382 10.10.xx.xx:6380,10.10.xx.xx:6392"
}
2. Java客户端
Cachecloud为Java开发者提供了Redis的客户端,基本实现原理也是调用上面的REST接口,解析,初始化对应Jedis代码(JedisPool, JedisSentinelPool, JedisCluster)
如果需要使用改客户端,请注意如下:
修改\src\main\resources\cacheCloudClient.properties中的domain_url为你的域名,这个域名是作为获取REST接口用。
三、扩展
1. redis客户端耗时的统计:
相比于redis服务端的耗时统计,客户端和实例、应用多维度的耗时统计更能方便定位问题。
2. redis中value大小区间的统计:
帮助确定系统中是否存在不合理的kv值。
3. redis客户端的异常统计:
帮助用户快速发现redis异常(例如超时,poolconfig分配不合理等等)。