




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Memcached缓存技术浅谈 刘敬之 Memcached是什么 解决什么问题 Memcached应用于数据库和应用服务之间以减轻数据库负载 它通过在内存中缓存数据和对象来减少数据库的访问次数 从而提高响应速度 Memcached是基于存储键 值对的hashmap 其守护进程 daemon 是用C写的 但是客户端可以用任何语言来编写 并通过memcached协议与守护进程通信 基于memcached的应用系统架构图 数据库 Memcached缓存服务器 应用服务器 浏览器 Memcached的优缺点 内存存储 速度快 对内存要求高 对CPU要求低分布式扩展 多个Memcached服务端组成集群环境Socket通信 传输内容的大小以及序列化内存分配机制 LRU 上限1MCache机制简单 把东西放进去 然后可以取出来客户端的重要性 客户端设计的合理十分重要 同时也给使用者提供了很大的空间去扩展和设计客户端来满足各种场景的需要 包括容错 权重 效率 特殊的功能性需求 嵌入框架等等 memcached客户端分类 gwhalin memcachedspymemcachedalisoft memcachedxmemcached gwhalin memcached 说明 memcached官方提供的客户端官方地址 简介 官方提供的基于传统阻塞io由GregWhalin维护的客户端最新版本 java memcached release 2 6 1 zip优点 memcached官方提供的java客户端 应用最为广泛 性能稳定 缺点 基于传统阻塞io 不具备memcached之间数据热备功能 客户端访问memcached服务端不命中直接请求数据源 spymemcached 说明 基于java1 5nio非阴塞的客户端官方地址 简介 由DustinSallings实现的基于java1 5nio的客户端最新版本 spymemcached 2 7 jar优点 基于java1 5nio缺点 应用不广泛 性能稳定性较差 不具备memcached之间数据热备功能 alisoft memcached 说明 基于whalin memcached客户端的优化封装官方地址 简介 阿里巴巴架构师岑文初开发的基于whalin memcached的客户端最新版本 alisoft xplatform asf cache 2 5 1 jar优点 支持错误转移和数据备份 支持本地缓存等缺点 测试性能不是最优 xmemcached 说明 基于spymemcached客户端的优化封装官方地址 简介 淘宝架构师伯岩开发的基于spymemcached的客户端最新版本 xmemcached 1 3 3 bin with dependencies tar gz优点 支持各种协议功能 功能丰富 缺点 不具备memcached之间数据热备功能 memcached客户端的选择 功能方面 四种memcached客户端中只有alisoft memcached具备了数据热备功能 而xmemcached拥有非常强大的组件支持功能 所以这二者较优 性能方面 由于alisoft memcached是对gwhalin memcached的封装 而xmemcached是基于spymemcached的改进 所以对alisoft memcached和xmemcached分别进行了单server 集群环境 不同线程 put get等方式的性能测试 得出结论 xmemcached的性能较优 xmemcached和alisoft memcached性能测试一 单server 10万对象数据 不同线程数 put方式性能比较 xmemcached和alisoft memcached性能测试二 单server 10万对象数据 不同线程数 get方式性能比较 xmemcached和alisoft memcached性能测试三 集群 10万对象数据 不同线程数 put方式性能比较 xmemcached和alisoft memcached性能测试四 集群 10万对象数据 不同线程数 get方式性能比较 xmemcached和alisoft memcached性能测试五 集群 50个线程 不同请求资源数 put方式性能比较 xmemcached和alisoft memcached性能测试六 集群 50个线程 不同请求资源数 get方式性能比较 xmemcached和alisoft memcached性能测试七 集群 100个线程 不同请求资源数 put方式性能比较 xmemcached和alisoft memcached性能测试八 集群 100个线程 不同请求资源数 get方式性能比较 封装xmemcached 出于性能考虑决定选则xmemcached作为memcached客户端 但由于xmemcached不具备数据热备 服务动态切换等功能 现对其进行封装完善以满足我们的系统需求 功能点一 在xmemcached添加数据热备功能 实现方案 以异步守护线程方式初始数据队列LinkedBlockingQueuequeue 重写原memcachedclient的put方法在原put方法基础上将数据加入queue队列中 并在异步线程中处理queue中数据 将数据同步到slaveserver 备份服务器 封装xmemcached 功能点二 封装xmemcached实现主 从服务器动态切换功能 实现方案 以HeartBeat心跳 监听memcached主 从服务器中服务器运行状态 当主服务器服务连接不可用时 调用reload方法实现主 从服务器切换 并将HeartBeat监听信息单独提取 记录在heartbeat log以便日志分析 可以根据日志信息及时处理主 从服务器中发生异常连接的memcached服务器 说明 这种设计仅限于一般中小型应用 masterserver和slaveserver各自只有一台服务器 在后续第二阶段设计中将完善大型应用扩展masterservers和slaverservers将主 从服务器均设置多台以提高效率 第二阶段中采用主 从多台服务器 主服务器群其中一台server1宕机或连接异常时应采用不同的策略 可设置重连次数N 当重连N次后仍然未能连接上 则认定此server1宕机 这时主 从服务器群自动漂移 由守护线程继续检测 恢复正常后修补数据 将宕掉的server1中数据从当前主服务器群中同步到从服务器群中 重连N次内如果重连成功 则视为server1未宕机只是网络中断 这时不需要自动切换主 从服务器群 封装xmemcached 功能点三 添加Ehcache作为本地缓存策略 实现方案 重写原Ehcache的put get方法 定义ConcurrentHashMapexpiryCache存放key time 即以put时传入key为健 传入time作为值存入map 然后当get的时候首先检查key在expiryCache中对应缓存时间是否过期 说明 本阶段对Ehcache的支持仅限于单server 而我们大部分的应用都是分布式的 在这种环境中就需要和集群中其他CacheManager进行通信 以解决缓存失效通知的问题 方案 Ehcache缓存同步有五种策略RMI 在ehcache的默认配置文件ehcache xml中定义CacheManagerPeerProviderFactory节点并创建RMICacheManagerPeerProviderFactory实例 和集群中其它CacheManger通信 JGroups 在ehcache的默认配置文件ehcache xml中定义CacheManagerPeerProviderFactory节点并创建 JGroupsCacheManagerPeerProviderFactory实例 和集群中其它CacheManger通信 Terracotta 将EHcache加入到terracottaservice中管理 JMS 通过JMS做失效通知 JMS实现方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙江省商务究院实习人员招聘笔试备考题库及答案解析
- 2025浙江金华市武义县司法局招聘4人笔试参考题库附答案解析
- 2025云南省丽江市玉龙纳西族自治县幼儿园招聘公益性岗位教师(3人)笔试备考试题及答案解析
- 养殖业标准化建设方案
- 2025新疆兵团粮安储备粮管理有限责任公司招聘19人考试含答案
- 2025西安国际港务区陆港第七小学招聘笔试备考试题及答案解析
- 2025年铁岭银行见习生招聘50人考试备考试题及答案解析
- 2025年体育专业中级运动防护师考试真题附答案
- 2025年事业单位工勤技能-广东-广东计算机文字录入处理员五级(初级工)历年参考题库含答案解析5套
- 2025年学校公共卫生管理实务案例分析答案及解析
- 粘膜免疫 2课件
- 电子课件-《可编程序控制器及其应用(三菱-第三版)》-A04-1724-课题一-可编程序控制器基础知识
- 统计业务知识(统计法规)课件
- 实验计划样表
- 三阶魔方入门教程课件
- 艾滋病个案流行病学调查表
- 广告策划与创意课件-2
- 地质勘察任务书模板
- 全国中心血站上岗证考试题库
- 环境社会学整本书课件完整版电子教案全套课件最全教学教程ppt(最新)
- 计算机组装与维护完整版课件(全)
评论
0/150
提交评论