当前位置:首页 >> 技术栈专业化分层 >> 【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud,东芝m505

【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud,东芝m505

cpugpu芯片开发光刻机 技术栈专业化分层 1
文件名:【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud,东芝m505 【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud

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

改造RedisConnectionFactory /*** 根据缓存策略的不同,RedisConnectionFactory不同* 示例是单机模式。** @return*/@Beanpublic 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依赖 <!--Redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><exclusions><exclusion><artifactId>jedis</artifactId><groupId>redis.clients</groupId></exclusion></exclusions></dependency><dependency><groupId>com.sohu.tv</groupId><artifactId>cachecloud-open-client-redis</artifactId><version>1.0-SNAPSHOT</version><exclusions><exclusion><artifactId>jedis</artifactId><groupId>redis.clients</groupId></exclusion></exclusions></dependency><!--上步改造后编译的jar--><dependency><groupId>com.github.pig</groupId><artifactId>pig-cache-cloud-jedis</artifactId><version>2.9.1</version></dependency> 部署服务war

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

总结 源码,参考pig: https://gitee.com/log4j/pig 关于pig, 这是一套微服务应用的实践基于Spring Cloud、Spring Security Oauth2.0开发企业级认证与授权,提供常见服务监控、链路追踪、日志分析、缓存管理、任务调度等实现改造写于2017-2018的跨年夜,文章整理与2018.1.1,真惨,不过我喜欢 ?2017 失去很多,2018本命年 ? 汪汪汪!
协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接