生产环境ehcache迁移到集中式redis集群
来源:互联网 发布:网络好坏英文怎么写 编辑:程序博客网 时间:2024/06/14 13:35
原先项目中使用的ehcache分布式缓存,缺点是浪费内存,并且ehcache使用的是jvm进程的内存,因此内存使用很受限制。
还有就是业务中有时希望更新一个业务实体来使对应的缓存失效的场景,这种情况下如果对应业务实体缓存有多台机子那更新实体后更新缓存只能是其中一台,无法全部更新。
基于以上几点,项目希望切换成集中式缓存。
集中式缓存服务端架构是:网易LBS+Twemproxy+redis集群。
缓存客户端使用的是spring Data Redis。
由于Twemproxy代理本身不支持multi操作,因此项目中覆写了RedisCache的put方法。
我们这边项目用dubbo切分治理服务后,希望每个服务之间定义的缓存也是独立的。因此我们这边通过覆写RedisCacheManager的getCache方法,引入group组的概念。
每个具体服务模块都有一个组名,如商品模块组名:ItemCenter。
这样保证了每个服务间缓存的独立性,不同模块可以使用相同的缓存名称。
监控部分,一个是监控redis这层和业务无关的,还有就是和具体业务方有关的数据监控。
我们这边开发了一个业务层的监控,用于列出所有的cache块,列出每个业务cache块名称及相应元素对象个数。
并提供了一个清除cache块的按钮,当程序有bug时能够及时清除恢复。
spring context 4.0.8.RELEASE版本的spring data redis有个bug,当redis缓存挂掉后,正常业务访问一个缓存方法,这时由于RedisCache在做访问操作时抛出了异常,但未捕获,因此会导致整个业务访问也跟着挂掉。
最新版4.1.3.RELEASE已修复。
- 生产环境ehcache迁移到集中式redis集群
- Nagios监控生产环境redis集群服务实战
- Redis集群生产环境高可用方案实战过程
- 【方法】Redis集群生产环境高可用方案实战过程
- Ehcache集群环境配置
- Ehcache集群环境配置
- Ehcache集群环境配置
- TroubleShooting - 迁移到集群环境数据错乱问题
- 【集群】EHCache分布式缓存集群环境配置
- django迁移到apache生产环境步骤以及遇到的坑
- [备忘] redis 生产环境配置
- 生产环境构建指南:Web应用——集中式日志记录
- Scrapy迁移到生产服务器(aliyun)
- MongoDB集群间环境迁移
- redis集群环境搭建
- redis集群环境搭建
- Redis集群环境搭建
- redis集群环境部署
- BNUOJ49098 神奇的身高(LIS)
- 【BZOJ3309】DZY Loves Math
- HDOJ 献给杭电五十周年校庆的礼物 1290
- CString,string,char数组的转换
- 如何远程桌面Linux服务器
- 生产环境ehcache迁移到集中式redis集群
- 二期设计-----html与jsp
- matlab二进制运算
- Zend Framework 跳转方法(render, forward, redirect)区别与总结
- 条款12:复制对象时勿忘其每一个成分
- 细说C++和Java之启动篇
- SIFT和SURF特征提取分析(小结篇)
- 第五章
- 一种基于归并排序及随机数生成器对一个给定数组进行随机排列的算法