<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/lyflower" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/lyflower" type="application/rss+xml"></fs:self_link><lastBuildDate>Thu, 21 Apr 2011 09:38:00 GMT</lastBuildDate><title>lyflower的专栏</title><description>CSDN博客聚合服务</description><link>http://blog.csdn.net/blogrss.aspx?username=lyflower</link><item><title>转 如何进行Lucene的分布式应用</title><link>http://blog.csdn.net/lyflower/archive/2011/04/21/6339315.aspx</link><description>&lt;br /&gt;&lt;br /&gt;研讨如何进行Lucene的分布式应用  &lt;br /&gt; 共1页 &lt;br /&gt;&lt;br /&gt;　　提问：&lt;br /&gt;　　现在有个项目，有10台服务器，每台服务器负责某一部分的index。另外有一台web服务器，它可以根据用户提交的查询请求到特定的服务器上进行查找。比如用户提交查询A，根据index的分配情况，可以将查询请求分发给服务器a来负责，而用户提交查询请求B，则将它提交给服务器b来负责。不知lucene目前的index机制和search机制是否能够支持这种需求？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;回答：&lt;br /&gt;　　1. 目前lucene的机制不支持这种需求&lt;br /&gt;　　2. 你可以很容易的扩展lucene,从而满足你的需求.&lt;br /&gt;　　实际上,你这是涉及到 indexing的分布式存储的问题, 涉及到结构, 传输,等等.&lt;br /&gt;　　所以,你必须要设计一个robust的分布式index结构,然后再考虑如何实现.不要一开始就拿一个开源的lucene就上.&lt;br /&gt;　　google当然是分布式的索引. 只不过这个分布式可能不是你想象中的那么神秘.&lt;img src=&quot;http://www1.feedsky.com/t1/502896575/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2011/04/21/6339315.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896575/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896575/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 21 Apr 2011 17:38:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2011/04/21/6339315.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2011/04/21/6339315.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896575/1197557</fs:itemid></item><item><title>关于搜索引擎及其开发</title><link>http://blog.csdn.net/lyflower/archive/2011/03/23/6271604.aspx</link><description>&lt;br /&gt;&lt;br /&gt; 托google、百度们成功的福，搜索引擎火了半边天。很多人都想跨到这个行业里边来。前两天在公司里边面试了一些人，基本上没有感到满意。不是说从业经验不够，有些也已经工作了三年、四年。不过我估计，或者说是猜想，是不是做应用做的时间太长了，把数据结构、算法，时间、效率都扔到一边去了；然后平时的工作又太忙，平时自己工作的做的可以，但对工作相关的、稍微扩展的知识没有时间或者说是懒得去看了。。。。。&lt;br /&gt;   我的想法是，如果有兄弟姐妹要进入这个行业，最好对这个行业流行的想法、做法了解一些，如果不了解这些，就把数据结构和算法的基础课好好看看，或者说好好练练编程的基本功。搜索引擎开发涉及到了我们上学时学到的所有的东西。而且有些特别新的东西是没有书可以看得，有的只是经验，经过传承到了后进入者的手里；好的话，就是有论文，不过有价值的都是英文论文，国内的都是抄来抄去，不如直接去看他的原文（比如，也不知道哪个神仙把robust翻译成鲁棒性，放着健壮性之类的已经有的好词不用，非得翻译成这么一个上下不着地的词，而且现在还有逐渐流行的趋势。。。。）。不过，有本书叫做&lt;img src=&quot;http://www1.feedsky.com/t1/502896576/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2011/03/23/6271604.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896576/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896576/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 23 Mar 2011 17:07:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2011/03/23/6271604.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2011/03/23/6271604.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896576/1197557</fs:itemid></item><item><title>Memcache基础教程</title><link>http://blog.csdn.net/lyflower/archive/2011/03/22/6268546.aspx</link><description>&lt;br /&gt;Memcache基础教程&lt;br /&gt;Memcache是什么&lt;br /&gt;Memcache是danga.com的一个项目，最早是为 LiveJournal 服务的，目前全世界不少人使用这个缓存项目来构建自己大负载的网站，来分担数据库的压力。&lt;br /&gt;它可以应对任意多个连接，使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间，然后建立一个HashTable，Memcached自管理这些HashTable。&lt;br /&gt;Memcache官方网站：http://www.danga.com/memcached，更多详细的信息可以来这里了解 &lt;br /&gt;为什么会有Memcache和memcached两种名称？&lt;br /&gt;其实Memcache是这个项目的名称，而memcached是它服务器端的主程序文件名，知道我的意思了把~~~~。一个是项目名称，一个是主程序文件名，在网上看到了很多人不明白，于是混用了。&lt;br /&gt;Memcache的安装&lt;br /&gt;分为两个过程：memcache服务器端的安装和memcached客户端的安装。&lt;br /&gt;所谓服务器端的安装就是在服务器（一般都是l&lt;img src=&quot;http://www1.feedsky.com/t1/502896577/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2011/03/22/6268546.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896577/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896577/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 22 Mar 2011 17:07:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2011/03/22/6268546.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2011/03/22/6268546.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896577/1197557</fs:itemid></item><item><title>svn 版本控制 trunk branch tag</title><link>http://blog.csdn.net/lyflower/archive/2011/02/26/6209225.aspx</link><description>——简单的对比　　SVN的工作机制在某种程度上就像一颗正在生长的树：一颗有树干和许多分支的树分支从树干生长出来，并且细的分支从相对较粗的树干中长出一棵树可以只有树干没有分支（但是这种情况不会持续很久，随着树的成长，肯定会有分支啦，^^）一颗没有树干但是有很多分支的树看起来更像是地板上的一捆树枝如果树干患病了，最终分支也会受到影响，然后整棵树就会死亡如果分支患病了，你可以剪掉它，然后其他分支还会生长出来的哦！如果分支生长太快了，对于树干它可能会非常沉重，最后整棵树会垮塌掉当你感觉你的树、树干或者是分支看起来很漂亮的时候，你可以给它照张相，这样就就可以记得它在那时是多么的赞。——Trunk　　Trunk是放置稳定代码的主要环境，就好像一个汽车工厂，负责将成品的汽车零件组装在一起。　　以下内容将告诉你如何使用SVN trunk：除非你必须处理一些容易且能迅速解决的BUG，或者你必须添加一些无关逻辑的文件（比如媒体文件：图像，视频，CSS等等），否则永远 不要在trunk直接做开发不要因为特殊的需求而去对先前的版本做太大的&lt;img src=&quot;http://www1.feedsky.com/t1/502896578/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2011/02/26/6209225.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896578/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896578/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 26 Feb 2011 10:44:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2011/02/26/6209225.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2011/02/26/6209225.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896578/1197557</fs:itemid></item><item><title>数据更新快量大的业务设计数据库</title><link>http://blog.csdn.net/lyflower/archive/2011/02/22/6199983.aspx</link><description>&lt;br /&gt;对于千万到几亿级别的数据&lt;br /&gt;设备id分表，按区段或者取模这种传统手段都可以&lt;br /&gt;时间long型做主键&lt;br /&gt;最后去掉自增列&lt;br /&gt;&lt;br /&gt;并发如果超过一定量级（比如每秒100次了）&lt;br /&gt;就开始读写分离&lt;br /&gt;主库无索引只写入&lt;br /&gt;从库建索引调整索引大小&lt;br /&gt;&lt;br /&gt;如果超大并发（比如每秒500-1000次及以上写入）就这样子：&lt;br /&gt;原始数据用aof式的log存&lt;br /&gt;然后异步的存入数据库&lt;br /&gt;数据库本身再读写分离&lt;br /&gt;写入log后，多个worker并发的往数据库里面写，近乎于即时了。&lt;br /&gt;&lt;br /&gt;说白了，这种规模的系统，关键就是索引&lt;br /&gt;拿关系数据库就个多快好省的索引系统用了 &lt;br /&gt;&lt;br /&gt;数据归档也是应该做的，冷热数据分离，老数据根据不同维度做一定的合并&lt;img src=&quot;http://www1.feedsky.com/t1/502896579/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2011/02/22/6199983.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896579/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896579/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 22 Feb 2011 14:35:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2011/02/22/6199983.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2011/02/22/6199983.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896579/1197557</fs:itemid></item><item><title>linux mysql乱码</title><link>http://blog.csdn.net/lyflower/archive/2011/01/25/6162368.aspx</link><description>&lt;br /&gt;全部默认utf8&lt;br /&gt; linux终端utf-8&lt;br /&gt;方法一：&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;LANG=&quot;en_US.UTF-8&quot;&lt;br /&gt;SUPPORTED=&quot;zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en&quot;&lt;br /&gt;SYSFONT=&quot;latarcyrheb-sun16&quot;方法二：vi /etc/profileexport LC_ALL=&quot;en_US.UTF-8&quot;mysql vi /etc/my.cnf[client]default-character-set=uft8[mysqld]default-character-set=utf8init_connect='SET NAMES utf8'&lt;img src=&quot;http://www1.feedsky.com/t1/502896580/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2011/01/25/6162368.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896580/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896580/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 25 Jan 2011 09:43:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2011/01/25/6162368.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2011/01/25/6162368.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896580/1197557</fs:itemid></item><item><title>使用Java NIO编写高性能的服务器</title><link>http://blog.csdn.net/lyflower/archive/2011/01/21/6157576.aspx</link><description>从JDK 1.4开始，Java的标准库中就包含了NIO，即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO，当然包括了Socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装，提供了高性能、易伸缩的服务架构。说来惭愧，直到JDK1.4才有这种功能，但迟到者不一定没有螃蟹吃，NIO就提供了优秀的面向对象的解决方案，可以很方便地编写高性能的服务器。话说回来，传统的Server/Client实现是基于Thread per request，即服务器为每个客户端请求建立一个线程处理，单独负责处理一个客户的请求。比如像Tomcat（新版本也会提供NIO方案）、Resin等Web服务器就是这样实现的。当然为了减少瞬间峰值问题，服务器一般都使用线程池，规定了同时并发的最大数量，避免了线程的无限增长。但这样有一个问题：如果线程池的大小为100，当有100个用户同时通过HTTP现在一个大文件时，服务器的线程池会用完，因为所有的线程&lt;img src=&quot;http://www1.feedsky.com/t1/502896581/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2011/01/21/6157576.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896581/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896581/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 21 Jan 2011 19:17:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2011/01/21/6157576.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2011/01/21/6157576.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896581/1197557</fs:itemid></item><item><title>解决mysql“Access denied for user 'root'@'localhost'”</title><link>http://blog.csdn.net/lyflower/archive/2011/01/14/6137021.aspx</link><description>&lt;br /&gt;# mysql -uroot -p&lt;br /&gt;Enter password:&lt;br /&gt;ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)&lt;br /&gt;&lt;br /&gt;使用网上介绍的方法修改root用户的密码：&lt;br /&gt;# mysqladmin -uroot -p password 'newpassword'&lt;br /&gt;Enter password:&lt;br /&gt;mysqladmin: connect to server at 'localhost' failed&lt;br /&gt;error: 'Access denied for user 'root'@'localhost' (using password: YES)'&lt;br /&gt;&lt;br /&gt;现在终于被我找到了解决方法，如下（请先测试方法三，谢谢！）：&lt;br /&gt;方法一：&lt;br /&gt;# /etc/init.d/mysql stop&lt;br /&gt;# mysqld_safe --user=mysql --skip-grant-&lt;img src=&quot;http://www1.feedsky.com/t1/502896582/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2011/01/14/6137021.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896582/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896582/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 14 Jan 2011 00:23:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2011/01/14/6137021.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2011/01/14/6137021.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896582/1197557</fs:itemid></item><item><title>消息队列</title><link>http://blog.csdn.net/lyflower/archive/2010/12/30/6106486.aspx</link><description>&lt;br /&gt;twitter最近将ruby实现的消息队列服务器starling开源了，这是一个支持memcache协议的轻量级持久化服务器，因此使用php/perl/ruby/java等多种客户端都没问题，可以将较慢的处理逻辑通过消息队列放在后台处理，同时也支持多点分布式处理。&lt;br /&gt;&lt;br /&gt;利用消息队列可以很好地异步处理数据传送和存储，当你频繁地向数据库中插入数据、频繁地向搜索引擎提交数据，就可采取消息队列来异步插入。另外，还可以将较慢的处理逻辑、有并发数量限制的处理逻辑，通过消息队列放在后台处理，例如FLV视频转换、发送手机短信、发送电子邮件等。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;memcacheq是持久化的队列系统:&lt;br /&gt;http://code.google.com/p/memcacheq&lt;br /&gt;memqd是一个内存化的队列系统:&lt;br /&gt;http://code.google.com/p/memqd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;HTTPSQS（HTTP Simple Queue Service）是一款基于 HTTP GET/POST 协议的轻量级&lt;img src=&quot;http://www1.feedsky.com/t1/502896583/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2010/12/30/6106486.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896583/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896583/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 30 Dec 2010 10:14:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2010/12/30/6106486.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2010/12/30/6106486.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896583/1197557</fs:itemid></item><item><title>Twitter架构图(cache篇)</title><link>http://blog.csdn.net/lyflower/archive/2010/12/29/6105399.aspx</link><description>&lt;br /&gt;&lt;br /&gt;根据网上公开资料整理的Twitter架构，主要是cache方面，加了作者自己的补充，跟实际的架构未必完全一致。&lt;br /&gt;&lt;br /&gt;一些数据：Cache分Page cache, fragment cache, row cache, vector Cache, cache命中率见图。Fragment cache存放了API各种请求格式的数据，包括XML, JSON, RSS, ATOM。发表Tweets是先放入Kestrel, 再异步处理，Kestrel用的也是memcached协议。API requests: 550 r/s。POST tweets: 峰值：平时 80tweets/s, 奥巴马就任时达到 350tweets/s。Aggregator模块需要访问memcached multi get  数百个/s。Ruby on Rails前面还用了Varnish作前端反向代理。&lt;br /&gt;参考资料：QCon London 2009: Upgrading Twitter without service disruptionsImproving Running C&lt;img src=&quot;http://www1.feedsky.com/t1/502896584/lyflower/csdn.net/s.gif?r=http://blog.csdn.net/lyflower/archive/2010/12/29/6105399.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lyflower/502896584/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lyflower/502896584/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 29 Dec 2010 16:51:00 +0800</pubDate><author>lyflower</author><guid isPermaLink="false">http://blog.csdn.net/lyflower/archive/2010/12/29/6105399.aspx</guid><dc:creator>lyflower</dc:creator><fs:srclink>http://blog.csdn.net/lyflower/archive/2010/12/29/6105399.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lyflower/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lyflower/~1197579/502896584/1197557</fs:itemid></item></channel></rss>
