cachecloud 使用几个月的状况与坑

前言

单集群redis cluster 转 cachecloud 几个月来,遇到一些状况与问题的总结.mysql

版本问题

mysql 升级到5.7

默认 cachecloud 底层 db mysql 版本为:MySQL 5.5,升级 mysql 到5.7后出现不兼容sql.例如:web

select any_value(app_id) app_id,instance_id,any_value(instance_host) instance_host,any_value(instance_port) instance_port,count(1) as exceptionCount from app_client_exception_minute_statredis

解决方案1

修改 mysql 参数,使其兼容老版本.spring

解决方案2

修改对应 mysql, 咱们选择的就是这个方案.只要修改sql

  • AppStatsDao.xml
  • AppClientCostTimeTotalStatDao.xml
  • AppClientExceptionStatDao.xml

三个 xml 中不兼容函数便可.api

redis 版本问题

默认cachecloud-init.sh 初始化机器中 redis 版本为 redis-3.0.7.tar.gz.当我升级 redis 到一个较高版本redis-3.2.11.tar.gz时候.出现 bug. 没法链接到实例.安全

Protected-mode 是为了禁止公网访问redis cache,增强redis安全的。app

它启用的条件,有两个:运维

1) 没有bind IPide

2) 没有设置访问密码

可是咱们的 redis 是内网环境访问,不会暴露给外网.

解决方案,initsql 添加

insert into instance_config(config_key,config_value,info,update_time, type, status) values('protected-mode','no','开启安全模式. redis3.2及以上须要参数',now(),6,1); insert into instance_config(config_key,config_value,info,update_time, type, status) values('protected-mode','no','开启安全模式. redis3.2及以上须要参数',now(),5,1);

redis 监控数据的无限增长问题.

对 redis监控数据落地到mysql 表 standard_statistics. 默认系统配置是不开启清理数据.

4个月来,光测试环境就单表32g,670w 数据.

解决: 先联系 db, 人工对表数据清理,后续,开启定时清理.

机器监控的问题

cachecloud 默认对机器有专门的运维与监控,对机器的 job 没有开启.

解决: find ServerJob, 打开注释代码便可. redis 机器同时加入cachecloud-open-web 中的 nmon(这里看相关文档.)

兼容 spring-data-redis 遇到的问题

制做 spring-boot-starter-data-cachecloud中,刚开始是依赖spring-data-redis.1.8.4.RELEASE.后续升级到1.8.7发现, spring-data-redis api 变更.

JedisClusterNodeResourceProvider 构造方法变更. 后续制做针对1.8.7以上版本的

redis水平扩容的问题

cachecloud 对水平扩容有些问题.进行了改造.

相关文章
相关标签/搜索