我是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
最新评论