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 對水平擴容有些問題.進行了改造.

相關文章
相關標籤/搜索