memcached:memcached全面剖析–5. memcached的应用和兼容程序

  本文举例源代码或素材下载

  我是Mixi长野memcached连载终于要结束了到上次为止我们介绍了和memcached直接相关话题本次介绍些mixi案例和实际应用上话题并介绍些和memcached兼容

  mixi案例研究  mixi在提供服务初期阶段就使用了memcached随着网站WebSite访问量急剧增加单纯为数据库添加slave已无法满足需要因此引入了memcached此外我们也从增加可扩展性方面进行了验证证明了memcached速度和稳定性都能满足需要现在memcached已成为mixi服务中非常重要组成部分



  图5 CPU利用率

  可见仍然有idle部分因此memcached性能非常高可以作为Web应用开发者放心地保存临时数据或缓存Cache数据地方

  兼容应用  memcached实现和协议都十分简单因此有很多和memcached兼容实现些功能强大扩展可以将memcached内存数据写到磁盘上实现数据持久性和冗余连载第3次 介绍过以后memcached存储层将变成可扩展(pluggable)逐渐支持这些功能

  这里介绍几个和memcached兼容应用

  repcached 为memcached提供复制(replication)功能patch Flared 存储到QDBM同时实现了异步复制和fail over等功能 memcachedb 存储到BerkleyDB还实现了message queue Tokyo Tyrant 将数据存储到Tokyo Cabinet不仅和memcached协议兼容还能通过HTTP进行访问Tokyo Tyrant案例  mixi使用了上述兼容应用Tokyo TyrantTokyo Tyrant是平林开发 Tokyo Cabinet DBM网络接口它有自己协议但也拥有memcached兼容协议也可以通过HTTP进行数据交换Tokyo Cabinet虽然是种将数据写到磁盘实现但速度相当快

  mixi并没有将Tokyo Tyrant作为缓存Cache服务器而是将它作为保存键值对组合DBMS来使用主要作为存储用户上次访问时间数据库来使用它和几乎所有mixi服务都有关每次用户访问页面时都要更新数据因此负荷相当高MySQL处理十分笨重单独使用memcached保存数据又有可能会丢失数据所以引入了Tokyo Tyrant但无需重新开发客户端只需原封不动地使用Cache::Memcached::Fast即可这也是优点的有关Tokyo Tyrant详细信息请参考本公司开发blog

  mixi Engineers' Blog - Tokyo Tyrantによる耐高負荷DBの構築

  mixi Engineers' Blog - Tokyo (Cabinet|Tyrant)の新機能

  整理总结  到本次为止“memcached全面剖析”系列就结束了我们介绍了memcached基础、内部结构、分散算法和应用等内容读完后如果您能对memcached产生兴趣就是我们荣幸有关mixi系统、应用方面信息请参考本公司开发blog感谢您阅读

  为了方便阅读现将原来翻译结果打包成PDF文档可以下载



  作者:长野雅广(Masahiro Nagano)

  原文链接:http://gihyo.jp/dev/feature/01/memcached/0005



Tags:  javamemcached memcachedserver phpmemcached memcached

延伸阅读

最新评论

发表评论