CacheCloud

CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少运维成本和误操作,提高机器的利用率,提供灵活的伸缩性,提供方便的接入客户端。

项目主页: https://github.com/sohutv/cac…

改造RedisConnectionFactory

/**

* 根据缓存策略的不同,RedisConnectionFactory不同

* 示例是单机模式。

*

* @return

*/

@Bean

public RedisConnectionFactory redisConnectionFactory() {

while (true) {

try {

LOCK.tryLock(100, TimeUnit.MILLISECONDS);

/**

* 心跳返回的请求为空;

*/

String response = HttpUtils.doGet("http://localhost:5005/cache/client/redis/standalone/10000.json?clientVersion=1.0-SNAPSHOT");

if (response == null || response.isEmpty()) {

continue;

}

JSONObject jsonObject = null;

try {

jsonObject = JSONObject.parseObject(response);

} catch (Exception e) {

}

if (jsonObject == null) {

continue;

}

/**

* 从心跳中提取HostAndPort,构造JedisPool实例;

*/

String instance = jsonObject.getString("standalone");

String[] instanceArr = instance.split(":");

if (instanceArr.length != 2) {

continue;

}

//收集上报数据

ClientDataCollectReportExecutor.getInstance("http://localhost:5005/cachecloud/client/reportData.json");

String password = jsonObject.getString("password");

String host = instanceArr[0];

String port = instanceArr[1];

JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();

jedisConnectionFactory.setPassword(password);

jedisConnectionFactory.setHostName(host);

jedisConnectionFactory.setPort(Integer.parseInt(port));

return jedisConnectionFactory;

} catch (InterruptedException e) {

logger.error("error in build().", e);

}

}

}

改造 jedis-2.9.0

Connection.java

/**

* 命令捕获,异常保存

* @param cmd

* @param args

*/

public void sendCommand(final ProtocolCommand cmd, final byte[]... args) {

try {

//统计开始

UsefulDataModel costModel = UsefulDataModel.getCostModel(threadLocal);

costModel.setCommand(cmd.toString().toLowerCase());

costModel.setStartTime(System.currentTimeMillis());

connect();

Protocol.sendCommand(outputStream, cmd, args);

} catch (JedisConnectionException ex) {

UsefulDataCollector.collectException(ex, getHostPort(), System.currentTimeMillis());

broken = true;

throw ex;

}

}

JedisClusterCommand.java

private T runWithRetries(byte[] key, int attempts, boolean tryRandomNode, boolean asking) {

if (attempts <= 0) {

JedisClusterMaxRedirectionsException exception = new JedisClusterMaxRedirectionsException("Too many Cluster redirections? key=" + SafeEncoder.encode(key));

//收集

UsefulDataCollector.collectException(exception, "", System.currentTimeMillis(), ClientExceptionType.REDIS_CLUSTER);

throw exception;

}

}

更新spring-boot-starter-data-redis依赖

org.springframework.boot

spring-boot-starter-data-redis

jedis

redis.clients

com.sohu.tv

cachecloud-open-client-redis

1.0-SNAPSHOT

jedis

redis.clients

com.github.pig

pig-cache-cloud-jedis

2.9.1

部署服务war

这一步直接参考 cachecloud 的文档即可

总结

关于pig, 这是一套微服务应用的实践基于Spring Cloud、Spring Security Oauth2.0开发企业级认证与授权,提供常见服务监控、链路追踪、日志分析、缓存管理、任务调度等实现

改造写于2017-2018的跨年夜,文章整理与2018.1.1,真惨,不过我喜欢 ?

2017 失去很多,2018本命年 ? 汪汪汪!

来源:[]()

cachecloud java_【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud相关推荐

  1. 工业物联网解决方案:数控机床数据采集监控运维平台

    目前,数控机床在工业生产中被广泛适用,成为智能制造的重要支撑.面对数控机床潜在的故障风险和停机维护需求,存在维护不及时.维护成本高.缺乏数字化手段等问题,极大影响到生产效率和生产质量,是制造业厂商需要 ...

  2. 【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud

    CacheCloud CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone.Redis Sentinel.Redis Cluster)自动部署.解决Redi ...

  3. Redis缓存接入监控、运维平台CacheCloud

    CacheCloud CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone.Redis Sentinel.Redis Cluster)自动部署.解决Redi ...

  4. 口罩机远程监控运维解决方案

    口罩机远程监控运维系统解决方案 1.口罩机远程监控运维系统项目需求分析 管理角度分析 1.互联网时代,如何进行口罩机及人员管理的信息化? 2.物联网时代,如何实现口罩机健康及生产状态数字化? 3.智能 ...

  5. Spring Boot Redis缓存

    Spring Boot Redis缓存 目录[ 隐藏 ] 1 Spring Boot Redis缓存 1.1 Spring Boot Redis项目设置 1.2 Spring Boot Redis缓存 ...

  6. 更换jdk版本_滴滴夜莺发布 v3 版本,从运维监控演化成了运维平台

    Nightingale 从 3 月份开源到现在,过去了半年多点时间,收获了接近 2000 个 github star,300 多个 issue 升级说明 v3.x的版本和v2.x差别巨大,没办法平滑迁 ...

  7. 中国安防服务运营探讨:视频监控运维服务发展趋势

    - 本文转载自<中国安防>2022.3期 - 一.近几年视频监控运维服务由上而下受重视 视频监控系统作为一种防范能力较强的综合系统,以其直观.准确.及时呈现设防区域现场情况.信息设备状态, ...

  8. 《监控运维实践:原则与策略》读书笔记

    原文地址:https://www.lujun9972.win/blog/2022/03/17/<监控运维实践:原则与策略>读书笔记/index.html 目录 书本信息 监控实施的原则 反 ...

  9. 2021安防视频监控运维市场回顾和展望

    2021安防视频监控运维市场回顾和展望 --专访弘度科技产品总监李焕佳 摘自<中国安防>2021.12期 随着国家"十四五"规划指出要加快数字化发展.建设数字中国等众多 ...

  10. 互联网公司的监控运维

    监控系统.日志系统.配置管理系统以及部署系统 以前公司在监控.日志分析.应用配置和部署的工作方面都是徒手操作,若将徒手变为自动化,对于上流的互联网公司都急切需要这些自动化管理系统.无数生产的问题以及生 ...

最新文章

  1. http、TCP/IP协议与socket之间的区别
  2. 《锋利的jQuery》之jQuery简介
  3. 使用Spring创建用于JUnit测试的JNDI资源
  4. 读取扫码枪输入_为何超市“扫码枪”这么强?不输密码钱就没了,现在知道还不晚...
  5. 利用CMD在vim中直接编译
  6. 计算机操作系统笔记(六)
  7. ASP.NET Core使用Session
  8. robo3t怎么插入数据_使用Robo 3T操作MongoDB数据库
  9. [Vue]动态加载组件的四种方式
  10. 平均获客成本_获客成本5年翻了6倍,布局私域流量的背后隐藏了哪些惊人数据?...
  11. SQL server中函数依赖,完全与部分函数依赖,平凡和非平凡函数依赖
  12. Nginx实现高可用
  13. 日记--node.js 和nginx对比环境变量立刻生效https://www.cnblogs.com/zht-blog/p/4033951.html
  14. 亚洲一些物流软件航空争抢货机投放
  15. [转载]生命科学-人体生物磁场及特异作用
  16. ssm电子族谱信息管理系统的设计与实现毕业设计-附源码161714
  17. 利用平台系统运营店铺五大法则
  18. 单片微型计算机系统应用和开发特点,单片微机原理及应用--徐春辉---电子工业出版社习题答案.doc...
  19. TRUNK端口的配置实验
  20. 智卡调度APP的隐私声明

热门文章

  1. 怎样培养数据分析的能力
  2. (PKCS1) RSA 公私钥 pem 文件解析
  3. 价值函数与贝尔曼方程
  4. 教务管理系统 php源码,优索教务管理系统 v9.3.2
  5. 技校学高铁还是计算机,华蓥高铁动车司学那个专业好,高铁职业技术学校面试...
  6. 微信小程序之地图功能
  7. 微信小程序:文档下载功能
  8. 产品经理们如何看待NPDP认证?
  9. 说说关于访问控制模型
  10. 网件使用计算机mac地址吗,网件路由器怎么设置mac地址过滤