??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲色中文字幕无码AV,亚洲AV色无码乱码在线观看,亚洲精品综合一二三区在线http://www.tkk7.com/rocky/archive/2013/08/07/jsoup.html老妖老妖Wed, 07 Aug 2013 05:25:00 GMThttp://www.tkk7.com/rocky/archive/2013/08/07/jsoup.htmlhttp://www.tkk7.com/rocky/comments/402503.htmlhttp://www.tkk7.com/rocky/archive/2013/08/07/jsoup.html#Feedback4http://www.tkk7.com/rocky/comments/commentRss/402503.htmlhttp://www.tkk7.com/rocky/services/trackbacks/402503.html阅读全文

老妖 2013-08-07 13:25 发表评论
]]>
一号店 面试http://www.tkk7.com/rocky/archive/2013/07/29/yihaodian-interview.html老妖老妖Mon, 29 Jul 2013 07:21:00 GMThttp://www.tkk7.com/rocky/archive/2013/07/29/yihaodian-interview.htmlhttp://www.tkk7.com/rocky/comments/402104.htmlhttp://www.tkk7.com/rocky/archive/2013/07/29/yihaodian-interview.html#Feedback10http://www.tkk7.com/rocky/comments/commentRss/402104.htmlhttp://www.tkk7.com/rocky/services/trackbacks/402104.html阅读全文

老妖 2013-07-29 15:21 发表评论
]]>
消除netbeans 6.0以上版本竖线http://www.tkk7.com/rocky/archive/2009/10/22/netbeans_text_limit_line_visible.html老妖老妖Thu, 22 Oct 2009 06:24:00 GMThttp://www.tkk7.com/rocky/archive/2009/10/22/netbeans_text_limit_line_visible.htmlhttp://www.tkk7.com/rocky/comments/299357.htmlhttp://www.tkk7.com/rocky/archive/2009/10/22/netbeans_text_limit_line_visible.html#Feedback0http://www.tkk7.com/rocky/comments/commentRss/299357.htmlhttp://www.tkk7.com/rocky/services/trackbacks/299357.html阅读全文

老妖 2009-10-22 14:24 发表评论
]]>
一个不错的界面原型制作工具QBalsamiq MockupsQ?/title><link>http://www.tkk7.com/rocky/archive/2009/09/16/Balsamiq_Mockups.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Wed, 16 Sep 2009 02:44:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2009/09/16/Balsamiq_Mockups.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/295264.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2009/09/16/Balsamiq_Mockups.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/295264.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/295264.html</trackback:ping><description><![CDATA[     摘要: 一个不错的界面原型制作工具QBalsamiq MockupsQ?nbsp; <a href='http://www.tkk7.com/rocky/archive/2009/09/16/Balsamiq_Mockups.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/295264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2009-09-16 10:44 <a href="http://www.tkk7.com/rocky/archive/2009/09/16/Balsamiq_Mockups.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>suse9升sp4错误 sh: can't access tty; job control turned offhttp://www.tkk7.com/rocky/archive/2009/02/13/suse9_sp4_can_not_access_tty.html老妖老妖Fri, 13 Feb 2009 02:43:00 GMThttp://www.tkk7.com/rocky/archive/2009/02/13/suse9_sp4_can_not_access_tty.htmlhttp://www.tkk7.com/rocky/comments/254513.htmlhttp://www.tkk7.com/rocky/archive/2009/02/13/suse9_sp4_can_not_access_tty.html#Feedback2http://www.tkk7.com/rocky/comments/commentRss/254513.htmlhttp://www.tkk7.com/rocky/services/trackbacks/254513.html阅读全文

老妖 2009-02-13 10:43 发表评论
]]>
大国?黄金时代的笛?/title><link>http://www.tkk7.com/rocky/archive/2008/05/04/198235.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Sun, 04 May 2008 11:30:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2008/05/04/198235.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/198235.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2008/05/04/198235.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/198235.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/198235.html</trackback:ping><description><![CDATA[     摘要: 大国?nbsp; <a href='http://www.tkk7.com/rocky/archive/2008/05/04/198235.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/198235.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2008-05-04 19:30 <a href="http://www.tkk7.com/rocky/archive/2008/05/04/198235.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大国?忠臣?/title><link>http://www.tkk7.com/rocky/archive/2008/05/04/198234.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Sun, 04 May 2008 11:29:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2008/05/04/198234.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/198234.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2008/05/04/198234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/198234.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/198234.html</trackback:ping><description><![CDATA[     摘要: 大国?nbsp; <a href='http://www.tkk7.com/rocky/archive/2008/05/04/198234.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/198234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2008-05-04 19:29 <a href="http://www.tkk7.com/rocky/archive/2008/05/04/198234.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大国?h与三千姬http://www.tkk7.com/rocky/archive/2008/05/04/198231.html老妖老妖Sun, 04 May 2008 11:26:00 GMThttp://www.tkk7.com/rocky/archive/2008/05/04/198231.htmlhttp://www.tkk7.com/rocky/comments/198231.htmlhttp://www.tkk7.com/rocky/archive/2008/05/04/198231.html#Feedback0http://www.tkk7.com/rocky/comments/commentRss/198231.htmlhttp://www.tkk7.com/rocky/services/trackbacks/198231.html阅读全文

老妖 2008-05-04 19:26 发表评论
]]>
大国?明鱼公主http://www.tkk7.com/rocky/archive/2008/05/04/198230.html老妖老妖Sun, 04 May 2008 11:24:00 GMThttp://www.tkk7.com/rocky/archive/2008/05/04/198230.htmlhttp://www.tkk7.com/rocky/comments/198230.htmlhttp://www.tkk7.com/rocky/archive/2008/05/04/198230.html#Feedback0http://www.tkk7.com/rocky/comments/commentRss/198230.htmlhttp://www.tkk7.com/rocky/services/trackbacks/198230.html阅读全文

老妖 2008-05-04 19:24 发表评论
]]>
大国?天地?/title><link>http://www.tkk7.com/rocky/archive/2008/05/04/198229.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Sun, 04 May 2008 11:12:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2008/05/04/198229.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/198229.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2008/05/04/198229.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/198229.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/198229.html</trackback:ping><description><![CDATA[     摘要: 大国?nbsp; <a href='http://www.tkk7.com/rocky/archive/2008/05/04/198229.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/198229.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2008-05-04 19:12 <a href="http://www.tkk7.com/rocky/archive/2008/05/04/198229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大国?大将?/title><link>http://www.tkk7.com/rocky/archive/2008/05/04/198228.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Sun, 04 May 2008 11:11:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2008/05/04/198228.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/198228.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2008/05/04/198228.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/198228.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/198228.html</trackback:ping><description><![CDATA[     摘要: 大国?nbsp; <a href='http://www.tkk7.com/rocky/archive/2008/05/04/198228.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/198228.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2008-05-04 19:11 <a href="http://www.tkk7.com/rocky/archive/2008/05/04/198228.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大国?w一?/title><link>http://www.tkk7.com/rocky/archive/2008/05/04/198227.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Sun, 04 May 2008 11:06:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2008/05/04/198227.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/198227.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2008/05/04/198227.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/198227.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/198227.html</trackback:ping><description><![CDATA[     摘要: 大国?nbsp; <a href='http://www.tkk7.com/rocky/archive/2008/05/04/198227.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/198227.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2008-05-04 19:06 <a href="http://www.tkk7.com/rocky/archive/2008/05/04/198227.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大国?虞美?/title><link>http://www.tkk7.com/rocky/archive/2008/05/04/198226.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Sun, 04 May 2008 11:04:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2008/05/04/198226.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/198226.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2008/05/04/198226.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/198226.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/198226.html</trackback:ping><description><![CDATA[中国Q皇城。如梦如烟的恭王府前Q来了一位神U的客h?<br />     他的w后带着一个随从,随从的手中,心翼的捧着一个包裏V?<br />     王府的门房ȝ带着倨傲的表情,从他的手中接q拜帖,始而震骇,l而恭。这位神U的客h便是本朝的国师王威么——据_王威其h有多样异能,他可以同时在两个地方出现Q他能让h温柔下来Qƈ走在其上。他N风,教训雨。当他的x像蜻蜓翅膀一样震动v来的时候,w周所有h都能听见来自四下花木的言语?<br />     可以惛_Q这样大有能力的人,在Q何时代,说的每句话,做的每一事,自然带有无尽的威仪?<br />     王府的门房ȝ知道Q王威之所以来Qؓ的自然是皇上寄居在恭王府的虞hQ整个京师到处都在流传着今上最喜欢的女人,便是q位从朝鲜来的美奻I一Wv来眼睛就看不见的女。同LQ整个京师都在忖今上ؓ什么不把自己最q女h带入宫中Q而是留在恭王府?<br />   <br />     门房ȝ带着王威和他的随从穿q反复缠l、不断生长的回廊Q楼阁、假山在q无限的生长的同时仿佛又在不断的消失Q就像一根线在一栚w的接引下Q灵巧的在布面上跛_Q从一个花边到另一个花边,当你在正面看到线的时候,针已l到了布面的背面?<br />     很快的,王威来到了虞h的寝宫之前?<br />     寝宫用来自遥q安息国的镜石筑,有着阿刺伯h设计的巨大的IŞ圆顶Q接引天光月Ԍ直入无碍。穹和戉K的每一处镶嵌成千上万片U色、蓝艌Ӏ褐艌Ӏ绿艌Ӏ无色的镜片Q只要点上一盏烛火,镜镜生光Q片片斗Ԍ象一大块hw在深邃的夜里,天上星,一颗颗掉,掉到hQ又上来?<br />     q宫殿Q名?#8220;镜宫”?<br />   <br />     众所周知Q当今皇上ƈ不是多么喜好奌Q每ơ朝会,L从容和文武大臣、外国节一起鉴赏四方五服进献的女Q然后,转过_l声l气地用着温柔的语调嘱咐n周待命的带刀侍卫Q侍卫便会上d今上属意的美奛_q密室,闭上眼睛Q砍下美女的头颅Q盛攑֜光四溢的瓷器中Q再捧上明堂Q传观四众?<br />     直到虞美人出现的那一天,三年前。     <br />   <br />     现在Q虞h整个在一件色狐裘之中,不但眼睛Q就q脸庞也看不见。她剔着自己的手指甲Q一直到她开始剔脚指甲的时候,才看见王威的随从在打开包裹里的包裹——一共打开了十九个包裹之后——显现出一个小木盒子?<br />     虞美人懒z洋地在太^椅上QE扶送的一室燃点着的南z进贡的沉香。她习惯地闭上眼睛,省心省力地等待盒子打开时宝矛_目璀璨的光芒?<br />     然而,虞美人很快失望了?<br />     木盒子里头Q放着的是一枚不L的果子,食指指甲大小Q枯q破败?<br />     王威解说道:“此果极北极寒之地。深埋亿万年前的玄冰之内Q化而ؓ矟뀂现下,只需清泉一脉、黄土一捧,三日LQ五日加Ӟ七日开花,恰当月圆之时?#8221; <br />     虞美人听到这一处,整个人坐直v来,一对眼睛又圆又大?<br />     王威接着说道Q?#8220;花开之时Q红白斗Ԍ千枝癑֏Q疏L散,一室奇香,皇上御驾必将亲镜宫……”王威q待在说Q却见虞h拈v果子Q注目驰心,昄正在悬想花开时候,该是何等奇异情Ş?<br />     虞美人道Q?#8220;你不用多_说多了,便不惊奇了。下dQ我也困了?#8221; <br />     王威退到门口,看着宫女徐徐掩上的宫门,大声道:“C那一Ӟ花开之时Q切切不可用手触摸?#8221; <br />   <br />     七日后的傍晚时分Q王威和皇上l由密道——皇宫直抵镜宫的密道——来C镜宫深处Q两人站在虞h的寝室之旁的夹层U壁之内Q透过波光_粼的玻璃,看到见虞h起床、更衣、梳妆,丑֊历历Q如在眼前?<br />     月亮升了hQ照亮一室明晦不定?<br />     皇上t着脚跟看了一会,道:“q镜宫,我是三年没来了,q花Q也q_Q真有你说的那般奇Q?#8221; <br />     王威却有点神思不属,说道Q?#8220;植物虽然不能UdQ但Q却可以{待环境的变化,{到最合适的时候重生,植物在这斚w的耐心Q实是远胜过Z?#8221; <br />     皇上倒是习惯了这位国师莫高qa语,心中此刻只欢喜的想着Q自׃后再不会有心g疾了。三q前Q他自见虞美人的那一面vQ坐惌思,w遥心迩Q念念在心,一念,他的整颗心便会被自己充充满满的激情而剧烈蟩动,然后Q脸色渐渐绯U,最后,整个人捂着胸口QY倒在地?<br />     只是q会Q看着虞美人眼儿媚、脚步碎的走向追着月圆慢慢l放的古时花的这会,一颗心又仿佛不是自q痛将h?<br />     在虞h伸出兰花一L手指Q触摸花、花瓣、花的枝、花的叶的这一刚w—?<br />     皇上已经痛地扶不住自q腎ͼ他额头冒汗、大口大口的喘气Q问道:“q花Q真叫食?#8221; <br />     王威接住皇上慢慢软倒的w子Q看见,看见了,眼前的镜片v了一片红雾?<br />     他知道自己已l用不着回答Q是q是不是了?<br /> <img src ="http://www.tkk7.com/rocky/aggbug/198226.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2008-05-04 19:04 <a href="http://www.tkk7.com/rocky/archive/2008/05/04/198226.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大国?引言http://www.tkk7.com/rocky/archive/2008/05/04/198225.html老妖老妖Sun, 04 May 2008 11:03:00 GMThttp://www.tkk7.com/rocky/archive/2008/05/04/198225.htmlhttp://www.tkk7.com/rocky/comments/198225.htmlhttp://www.tkk7.com/rocky/archive/2008/05/04/198225.html#Feedback0http://www.tkk7.com/rocky/comments/commentRss/198225.htmlhttp://www.tkk7.com/rocky/services/trackbacks/198225.html阅读全文

老妖 2008-05-04 19:03 发表评论
]]>
SYBASE windows 卸蝲后重新安装报?/title><link>http://www.tkk7.com/rocky/archive/2008/02/26/sybase_reinstall_windows.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Tue, 26 Feb 2008 08:52:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2008/02/26/sybase_reinstall_windows.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/182264.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2008/02/26/sybase_reinstall_windows.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/182264.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/182264.html</trackback:ping><description><![CDATA[     摘要: sybase 卸蝲后重新安装问?nbsp; <a href='http://www.tkk7.com/rocky/archive/2008/02/26/sybase_reinstall_windows.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/182264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2008-02-26 16:52 <a href="http://www.tkk7.com/rocky/archive/2008/02/26/sybase_reinstall_windows.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Xfire?/title><link>http://www.tkk7.com/rocky/archive/2008/01/18/xfire.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Fri, 18 Jan 2008 07:59:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2008/01/18/xfire.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/176257.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2008/01/18/xfire.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/176257.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/176257.html</trackback:ping><description><![CDATA[     摘要: xifre  <a href='http://www.tkk7.com/rocky/archive/2008/01/18/xfire.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/176257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2008-01-18 15:59 <a href="http://www.tkk7.com/rocky/archive/2008/01/18/xfire.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于工作与生z?Q?孙振耀 Q{Q?http://www.tkk7.com/rocky/archive/2007/12/27/170900.html老妖老妖Thu, 27 Dec 2007 07:53:00 GMThttp://www.tkk7.com/rocky/archive/2007/12/27/170900.htmlhttp://www.tkk7.com/rocky/comments/170900.htmlhttp://www.tkk7.com/rocky/archive/2007/12/27/170900.html#Feedback1http://www.tkk7.com/rocky/comments/commentRss/170900.htmlhttp://www.tkk7.com/rocky/services/trackbacks/170900.html阅读全文

老妖 2007-12-27 15:53 发表评论
]]>
spring事务探烦(转蝲)http://www.tkk7.com/rocky/archive/2007/12/24/spring_transaction_1.html老妖老妖Mon, 24 Dec 2007 09:31:00 GMThttp://www.tkk7.com/rocky/archive/2007/12/24/spring_transaction_1.htmlhttp://www.tkk7.com/rocky/comments/170115.htmlhttp://www.tkk7.com/rocky/archive/2007/12/24/spring_transaction_1.html#Feedback0http://www.tkk7.com/rocky/comments/commentRss/170115.htmlhttp://www.tkk7.com/rocky/services/trackbacks/170115.html阅读全文

老妖 2007-12-24 17:31 发表评论
]]>
解惑 spring 嵌套事务(转蝲)http://www.tkk7.com/rocky/archive/2007/12/24/spring_transaction.html老妖老妖Mon, 24 Dec 2007 09:22:00 GMThttp://www.tkk7.com/rocky/archive/2007/12/24/spring_transaction.htmlhttp://www.tkk7.com/rocky/comments/170110.htmlhttp://www.tkk7.com/rocky/archive/2007/12/24/spring_transaction.html#Feedback0http://www.tkk7.com/rocky/comments/commentRss/170110.htmlhttp://www.tkk7.com/rocky/services/trackbacks/170110.html阅读全文

老妖 2007-12-24 17:22 发表评论
]]>
大型Web2.0站点构徏技术初探(转蝲Q?/title><link>http://www.tkk7.com/rocky/archive/2007/11/02/157695.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Fri, 02 Nov 2007 03:02:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2007/11/02/157695.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/157695.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2007/11/02/157695.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/157695.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/157695.html</trackback:ping><description><![CDATA[<p>        一?web2.0|站常用可用性功能模块分?</p> <p>  二?Flickr的幕后故?</p> <p>  三?YouTube 的架构扩?</p> <p>  四?mixi.jpQ用开源Y件搭建的可扩展SNS|站 </p> <p>  五?Technorati的后台数据库架构 </p> <p>  六?通过了解MySpace的六ơ重构经?来认识分布式pȝ到底该如何创?</p> <p>  七?从LiveJournal后台发展看大规模|站性能优化Ҏ </p> <p>  八?说说大型高ƈ发高负蝲|站的系l架?</p> <p>  <strong taggedby="hylanda">一?</strong><strong taggedby="hylanda">web2.0</strong>|站常用可用性功能模块分?/p> <p>  Web 2.0|站是指传l的|站构架Q^台、内Ҏ、用戗传播方式等Q{化到<strong>以用户ؓ核心</strong>的网站构架上来,包括一pd体现web2.0概念的元素、定位和?意。web2.0|站在构架上MC大宗旨,?strong>强大的后台系l和单的前台面</strong>Q也x供良好的用户体验Q体?strong>以h为本Q技术服务hc?/strong>的宗旨?</p> <p>  web2.0|站常用功能块通常包括以下几大: </p> <p>  <strong taggedby="hylanda">1.</strong><strong taggedby="hylanda">Tag</strong><strong taggedby="hylanda">标签功能?/strong></p> <p>  Tag(中文叫做"标签") 是一U新的组l和理在线信息的方式。它不同于传l的、针Ҏ件本w的关键字检索,而是一U模p化、智能化的分cR?</p> <p>  |页使用Tag标签的好处: </p> <p>  为页面设|一个或者多个Tag标签可以引导读者阅L多相x章,为别人带L量同理也己带来流量?</p> <p>  可以帮助读者及时了解一些未知的概念和知识点Q提高用户体验?</p> <p>  Tag是h的意志和向的体玎ͼTag可以帮助你找到兴相投的人?</p> <p>  Z以上优势QTag标签代替了传l的分类法,成ؓweb2.0|站使用率最高的功能块(与其说是功能块倒不如说是一U内容导航和内容l织形式Q?</p> <p>  一句话QTag标签是一U更灉|的分cL法,功能在于引导Q特Ҏ无处不在Q体现智能性、模p性和向性?</p> <p>  <strong taggedby="hylanda">2.</strong><strong taggedby="hylanda">RSS</strong><strong taggedby="hylanda">订阅功能?/strong></p> <p>  RSS是在U共享内容的一U简易方式(也叫聚合内容QReally Simple SyndicationQ。通常在时效性比较强的内容上使用RSS订阅能更快速获取信息,|站提供RSS输出Q有利于让用戯取网站内容的最新更新。网l?用户可以在客L借助于支持RSS的聚合工兯YӞ例如SharpReader,NewzCrawler、FeedDemonQ,在不打开|站内容面?情况下阅L持RSS输出的网站内宏V?</p> <p>  RSS订阅的方式: </p> <p>  订阅到客L软g如周伯通、遨游浏览器RSS阅读、Foxmail RSS阅读{,此方式用者较?</p> <p>  订阅到在UK读(聚合c)门户|站如Google ReaderQYahoo ReaderQ抓虾、Gougou{,省去了安装RSS阅读器的ȝ </p> <p>  订阅到在U单用户聚合器如Lilina{,比较灉| </p> <p>  RSS订阅功能的最大好处是定向投递,也就是说RSS机制更能体现用户的意愿和个性,获取信息的方式也最直接和简单,q是RSS订阅功能备受青睐的一大主要原因?</p> <p>  <strong taggedby="hylanda">3.</strong><strong taggedby="hylanda">推荐和收藏功能块</strong></p> <p>  说到推荐功能Q不仅web2.0|站在大量用,传统的以cmsq_Z表的内容模式的网站也在大量用,推荐功能主要是指向一些网摘或者聚合类门户|站推荐自己所览到的|页。当Ӟ一U变相的推荐是阅读者的自我收藏行ؓQ在׃n的模式下也能起到推荐的作用?</p> <p>  比较有名的推荐目标有以del.icio.usZ表的|摘cȝ站包括国内比较有名气?65key、和讯网摘、新vivi、天极网摘等。这 里值得一提的是前D|间曾涌现了大批网摘类|站Q但他们坚持zM来的好像没有几个了,推荐使用前面提到的这几个|摘门户Qh气基本上是最旺的?</p> <p>  <strong taggedby="hylanda">4.</strong><strong taggedby="hylanda">评论和留a功能?/strong></p> <p>  web2.0参与性,发挥用户的主g用,q里的参与性除了所谓的订阅、推荐功能外更多C现在用户对内容的评h和态度Q这p靠评?功能块来完成。一个典型的web2.0|站或者说一个能体现人气的web2.0|站都会花大量篇q来体现用户的观点和视觉。这里尤其要提到web2.0?的带头老大web blogQ评论功能已l成为博客主Z览者交的主要阵地Q是体现|站人气的最直观因素?</p> <p>  评论功能块应用在博客pȝ中实际上已经和博客内容相分离Q而更好的应用恰恰是一些以点评Z的web2.0|站比如豆瓣、点评网{,q里的评论功能块直接刉了内容也极大地体现了网站的人气Q所以说<strong>评论功能块是web2.0|站最有力的武?/strong>?</p> <p>  <strong taggedby="hylanda">5.</strong><strong taggedby="hylanda">站内搜烦功能?/strong></p> <p>  搜烦是信息来源最直接的方式之一Q无Z的网站是否打上web2.0的烙华ͼ搜烦对于一个体pd大、内容丰富的大型|站都是非常必要的。Tag 标签在某U程度上起到搜烦的作用,它能够有效聚合以此Tag为关键词的内容,但这U情늚前提是此Tag标签Ҏ览者是可见的,也就是说当Tag标签摆在 览者的眼前时才成立Q而对于那些浏览者想要的信息却没有Tag标签来引导时搜烦是辑ֈ此目的的最好方法?</p> <p>  对于web2.0|站Q站内搜索以标题或者Tag为搜索域都能起到好的效果Q但本h不徏议用内Ҏ索域Q因不符合搜索的高效性原则。同 ӞhH出关键词的内容往往都可以用Tag标签来引|因此使用内容域来搜烦实际上是一U浪Ҏ务器资源的行为,而且搜烦l果的准性将大打折扣?</p> <p>  <strong taggedby="hylanda">6.</strong><strong taggedby="hylanda">组功能?/strong></p> <p>  我ؓ什么要把群l作为web2.0|站的功能块来分析呢Q因为群l是web2.0|站的一大特点,也是web2.0所要体现的服务宗旨所在。一 个web2.0|站Q博客也好、播客也好、点评也好,抑或是网摘、聚合门P他们都强调h的参与性。物以类聚、h以群分,每个参与者都有自q兴趣向Q?web2.0|站的另一主要功能是帮助q些人找到同样兴的人ƈ形成一个活跃的体Q这是web2.0|站的根本?</p> <p>  ȝQweb2.0|站倡导的是<strong>集体创作、共享资?/strong>Q靠的是人气Q体现的是参与性,一个没有参与性的web2.0|站都不以成ؓ web2.0。以上提到的q几个功能块是以吸引用户参与和引导用户参与为目的的Q真正的web2.0不是什么深奥的东西Q只有一点,那就是如何让览?沸腾h?</p> <p>  <strong taggedby="hylanda">二?Flickr</strong>的幕后故?/p> <p>  我们都看?Flickr 的成功,而又有多?_英"们了解过 Flickr 背后的过E是多么充满艰险?</p> <p>  Flickr ?strong>?CGI 的动态构?/strong>(<font color="#ff9900">呀呀...</font>.)Qƈ以一U?.gne 的脚本作?CGI E序语言。不网站制作菜鸟还是高手都会疑惑:gne 是哪U程序语aQ答案:gne 不是一U语aQFlickr 是以极ؓl典?PHP + MySQL 方式实现的,在被 Yahoo 收购服务器搬入美国之前,使用?21 収ͼ69.90.111.101-121Q?Apache/PHP ?Web?3 台图片服务器、另?MySQL 服务器组成的数据库集的服务器数量未知。现在估计用的?Yahoo 的负载均衡系l,对外只有一?Web ?IP 和图片服务器?IP 了?</p> <p>  那ؓ?.php 的文件要Ҏ .gne 呢?以往有大型网站ؓ向后兼容性考虑Q隐藏以E序语言命名的脚本文件扩展名Q比?Baidu 隐藏?.php<font color="#ff9900">(哈哈..baidu也是php?q以为是c)</font>QGoogle ?http 服务器是自己写的Q整合了脚本E序Q个别页面是 .py--PythonQ;q有一些网站是Ҏ自己|站名相关的扩展名,?MSN 的群l则?.msnwQ榕树下?.rs?</p> <p>  ?Flickr ?gne 是什么意思?我在l基癄?Flickr 条目上找C{案(中文 Flickr 条目上没有写? 。原?GNE ?Game NeverEnding 的羃写,Flickr 的开发?Ludicorp ?2002-2004 q一直在开发这套以 Game NerverEnding 为名U的大型多h在线角色扮演游戏--一?font color="#ff9900">Z览器的 Web 游戏pȝ</font>Q个Z为应该就是当q九城的虚拟城市。但是开发近 3 q后该计划不得不破Q最l只发布了一?Beta 版,?Ludicorp 这套系l稍加移植,有?Flickr。呵呵,原来 gne 是一个项目的名称。关?GNE 的一些连接:http://del.icio.us/schee/gne?</p> <p>  早期?Flickr 惛_成在cM聊天室的地方让网友分享、交自q照片Q注重社区Ş式和保护照片不被外部引用Q见徐子?004q的文章Q,可能是看C Hello 的模式吧。但是聪明的 Flickr 团队不久改变了{略Q?strong>淡化了传l的C֌形式--如聊天室</strong>、而加Z现在使其功成名就?Tag l织形式Q一U更自由更随兴更L好玩的大C֌形式Q或者叫它广义社区吧Q我随便叫的Q可能太学究Q看着别太在意是了。另外,原来照片只能在 Flash 内浏览的限制区除了,q大力推荐用户将照片引用到自q BlogQ这无疑对于挑战传统相册pȝ有决定性意义。减?Flash 后的|页更多地引q了新兴?Ajax 技术,使界面操作变得非?Cool?</p> <p>  q就?Flickr 的历Ԍ清晰地看C他们对于优秀产品的执著。有?strong>技术和l验U篏</strong>(q是很必要的)Q加上不断坚持,L一天时来运转,你的产品会成为新潮流的里E碑?</p> <p>  q有一句话要告?Yupoo {:?Flickr x一个有 Tag 功能的在U相册就已经错远了;复制_脓者们惛_然将 Flickr dp粕取其_֍Q结果无关紧要的拿来了,o人激动的优点都去掉了Q结果剩下什么? </p> <p>  <strong taggedby="hylanda">三?YouTube</strong>的架构扩?/p> <p>  在西雅图扩展性的技术研讨会上,YouTube ?Cuong Do 做了关于 YouTube Scalability 的报告。视频内容在 Google Video 上有(地址)Q可惜国内用L不到?</p> <p>  Kyle Cordes 对这个视频中的内容做了介l。里面有不少技术性的内容。值得分n一下?Kyle Cordes 的介l是本文的主要来? </p> <p>  单的?YouTube 的数据流? "一天的YouTube量相当于发?50亿封电子邮g.", 2006 q中有消息说每?PV 过 1 ?现在? 更夸张了,"每天?0亿次下蝲以及6,5000ơ上?, 真假姑且不论, 的确是超乎寻常的量. 国内的互联网应用,但从数据量来?怕是只有 51.com 有这个规? 但技术上?YouTube 没法子比了. </p> <p>  <strong taggedby="hylanda">1.</strong><strong taggedby="hylanda">Web</strong><strong taggedby="hylanda">服务?/strong></p> <p>  YouTube Z开发速度的考虑Q?strong>大部分代码都?Python 开发的</strong>。Web 服务器有部分?ApacheQ??strong> FastCGI</strong> 模式。对于视频内容则?<strong>Lighttpd</strong> 。据我所知,MySpace 也有部分服务器用 Lighttpd Q但量不大。YouTube ?Lighttpd 最成功的案例?国内?Lighttpd 站点不多Q豆瓣用的比较舒服。by Fenng) </p> <p>  <strong taggedby="hylanda">2.</strong><strong taggedby="hylanda">视频</strong></p> <p>  视频的羃略图(Thumbnails)l服务器带来了很大的挑战。每个视频^均有4个羃略图Q而每?Web 面上更是有多个Q每U钟因ؓq个带来的磁?IO h太大。YouTube 技术h员启用了单独的服务器组来承担这个压力,q且针对 Cache ?OS 做了部分优化。另一斚wQ羃略图h的压力导?Lighttpd 性能下降。通过 Hack Lighttpd 增加更多?worker U程很大E度解决了问题。而最新的解决Ҏ是v用了 Google ?BigTableQ?q下子从性能、容错、缓存上都有更好表现。看人家q收购的Q好钢用在了刀刃上?</p> <p>  Z冗余的考虑Q每个视频文件放在一l迷?Cluster 上,所?"q你 Cluster" 是一l具有相同内容的服务器。最火的视频攑֜ CDN 上,q样自己的服务器只需要承担一?漏网"的随卌问即可。YouTube 使用单、廉仗通用的硬Ӟq一点和 Google 风格倒是一致。至于维护手D,也都是常见的工具Q如 rsync, SSH {,只不qh家更手熟|了?</p> <p>  <strong taggedby="hylanda">3.</strong><strong taggedby="hylanda">数据?/strong></p> <p>  YouTube ?MySQL 存储元数?-用户信息、视频信息什么的。数据库服务器曾l一度遇?SWAP 颠簸的问题,解决办法是删掉了 SWAP 分区! 用?</p> <p>  最初的 DB 只有 10 块硬盘,RAID 10 Q后来追加了一l?RAID 1。够省的。这一?Web 2.0 公司很少有用 Oracle ?我知道的只有 Bebo,参见q里). 在扩展性方面,路线也是和其他站点类|复制Q分?IO。最l的解决之道?分区",q个不是数据库层面的表分区,而是业务层面的分?在用户名字或?ID 上做文章,应用E序控制查找机制) </p> <p>  YouTube 也用 Memcached. </p> <p>  很想了解一下国?Web 2.0 |站的数据信?有谁可以提供一?? </p> <p>  <strong taggedby="hylanda">四?mixi.jp</strong>Q用开源Y件搭建的可扩展SNS|站</p> <p>  Mixi目前是日本排名第三的|站Q全球排?2Q主要提供SNS服务Q日讎ͼ组Q站内消息,评论Q相册等{,是日本最大的SNS|站?Mixi?003q?2月䆾开始开发,q在它的CTO - Batara Kesuma一个h焊,焊了四个月,?004q?月䆾开始上U运行。两个月后就注册?w用户Q日讉K?0wPV。在随后的一q里Q用户增长到?21wQ第二年Q增长到?00w。到今年四月份已l增长到370w注册用户Qƈ且还在以每天1.5w人的注册量增ѝ这些用户中70%是活跃用Pz跃 用户Q三天内臛_d一ơ的用户Q,q_每个用户每周在线旉为将q?个半时?</p> <p>  下面我们来看它的技术架构。Mixi采用开源Y件作为架构的基础QLinux 2.6QApache 2.0QMySQLQPerl 5.8QmemcachedQSquid{等。到目前为止已经?00多台MySQL数据库服务器Qƈ且在以每?0多台的速度增长。Mixi的数据库q?接方式采用的是每ơ查询都q行q接Q而不是持久连接。数据库大多数是以InnoDB方式q行。Mixi解决扩展问题主要依赖于对数据库的切分?</p> <p> <strong> 首先q行垂直切分Q按照表的内容将不同的表划分C同的数据库中。然后是水^切分Q根据用LID不同用L内容再划分的不同的数据库中,q?是比较通常的做法,也很用?/strong>划分的关键还是在于应用中的实玎ͼ需要将操作装在在数据层,而尽量不影响业务层。当然完全不改变逻辑层也不可能,q时候最 能检验以前的设计是否CQ如果以前设计的不错Q那创徏q接的时候传个表名,用户IDq去差不多就解决问题了,而以前如果sql代码到处飞,或者数据层?装的不太好的话那q了?</p> <p>  q样做了以后q不能从Ҏ上解决问题,其是对于像mixiq种SNS|站Q页面上往往需要引用大量的用户信息Q好友信息,囄Q文章信息,?表,跨库操作相当多。这个时候就需要发挥memcached的作用了Q用大内存把q些不变的数据全都缓存v来,而当修改时就通知cacheq期Q这样应?层基本上可以解军_部分问题了,只会有很一部分hIK应用层Q用到数据库。Mixi的经验是q_每个面的加载时间在0.02U左叻I当然Ҏ面 大小情况不尽怼Q,可以说明q种做法是行之有效的。Mixi一共在32台机器上有缓存服务器Q每个Cache Server 2G内存Q这些Cache Server与App Server装在一赗因为Cache Server对CPU消耗不大,而有了Cache Server的支_App Server对内存要求也不是太高Q所以可以和q_处,更有效的利用资源?</p> <p>  囄的处理就昑־相对单的多了。对于mixi而言Q图像主要有两部分:一部分是经常要使用到的Q像用户头像Q群l的头像{等Q大概有100?GBQ它们被Squid和CDN所~存Q命中率相对比较高;另一部分是用户上传的大量照片Q它们的个体讉K量相对而言比较,命中率也比较低,使用 Cache不划,所以对于这些照片的{略是直接在用户上传的时候分发到到图片存储服务器上,在用戯问的时候直接进行访问,当然囄的位|需要在数据?中进行记录,不然找不到放在哪台服务器上就郁闷了?</p> <p>  <strong taggedby="hylanda">五?Technorati</strong>的后台数据库架构</p> <p>  Technorati(现在被阻g, 可能你访问不??Dorion Carroll?2006 MySQL 用户会议上介l了一些关?Technorati 后台数据库架构的情况. </p> <p>  <strong taggedby="hylanda">基本情况</strong></p> <p>  目前处理着大约 10Tb 核心数据, 分布在大U?20 台机器上.通过复制, 多增加了 100Tb 数据, 分布?200 台机器上. 每天增长的数?1TB. 通过 SOA 的运? 物理与逻辑的访问相隔离, g消除了数据库的瓶? 值得一提的? 该扩展过E始l是利用普通的g与开源Y件来完成? 毕竟 , Web 2.0 站点都不是烧q? 从数据量来看Q这l对是一个相Ҏ较大?Web 2.0 应用. </p> <p>  Tag ?Technorati 最为重要的数据元素. 爆炸性的 Tag 增长l?Technorati 带来了不的挑战. </p> <p>  2005 q?1 月的时? 只有两台数据库服务器, 一M? C 06 q一月䆾, 已经是一M? 6 ?MyISAM 从数据库用来对付查询, 3 ?MyISAM 用作异步计算. </p> <p>  一些核心的处理Ҏ: </p> <p>  1) <strong taggedby="hylanda">Ҏ实体(tags/posttags))</strong><strong taggedby="hylanda">q行分区</strong></p> <p>  衡量数据讉KҎQ读和写的^?然后通过不同的维度进行分区.( Technorati 数据更新不会很多, 否则会成为数据库N) </p> <p>  2) <strong taggedby="hylanda">合理利用 InnoDB</strong><strong taggedby="hylanda">?MyISAM</strong></p> <p>  InnoDB 用于数据完整?写性能要求比较高的应用. MyISAM 适合q行 OLAP q算. 物尽其用. </p> <p>  3) <strong taggedby="hylanda">MySQL</strong><strong taggedby="hylanda">复制</strong></p> <p>  复制数据CL据库到辅数据库上,q分布查询与异步计? 另外一个功能是提供冗余Q?如图: </p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_1" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  六?通过了解MySpace的六ơ重构经?来认识分布式pȝ到底该如何创? </p> <p>  在每个里E碑Q站点负担都会超q底层系l部分组件的最大蝲P特别是数据库和存储系l。接着Q功能出现问题,用户失声叫。最后,技术团队必Mؓ此修订系l策略?</p> <p>  虽然?005q早期,站点账户数超q?百万后,pȝ架构到目前ؓ止保持了相对E_Q但MySpace仍然在ؓSQL Server支持的同时连接数{方面l攻坚,Benedetto_"我们已经可能把事情做到最??</p> <p>  <strong taggedby="hylanda">1.</strong><strong taggedby="hylanda">里程一Q?0</strong><strong taggedby="hylanda">万̎?/strong></p> <p>  按Benedetto 的说法,MySpace最初的pȝ很小Q只有两台Web服务器和一个数据库服务器。那时用的是Dell双CPU?G内存的系l?</p> <p>  单个数据库就意味着所有数据都存储在一个地方,再由两台Web服务器分担处理用戯求的工作量。但像MySpace后来的几ơ底层系l修订时 的情况一P三服务器架构很快不堪重负。此后一个时期内QMySpace基本是通过ȝ更多Web服务器来对付用户暴增问题的?</p> <p>  但到?004q早期,MySpace用户数增长到50万后Q数据库服务器也已开始汗浃背?</p> <p>  但和Web服务器不同,增加数据库可没那么简单。如果一个站点由多个数据库支持,设计者必考虑的是Q如何在保证数据一致性的前提下,让多个数据库分担压力?</p> <p>  在第二代架构中,MySpaceq行?个SQL Server数据库服务器?-一个ؓ主,所有的新数据都向它提交Q然后由它复制到其他两个Q另两个全力向用户供l数据,用以在博客和个h资料栏显C。这 U方式在一D|间内效果很好--只要增加数据库服务器Q加大硬盘,可以应对用h和访问量的增加?</p> <p>  <strong taggedby="hylanda">2.</strong><strong taggedby="hylanda">里程二Q?-2</strong><strong taggedby="hylanda">百万账户</strong></p> <p>  MySpace注册数到?百万?百万区间后,数据库服务器开始受制于I/O定w--卛_们存取数据的速度。而当时才?004q中Q距M ơ数据库pȝ调整不过数月。用L提交h被阻塞,像千h乐迷要挤q只能容U_百h的夜MQ站点开始遭?主要矛盾"QBenedetto_q意?着MySpace永远都会d落后于用户需求?</p> <p>  "有h?分钟都无法完成留aQ因此用hL抱怨说|站已经完蛋了?他补充道?</p> <p>  q一ơ的数据库架构按照垂直分割模式设计,<strong>不同的数据库服务于站点的不同功能Q如d、用戯料和博客</strong>。于是,站点的扩展性问题看似又可以告一D落了,可以歇一阵子?</p> <p>  垂直分割{略利于多个数据库分担访问压力,当用戯求增加新功能ӞMySpace投入新的数据库予以支持它。̎户到?百万后, MySpaceq从存储讑֤与数据库服务器直接交互的方式切换到SANQStorage Area NetworkQ存储区域网l)--用高带宽、专门设计的|络大量磁盘存储设备连接在一P而数据库q接到SAN。这Ҏ施极大提升了pȝ性能、正常运 行时间和可靠性,Benedetto说?</p> <p>  <strong taggedby="hylanda">3.</strong><strong taggedby="hylanda">里程三Q?</strong><strong taggedby="hylanda">百万账户</strong></p> <p>  当用Ll增加到3百万后,垂直分割{略也开始难以ؓl。尽站点的各个应用被设计得高度独立Q但有些信息必须׃n。在q个架构里,每个数据?必须有各自的用户表副?-MySpace授权用户的电子花名册。这意味着一个用h册时Q该条̎戯录必d9个不同数据库上分别创建。但在个别情?下,如果其中某台数据库服务器临时不可到达Q对应事务就会失败,从而造成账户非完全创建,最l导致此用户的该Ҏ务无效?</p> <p>  另外一个问题是Q个别应用如博客增长太快Q那么专门ؓ它服务的数据库就有巨大压力?</p> <p>  2004q中QMySpace面Web开发者称之ؓ"向上扩展"?向外扩展"Q译者注QScale Up和Scale OutQ也U硬件扩展和软g扩展Q的抉择--要么扩展到更大更强、也更昂늚服务器上Q要么部|大量相对便宜的服务器来分担数据库压力。一般来_大型?点們֐于向外扩展,因ؓq将让它们得以保留通过增加服务器以提升pȝ能力的后路?</p> <p>  但成功地向外扩展架构必须解决复杂的分布式计算问题Q大型站点如Google、Yahoo和Amazon.comQ都必须自行研发大量相关技术?strong>以GoogleZQ它构徏了自q分布式文件系l?/strong>?</p> <p>  另外Q向外扩展策略还需要大量重写原来YӞ以保证系l能在分布式服务器上q行?搞不好,开发h员的所有工作都白?QBenedetto说?</p> <p>  因此QMySpace首先重Ҏ在了向上扩展上,p了大U?个半月时间研I升U到32CPU服务器以理更大数据库的问题。Benedetto_"那时候,q个Ҏ看似可能解决一切问题?如稳定性,更棒的是对现有Y件几乎没有改动要求?</p> <p>  p糕的是Q高端服务器极其昂贵Q是购置同样处理能力和内存速度的多台服务器d的很多倍。而且Q站Ҏ构师预测Q从长期来看Q即便是巨型数据库,最后也会不堪重负,Benedetto_"换句话讲Q只要增长趋势存在,我们最后无论如何都要走上向外扩展的道\? </p> <p>  因此QMySpace最l将目光Ud分布式计架?-它在物理上分布的众多服务器,整体必须逻辑上等同于单台机器。拿数据库来_׃能再?q去那样应用拆分,再以不同数据库分别支持,而必d整个站点看作一个应用。现在,数据库模型里只有一个用戯Q支持博客、个料和其他核心功能的数 据都存储在相同数据库?</p> <p>  既然所有的核心数据逻辑上都l织C个数据库Q那么MySpace必须扑ֈ新的办法以分担负?-昄Q运行在普通硬件上的单个数据库服务器是 无能为力的。这ơ,不再按站点功能和应用分割数据库,MySpace开始将它的用户按每百万一l分Ԍ然后各l的全部数据分别存入独立的SQL Server实例。目前,MySpace的每台数据库服务器实际运行两个SQL Server实例Q也是说每台服务器服务大约2百万用户。Benedetto指出Q以后还可以按照q种模式以更粒度划分架构,从而优化负荷分担?</p> <p>  当然Q还是有一个特D数据库保存了所有̎L名称和密码。用L录后Q保存了他们其他数据的数据库再接服务。特D数据库的用戯虽然庞大Q但它只负责用户dQ功能单一Q所以负药是比较容易控制的?</p> <p>  <strong taggedby="hylanda">4.</strong><strong taggedby="hylanda">里程四Q?</strong><strong taggedby="hylanda">百万?</strong><strong taggedby="hylanda">?</strong><strong taggedby="hylanda">百万账户</strong></p> <p>  2005q早期,账户辑ֈ9百万后,MySpace开始用Microsoft的C#~写ASP.NETE序。C#是C语言的最新派生语aQ吸?了C++和Java的优点,依托于Microsoft .NET框架QMicrosoftY件组件化和分布式计算而设计的模型架构Q。ASP.NET则由~写Web站点脚本的ASP技术演化而来Q是 Microsoft目前L的Web站点~程环境?</p> <p>  可以说是立竿见媄Q?MySpace马上发现ASP.NETE序q行更有效率Q与ColdFusion相比Q完成同样Q务需消耗的处理器能力更。据技术ȝ Whitcomb_C码需?50台服务器完成的工作,如果用ColdFusion则需?46台。Benedettoq指出,性能上升的另一个原?可能是在变换软gq_Qƈ用新语言重写代码的过E中Q程序员复审q优化了一些功能流E?</p> <p>  最l,MySpace开始大规模q移到ASP.NET。即便剩余的部分ColdFusion代码Q也从Cold-Fusion服务器搬C ASP.NETQ因Z们得CBlueDragon.NETQ乔M州阿法利塔New Atlanta Communications公司的品,它能ColdFusion代码自动重新~译到Microsoftq_Q的帮助?</p> <p>  账户辑ֈ1千万ӞMySpace再次遭遇存储瓉问题。SAN的引入解决了早期一些性能问题Q但站点目前的要求已l开始周期性超SAN的I/O定w--卛_从磁盘存储系l读写数据的极限速度?</p> <p>  原因之一是每数据?百万账户的分割策略,通常情况下的可以将压力均分到各台服务器Q但现实q一成不变。比如第七台账户数据库上U后Q仅?天就被塞满了Q主要原因是佛罗里达一个乐队的歌迷疯狂注册?</p> <p>  某个数据库可能因ZQ何原因,在Q何时候遭遇主要负Pq时QSAN中绑定到该数据库的磁盘存储设备簇可能过载?SAN让磁盘I/O能力大幅提升了,但将它们l定到特定数据库的做法是错误的?Benedetto说?</p> <p>  最初,MySpace通过定期重新分配SAN中数据,以让其更为均衡的Ҏ基本解决了这个问题,但这是一个h工过E,"大概需要两个h全职工作?Benedetto说?</p> <p>  长期解决Ҏ是迁Ud虚拟存储体系上,q样Q整个SAN被当作一个巨型存储池Q不再要求每个磁盘ؓ特定应用服务。MySpace目前采用了一U新型SAN讑֤--来自加利尼亚州弗里蒙特?PARdata?</p> <p>  ?PAR的系l里Q仍能在逻辑上按定w划分数据存储Q但它不再被l定到特定磁盘或盘,而是散布于大量磁盘。这׃均分数据讉K负荷成ؓ?能。当数据库需要写入一l数据时QQ何空闲磁盘都可以马上完成q项工作Q而不再像以前那样d在可能已l过载的盘阵列处。而且Q因为多个磁盘都有数据副 本,d数据Ӟ也不会SAN的Q何组件过载?</p> <p>  ?005q春天̎h辑ֈ1?百万ӞMySpace又启用了新的{略以减d储系l压力,?strong>增加数据~存?-位于Web服务器和数据?服务器之?/strong>Q其唯一职能是在内存中徏立被频繁h数据对象的副本,如此一来,不访问数据库也可以向Web应用供给数据。换句话_100个用戯求同一?资料Q以前需要查询数据库100ơ,而现在只需1ơ,其余都可从缓存数据中获得。当然如果页面变化,~存的数据必M内存擦除Q然后重C数据库获?- 但在此之前,数据库的压力已经大大减轻Q整个站点的性能得到提升?</p> <p>  ~存为那些不需要记入数据库的数据提供了驿站Q比如ؓ跟踪用户会话而创建的临时文g--Benedetto坦言他需要在q方面补课,"我是数据库存储狂热分子,因此我L想着万事万物都存到数据库?但将像会话跟t这cȝ数据也存到数据库Q站点将陷入泥沼?</p> <p>  增加~存服务器是"一开始就应该做的事情Q但我们成长太快Q以致于没有旉坐下来好好研I这件事情?Benedetto补充道?</p> <p>  <strong taggedby="hylanda">5.</strong><strong taggedby="hylanda">里程五Q?</strong><strong taggedby="hylanda">?</strong><strong taggedby="hylanda">百万账户</strong></p> <p>  2005q中期,服务账户数达??百万ӞMySpace切换Cq处于beta试的SQL Server 2005。{换何太急?L看法?005版支?4位处理器。但Benedetto_"q不是主要原因,管q也很重要;主要q是因ؓ我们对内存的?求?支持64位的数据库可以管理更多内存?</p> <p>  更多内存意味着更高的性能和更大的定w。原来运?2位版本的SQL Server服务器,能同时用的内存最多只?G。切换到64位,好像加_了输水的直径。升U到SQL Server 2005?4位Windows Server 2003后,MySpace每台服务器配备了32G内存Q后?006q再ơ将配置标准提升?4G?</p> <p>  意外错误 </p> <p>  如果没有对系l架构的历次修改与升U,MySpaceҎ不可能走C天。但是,Z么系l还l常吃撑着了?很多用户抱怨的"意外错误"是怎么引v的呢Q?</p> <p>  原因之一是MySpace对Microsoft的Web技术的应用已经q入qMicrosoft自己也才刚刚开始探索的领域。比?1月,出 SQL Server最大同时连接数QMySpacepȝ崩溃。Benedetto_q类可能引发pȝ崩溃的情况大概三天才会出Cơ,但仍然过于频J了Q以?惹h恼怒。一旦数据库|工Q?无论q种情况什么时候发生,未缓存的数据都不能从SQL Server获得Q那么你必然看C?意外错误'提示?他解释说?</p> <p>  d夏天QMySpace的Windows 2003多次自动停止服务。后来发现是操作pȝ一个内|功能惹的祸--预防分布式拒l服务攻击(黑客使用很多客户机向服务器发起大量连接请求,以致服务?瘫痪Q。MySpace和其他很多顶U大站点一P肯定会经帔R受攻击,但它应该从网l而不是依靠Windows本n的功能来解决问题--否则Q大?MySpace合法用户q接时也会引h务器反击?</p> <p>  "我们׃大约一个月旉LWindows 2003服务器自动停止的原因?Benedetto说。最后,通过Microsoft的帮助,他们才知道该怎么通知服务器:"别开枪,是友军? </p> <p>  紧接着是在d7月某个周日晚上,MySpace总部所在地z杉矶停电,造成整个pȝ停运12时。大型Web站点通常要在地理上分布配|多?数据中心以预防单Ҏ障。本来,MySpaceq有其他两个数据中心以应对突发事Ӟ但Web服务器都依赖于部|在z杉矶的SAN。没有洛杉矶的SANQ?Web服务器除了恳求你耐心{待Q不能提供Q何服务?</p> <p>  Benedetto_L据中心的可靠性通过下列措施保证Q可接入两张不同늽Q另有后备电源和一台储备有30天燃料的发电机。但在这ơ事故中Q不仅两张电|失效,而且在切换到备䆾甉|的过E中Q操作员烧掉了主动力U\?</p> <p>  2007q中QMySpace在另两个后备站点上也了SAN。这对分担负荷大有帮?-正常情况下,每个SAN都能负担三分之一的数据访问量。而在紧急情况下QQ何一个站炚w可以独立支撑整个服务QBenedetto说?</p> <p>  MySpace仍然在ؓ提高E_性奋斗,虽然很多用户表示了够信M能原谅偶现的错误面?</p> <p>  "作ؓ开发h员,我憎恶BugQ它太气Z?Dan Tannerq个31岁的德克萨斯软g工程师说Q他通过MySpace重新联系C高中和大学同学?不过QMySpaceҎ们的用处很大Q因此我们可 以原谅偶发的故障和错误? Tanner_如果站点某天出现故障甚至崩溃Q恢复以后他q是会l用?</p> <p>  q就是ؓ什么Drew在论坛里咆哮Ӟ大部分用户都告诉他应该保持^静,如果{几分钟Q问题就会解决的原因。Drew无法q静Q他写道Q?我已 l两ơ给MySpace发邮Ӟ而它说一时前还是正常的Q现在出了点问题……完全是一堆废话?另一个用户回复说Q?毕竟它是免费的?"Benedetto坦承100%的可靠性不是他的目标?它不是银行,而是一个免费的服务?他说?</p> <p>  换句话说QMySpace的偶发故障可能造成某h最后更新的个h资料丢失Q但q不意味着|站弄丢了用Lp?关键是要认识刎ͼ与保证站Ҏ?能相比,丢失许数据的故障是可接受的?Benedetto说。所以,MySpace甘冒丢失2分钟?时内Q意点数据的危险,在SQL Server配置里g长了"checkpoint"操作--它将待更新数据永久记录到盘--的间隔时_因ؓq样做可以加快数据库的运行?</p> <p>  Benedetto_同样Q开发h员还l常在几个小时内完成构思、编码、测试和发布全过E。这有引入Bug的风险,但这样做可以更快实现?功能。而且Q因行大规模真实试不具可行性,他们的测试通常是在仅以部分z跃用户为对象,且用户对软g新功能和改进不知里的情况下q行的。因Z?上不可能做真实的加蝲试Q他们做的测试通常都是针对站点?</p> <p>  "我们犯过大量错误Q?Benedetto_"但到头来Q我认ؓ我们做对的还是比做错的多? <br /> <strong taggedby="hylanda">七?从LiveJournal</strong>后台发展看大规模|站性能优化Ҏ </p> <p>  LiveJournal?9q始于校园中的项目,几个人出于爱好做了这样一个应用,以实C下功能: </p> <p>  博客Q论?</p> <p>  C会性网l,扑ֈ朋友 </p> <p>  聚合Q把朋友的文章聚合在一?</p> <p>  LiveJournal采用了大量的开源YӞ甚至它本w也是一个开源Y件?</p> <p>  在上U后QLiveJournal实现了非常快速的增长Q?</p> <p>  2004q?月䆾Q?80万注册用戗?</p> <p>  2005q?月䆾Q?80万注册用戗?</p> <p>  2005q?月䆾Q?90万注册用戗?</p> <p>  辑ֈ了每U钟上千ơ的面h及处理?</p> <p>  使用了大量MySQL服务器?</p> <p>  使用了大量通用lg?</p> <p>  <strong taggedby="hylanda">二、LiveJournal</strong><strong taggedby="hylanda">架构现状概况</strong></p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_2" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  <strong taggedby="hylanda">三、从LiveJournal</strong><strong taggedby="hylanda">发展中学?/strong></p> <p>  LiveJournal?台服务器发展?00台服务器Q这其中l历了无数的伤痛Q但同时也摸索出了解册些问题的ҎQ通过对LiveJournal的学习,可以让我们避免LJ曄犯过的错误,q且从一开始就对系l进行良好的设计Q以避免后期的痛苦?</p> <p>  下面我们一步一步看LJ发展的脚步?</p> <p>  <strong taggedby="hylanda">1</strong><strong taggedby="hylanda">、一台服务器</strong></p> <p>  <strong>一台别人捐助的服务?<font color="#ff9900">强烈ft</font>)</strong>QLJ最初就跑在上面Q就像Google开始时候用的破服务器一P值得我们敬。这个阶D,LJ的h以惊人的速度熟悉?Unix的操作管理,服务器性能出现q问题,不过q好Q可以通过一些小修小改应付过厅R在q个阶段里LJ把CGI升CFastCGI?</p> <p>  最l问题出CQ网站越来越慢,已经无法通过优过化来解决的地步,需要更多的服务器,q时LJ开始提供付Ҏ务,可能是想通过q些钱来购买新的服务器,以解军_时的困境?</p> <p>  毫无疑问Q当时LJ存在巨大的单炚w题,所有的东西都在那台服务器的铁皮盒子里装着?</p> <p>  </p> <p>  <strong taggedby="hylanda">2</strong><strong taggedby="hylanda">、两台服务器</strong></p> <p>  用付Ҏ务赚来的钱LJC两台服务器:一台叫做Kenny的Dell 6U机器用于提供Web服务Q一台叫做Cartman的Dell 6U服务器用于提供数据库服务?</p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_4" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  LJ有了更大的磁盘,更多的计资源。但同时|络l构q是非常单,每台机器两块|卡QCartman通过内网为Kenny提供MySQL数据库服务?</p> <p>  暂时解决了负载的问题Q新的问题又出现了: </p> <p>  原来的一个单点变成了两个单点?</p> <p>  没有冷备份或热备份?</p> <p>  |站速度慢的问题又开始出CQ没办法Q增长太快了?</p> <p>  Web服务器上CPU辑ֈ上限Q需要更多的Web服务器?</p> <p>  <strong taggedby="hylanda">3</strong><strong taggedby="hylanda">、四台服务器</strong></p> <p>  又买了两収ͼKyle和StanQ这ơ都?U的,都用于提供Web服务。目前LJ一共有3台Web服务器和一台数据库服务器。这旉要在3台Web服务器上q行负蝲均横?</p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_5" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  LJ把Kenny用于外部的网养I使用mod_backhandq行负蝲均横?</p> <p>  然后问题又出CQ?</p> <p>  单点故障。数据库和用于做|关的Web服务器都是单点,一旦Q何一台机器出现问题将D所有服务不可用。虽然用于做|关的Web服务器可以通过保持心蟩同步q速切换,但还是无法解x据库的单点,LJ当时也没做这个?</p> <p>  |站又变慢了Q这ơ是因ؓIO和数据库的问题,问题是怎么往应用里面d数据库呢Q?</p> <p>  <strong taggedby="hylanda">4</strong><strong taggedby="hylanda">、五台服务器</strong></p> <p>  又买了一台数据库服务器。在两台数据库服务器上用了数据库同?Mysql支持的Master-Slave模式)Q写操作全部针对L据库 Q通过BinlogQ主服务器上的写操作可以q速同步到从服务器上)Q读操作在两个数据库上同时进?也算是负载均横的一U吧)?</p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_6" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  实现同步时要注意几个事项Q?</p> <p>  L作数据库选择法处理Q要选一个当前负载轻一点的数据库?</p> <p>  在从数据库服务器上只能进行读操作 </p> <p>  准备好应对同步过E中的gq,处理不好可能会导致数据库同步的中断。只需要对写操作进行判断即可,L作不存在同步问题?</p> <p>  <strong taggedby="hylanda">5</strong><strong taggedby="hylanda">、更多服务器</strong></p> <p>  有钱了,当然要多C服务器。部|后快了没多久,又开始慢了。这ơ有更多的Web服务器,更多的数据库服务器,存在 IO与CPU争用。于是采用了BIG-IP作ؓ负蝲均衡解决Ҏ?</p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_7" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  <strong taggedby="hylanda">6</strong><strong taggedby="hylanda">、现在我们在哪里Q?/strong></p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_8" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  现在服务器基本上够了Q但性能q是有问题,原因出在架构上?</p> <p>  数据库的架构是最大的问题。由于增加的数据库都是以Slave模式d到应用内Q这样唯一的好处就是将L作分布到了多台机器,但这样带来的后果是写操作被大量分发Q每台机器都要执行,服务器越多,费p大,随着写操作的增加Q用于服务读操作的资源越来越?</p> <p>  </p> <p>  ׃台分布到两台 </p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_10" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  最l效?</p> <p>  现在我们发现Q我们ƈ不需要把q些数据在如此多的服务器上都保留一份。服务器上已l做了RAIDQ数据库也进行了备䆾Q这么多的备份完全是对资源的费Q属于冗余极端过度。那Z么不把数据分布存储呢Q?</p> <p>  问题发现了,开始考虑如何解决。现在要做的是把不同用L数据分布C同的服务器上q行存储Q以实现数据的分布式存储Q?strong>让每台机器只为相对固定的用户服务</strong>Q以实现q的架构和良好的可扩展性?</p> <p>  Z实现用户分组Q我们需要ؓ每一个用户分配一个组标记Q用于标记此用户的数据存攑֜哪一l数据库服务器中。每l数据库׃个master及几 个slavel成Qƈ且slave的数量在2-3収ͼ以实现系l资源的最合理分配Q既保证数据L作分布,又避免数据过度冗余以及同步操作对pȝ资源的过 度消耗?</p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_11" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  ׃収ͼ一l)中心服务器提供用户分l控制。所有用L分组信息都存储在q台机器上,所有针对用L操作需要先查询q台机器得到用户的组P然后再到相应的数据库l中获取数据?</p> <p>  q样的用h构与目前LJ的架构已l很相像了?</p> <p>  在具体的实现旉要注意几个问题: </p> <p>  在数据库l内不要使用自增IDQ以便于以后在数据库l之间迁UȝP以实现更合理的I/OQ磁盘空间及负蝲分布?</p> <p>  useridQpostid存储在全局服务器上Q可以用自增,数据库组中的相应值必M全局服务器上的gؓ准。全局服务器上使用事务型数据库InnoDB?</p> <p>  在数据库l之间迁Uȝh要万分小心,当迁UL用户不能有写操作?</p> <p>  <strong taggedby="hylanda">7</strong><strong taggedby="hylanda">、现在我们在哪里</strong></p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_12" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  问题Q?</p> <p>  一个全局L务器Q挂掉的话所有用h册及写操作就挂掉?</p> <p>  每个数据库组一个主服务器,挂掉的话q组用户的写操作挂掉?</p> <p>  数据库组从服务器挂掉的话会导致其它服务器负蝲q大?</p> <p>  对于Master-Slave模式的单炚w题,LJ采取了Master-Master模式来解冟뀂所谓Master-Master实际上是人工实现的,q不是由MySQL直接提供的,实际上也是两台机器同时是MasterQ也同时是SlaveQ互相同步?</p> <p>  Master-Master实现旉要注意: </p> <p>  一个Master出错后恢复同步,最好由服务器自动完成?</p> <p>  数字分配Q由于同时在两台机器上写Q有些ID可能会冲H?</p> <p>  解决ҎQ?</p> <p>  奇偶数分配IDQ一台机器上写奇敎ͼ一台机器上写偶?</p> <p>  通过全局服务器进行分?LJ采用的做??</p> <p>  Master-Master模式q有一U用法,q种Ҏ与前一U相比,仍然保持两台机器的同步,但只有一台机器提供服务(d写)Q在每天晚上的时候进行轮换,或者出现问题的时候进行切换?</p> <p>  <strong taggedby="hylanda">8</strong><strong taggedby="hylanda">、现在我们在哪里</strong></p> <p>  </p> <p align="center">  <img src="http://www.360doc.com/DownloadImg/3500/754206_13" taggedby="hylanda" alt="" /></p> <p>  </p> <p>  现在插播一条广告,MyISAM VS InnoDB?</p> <p>  使用InnoDBQ?</p> <p>  支持事务 </p> <p>  需要做更多的配|,不过值得Q可以更安全的存储数据,以及得到更快的速度?</p> <p>  使用MyISAMQ?</p> <p>  记录日志QLJ用它来记|络讉K日志Q?</p> <p>  存储只读静态数据,_快?</p> <p>  q发性很差,无法同时d数据Q添加数据可以) </p> <p>  MySQL非正常关闭或L时会D索引错误Q需要用myisamchk修复Q而且当访问量大时出现非常频繁?</p> <p>  <strong taggedby="hylanda">9</strong><strong taggedby="hylanda">、缓?/strong></p> <p>  d我写q一文章介lmemcachedQ它是由LJ的团队开发的一Ƅ存工P以key-value的方式将数据存储到分布的内存中。LJ~存的数据: </p> <p>  12台独立服务器Q不是捐赠的Q?</p> <p>  28个实?</p> <p>  30GBd?</p> <p>  90-93%的命中率Q用qsquid的h可能知道Qsquid内存加磁盘的命中率大概在70-80%Q?</p> <p>  如何建立~存{略Q?</p> <p>  想缓存所有的东西Q那是不可能的,我们只需要缓存已l或者可能导致系l瓶颈的地方Q最大程度的提交pȝq行效率。通过对MySQL的日志的分析我们可以扑ֈ~存的对象?</p> <p>  ~存的缺点? </p> <p>  没有完美的事物,~存也有~点Q?</p> <p>  增大开发量Q需要针对缓存处理编写特D的代码?</p> <p>  理隑ֺ增加Q需要更多h参与pȝl护?</p> <p>  当然大内存也需要钱?</p> <p>  <strong taggedby="hylanda">10</strong><strong taggedby="hylanda">、Web</strong><strong taggedby="hylanda">讉K负蝲均衡</strong></p> <p>  在数据包U别使用BIG-IPQ但BIG-IPq不知道我们内部的处理机Ӟ无法判断由哪台服务器对这些请求进行处理。反向代理ƈ不能很好的vC用,不是已经够快了,是达不到我们想要的效果?</p> <p>  所以,LJ又开发了Perlbal。特点: </p> <p>  快,,可管理的http web 服务?代理 </p> <p>  可以在内部进行{?</p> <p>  使用Perl开?</p> <p>  单线E,异步Q基于事Ӟ使用epoll , kqueue </p> <p>  支持Console理与httpq程理Q支持动态配|加?</p> <p>  多种模式Qweb服务器,反向代理Q插?</p> <p>  支持插gQGIF/PNG互换Q?</p> <p>  <strong taggedby="hylanda">11</strong><strong taggedby="hylanda">、MogileFS</strong></p> <p>  LJ使用开源的MogileFS作ؓ分布式文件存储系l。MogileFS使用非常单,它的主要设计思想是: </p> <p>  文g属于c(cL最的复制单位Q?</p> <p>  跟踪文g存储位置 </p> <p>  在不同主Z存储 </p> <p>  使用MySQL集群l一存储分布信息 </p> <p>  大容易廉L?</p> <p>  到目前ؓ止就q么多了Q更多文档可以在http://www.danga.com/words/扑ֈ。Danga.com?LiveJournal.com的同学们拿这个文档参加了两次MySQL ConQ两ơOS ConQ以及众多的其它会议Q无U的把他们的l验分n出来Q值得我们学习。在web2.0时代快速开发得到大家越来越多的重视Q但良好的设计仍是每一个应 用的基础Q希望web2.0们在成长为Top500|站的\上,不要因ؓ架构ȝ了网站的发展?</p> <p>  <strong taggedby="hylanda">八?/strong><strong taggedby="hylanda">说说大型高ƈ发高负蝲|站的系l架?/strong></p> <p>  <strong>我在Cernet做过拨号接入q_的搭建,而后在Yahoo3721负蝲搜烦引擎前端q_开发,又在猫扑处理q大型社区猫扑大杂烩的架构升U等 工作Q同时自己接触和开发过不少大中型网站的模块Q因此在大型|站应对高负载和q发的解x案上有一些积累和l验(<font color="#ff6600">HOHO..nb man</font> )</strong>Q可以和大家一h讨一下?</p> <p>  一个小型的|站Q比如个人网站,可以使用最单的html静态页面就实现了,配合一些图片达到美化效果,所有的面均存攑֜一个目录下Q这L |站对系l架构、性能的要求都很简单,随着互联|业务的不断丰富Q网站相关的技术经q这些年的发展,已经l分到很l的Ҏ面面Q尤其对于大型网站来_所 采用的技术更是涉及面非常q,从硬件到软g、编E语a、数据库、WebServer、防火墙{各个领域都有了很高的要求,已经不是原来单的html静?|站所能比拟的?</p> <p>  大型|站Q比如门L站。在面对大量用户讉K、高q发h斚wQ基本的解决Ҏ集中在这样几个环节:<strong>使用高性能的服务器、高性能的数据库、高效率的编E语a、还有高性能的Web容器?/strong>但是除了q几个方面,q没法根本解军_型网站面临的高负载和高ƈ发问题?</p> <p>  上面提供的几个解x\在一定程度上也意味着更大的投入,q且q样的解x\具备瓉Q没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验?</p> <p>  1、HTML静态化 </p> <p>  其实大家都知道,<strong>效率最高、消耗最的是U静态化的html面</strong>Q所以我们尽可能使我们的|站上的面采用静态页面来实现Q这个最单的Ҏ 其实也是最有效的方法。但是对于大量内容ƈ且频J更新的|站Q我们无法全部手动去挨个实现Q?strong>于是出现了我们常见的信息发布pȝCMS</strong>Q像我们常访问的各个 门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布pȝ来管理和实现的,信息发布pȝ可以实现最单的信息录入自动生成静态页面,q能具备频道?理、权限管理、自动抓取等功能Q对于一个大型网站来_拥有一套高效、可理的CMS是必不可的?</p> <p>  除了门户和信息发布类型的|站Q对于交互性要求很高的C֌cd|站来说Q尽可能的静态化也是提高性能的必要手D,社区内的帖子、文章进行实时的静态化Q有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩是使用了这L{略Q网易社区等也是如此?</p> <p>  同时Qhtml静态化也是某些~存{略使用的手D,对于pȝ中频J用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实玎ͼ 比如论坛中论坛的公用讄信息Q这些信息目前的L论坛都可以进行后台管理ƈ且存储再数据库中Q这些信息其实大量被前台E序调用Q但是更新频率很,可以 考虑这部分内容q行后台更新的时候进行静态化Q这样避免了大量的数据库讉Kh?</p> <p>  2、图片服务器分离 </p> <p>  大家知道Q?strong>对于Web服务器来_不管是Apache、IISq是其他容器Q图片是最消耗资源的</strong>Q于是我们有必要图片与面q行分离Q这是基 本上大型|站都会采用的策略,他们都有独立的图片服务器Q甚臛_多台囄服务器。这L架构可以降低提供面讉Kh的服务器pȝ压力Qƈ且可以保证系l?不会因ؓ囄问题而崩溃,在应用服务器和图片服务器上,可以q行不同的配|优化,比如<strong>apache在配|ContentType的时候可以尽量少支持Q尽 可能的LoadModule</strong>Q保证更高的pȝ消耗和执行效率?</p> <p>  3、数据库集群和库表散?</p> <p>  大型|站都有复杂的应用,q些应用必须使用数据库,那么在面对大量访问的时候,数据库的瓉很快p昄出来Q这时一台数据库很快无法满_用,于是我们需要用数据库集群或者库表散列?</p> <p>  在数据库集群斚wQ很多数据库都有自己的解x案,Oracle、Sybase{都有很好的ҎQ常用的MySQL提供的Master/Slave也是cM的方案,您用了什么样的DBQ就参考相应的解决Ҏ来实施即可?</p> <p>  上面提到的数据库集群׃在架构、成本、扩张性方面都会受到所采用DBcd的限Ӟ于是我们需要从应用E序的角度来考虑改善pȝ架构Q?strong>库表散列 是常用ƈ且最有效的解x?/strong>。我们在应用E序中安装业务和应用或者功能模块将数据库进行分,<strong>不同的模块对应不同的数据库或者表</strong>Q再按照一定的{略Ҏ?面或者功能进行更的数据库散列,比如用户表,按照用户IDq行表散列,q样p够低成本的提升系l的性能q且有很好的扩展性。sohu的论坛就是采?了这L架构Q?strong>论坛的用户、设|、帖子等信息q行数据库分?/strong>Q然后对帖子、用h照板块和IDq行散列数据库和表,最l可以在配置文g中进行简单的配置 便能让系l随时增加一C成本的数据库q来补充pȝ性能?</p> <p>  4、缓?</p> <p>  ~存一词搞技术的都接触过Q很多地方用到缓存。网站架构和|站开发中的缓存也是非帔R要。这里先讲述最基本的两U缓存。高U和分布式的~存在后面讲q?</p> <p>  架构斚w的缓存,对Apache比较熟悉的h都能知道Apache提供了自q~存模块Q也可以使用外加的Squid模块q行~存Q这两种方式均可以有效的提高Apache的访问响应能力?</p> <p>  |站E序开发方面的~存QLinux上提供的Memory Cache是常用的~存接口Q可以在web开发中使用Q比如用Java开发的时候就可以调用MemoryCache对一些数据进行缓存和通讯׃nQ一些大 型社Z用了q样的架构。另外,在用web语言开发的时候,各种语言基本都有自己的缓存模块和ҎQPHP有Pear的Cache模块QJava更?了,.net不是很熟悉,怿也肯定有?</p> <p>  5、镜?</p> <p>  镜像是大型网站常采用的提高性能和数据安全性的方式Q镜像的技术可以解决不同网l接入商和地域带来的用户讉K速度差异Q比如ChinaNet?EduNet之间的差异就促了很多网站在教育|内搭徏镜像站点Q数据进行定时更新或者实时更新。在镜像的细节技术方面,q里不阐q太深,有很多专业的?成的解决架构和品可选。也有廉L通过软g实现的思\Q比如Linux上的rsync{工兗?</p> <p>  6、负载均?</p> <p>  负蝲均衡是大型|站解决高负药问和大量q发h采用的终极解军_法?</p> <p>  负蝲均衡技术发展了多年Q有很多专业的服务提供商和品可以选择Q我个h接触q一些解x法,其中有两个架构可以给大家做参考?</p> <p>  g四层交换 </p> <p>  W四层交换用第三层和第四层信息包的报头信息Q根据应用区间识别业务流Q将整个区间D늚业务分配到合适的应用服务器进行处理。 W四层交?功能p是虚IPQ指向物理服务器。它传输的业务服从的协议多种多样Q有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基 上,需要复杂的载量q法。在IP世界Q业务类型由l端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP?UDP端口共同军_?</p> <p>  在硬件四层交换品领域,有一些知名的产品可以选择Q比如Alteon、F5{,q些产品很昂贵,但是物有所|能够提供非常优秀的性能和很灉|的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon搞定了?</p> <p>  软g四层交换 </p> <p>  大家知道了硬件四层交换机的原理后Q基于OSI模型来实现的软g四层交换也就应运而生Q这L解决Ҏ实现的原理一_不过性能E差。但是满一定量的压力还是游刃有余的Q有软g实现方式其实更灵z,处理能力完全看你配置的熟悉能力?</p> <p>  软g四层交换我们可以使用Linux上常用的LVS来解冻ILVS是Linux Virtual ServerQ他提供了基于心跳线heartbeat的实时灾隑ֺ对解x案,提高pȝ的鲁性,同时可供了灵zȝ虚拟VIP配置和管理功能,可以同时?_U应用需求,q对于分布式的系l来说必不可?</p> <p>  一个典型的使用负蝲均衡的策略就是,在Y件或者硬件四层交换的基础上搭建squid集群Q这U思\在很多大型网站包括搜索引擎上被采用,q样?架构低成本、高性能q有很强的扩张性,随时往架构里面增减节点都非常容易。这L架构我准备空了专门详l整理一下和大家探讨?</p> <p>对于大型|站来说Q前面提到的每个Ҏ可能都会被同时用到Q我q里介绍得比较浅显,具体实现q程中很多细节还需要大家慢慢熟悉和体会Q有时一个很的squid参数或者apache参数讄Q对于系l性能的媄响就会很大,希望大家一赯论,辑ֈ抛砖引玉之效?/p> <img src ="http://www.tkk7.com/rocky/aggbug/157695.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2007-11-02 11:02 <a href="http://www.tkk7.com/rocky/archive/2007/11/02/157695.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最x延时间借口Q更完美http://www.tkk7.com/rocky/archive/2007/10/19/154184.html老妖老妖Fri, 19 Oct 2007 05:31:00 GMThttp://www.tkk7.com/rocky/archive/2007/10/19/154184.htmlhttp://www.tkk7.com/rocky/comments/154184.htmlhttp://www.tkk7.com/rocky/archive/2007/10/19/154184.html#Feedback3http://www.tkk7.com/rocky/comments/commentRss/154184.htmlhttp://www.tkk7.com/rocky/services/trackbacks/154184.htmlhttp://www.chedong.com/blog/archives/001282.html

最q连l看?关于做事拖延的原因分析Q?Solidot的科技文章Q?桑林的|志Q,l于明白了原来最Ҏ被蒙蔽的一个理由就是听h要做一个更完美的解x案?/p>

假如听到cM的拖延理p又没有分L和控制能力的话:往往q就是失败的开?br /> 1 针对q个问题有一个更加完的解决ҎQ需?个月完成Q?br /> 2 需要从头开发一个专用的pȝQ这个系l会比以前的更加灉|Q?br /> 3 需要对所有的数据q行一ơ地毯式的统计,_ֺ高达4?Q需?个月旉Q?br /> 4 今天的时间不多了Q留到有I闲旉的时候再整本书看完;

q些承诺的成功率和赌?#8220;下一把把输掉的全部赢回来”几乎是一L?/p>

解决的方?{略Q?br /> 1 事情没有Ҏ和难之分Q只有重要与不重要(重要性来自于数据分析Q;
2 让拖延者自p下完成时_不要允许旉拖gQ否则拖延本w就是给懒惰的奖励;
3 没有数字依据的问题:先定性,再定量;
4 寚w以评估的陷阱有识别能力和免疫力;

U学家发C拖g法则 matrix 写道 "Science Daily报道Calgary大学教授Piers SteelQ这位博士可能也许大概是拖g研究领域的权威)在《心理学报告》(Psychological BulletinQ上发表了一论文,标题为The Nature of Procrastination: A Meta-Analytic and Theoretical Review of Quintessential Self-Regulatory Failure。这研Iȝ出几条让人吃惊的l论Q大多数人的新年许愿注定是失败的Q大多数自助指南是完全错误的Q它们认为完主义是做事拖g的根源(Z把事情做的更完美Q在旉上就...Q拖ӞProcrastinationQ可以用一个简单的数学方程式来解释? q项研究整整׃十年旉Q但是没有迹象显C在研究开始之前它l过了多数次拖g。文章指出:" 从本质上而言Q拖延者对自己~Z信心Q对自己事实上能完成的Q务的期待q不高。完主义者ƈ不是不会犯错Q完主义者也会拖Ӟ但是他们Ҏ延的q程表现的十分焦虑?
勿以事易而ؓ?br /> 一D|间来体味着?#8220;人生l验”是:勿以事易而ؓ之。:Q?/p>

也许有很多h和我一P在处理工作和其它事务Ӟ常常会列一下需要做的事情,然后选择Ҏ的先做。这g是顺理成章的Q因栯比较快地看到l果Q而且昑־比较有效率?/p>

但是Q我发现q些“Ҏ”的事情ƈ不见得容易结束,它们会源源不断引出其它事情。而列表里那些比较困难的,往往也是更重要的事情Q因此被一再推后,L遗憾?#8220;没时?#8221;做?/p>

用自我约束的最后期限战胜拖延的陋习
"很多人常帔R临这L情况Q本来手头有一大堆工作要做却故意拖Ӟ上网ȝ看新的׃或者浏览热门脓的评论,要么q脆写日志。我们拖廉要的事情Q像吸毒那样同时带有的负|感和快感。这U拖延的吸引力在心理学上UC为hyperbolic time discountingQ连l时间折扣)Q拖延的奖励相比费的是不对U的。换句话说拖延本w就是一U奖励。一位MIT的教授发C如果让学生自己制定作业的最l期?deadlines)Q学生自׃抵制拖g。当然一个问题是学生讄的最l期限是宽裕的,有弹性而非最佟뀂多数有拖拉习惯的h的经验是提早开始工作?


 



老妖 2007-10-19 13:31 发表评论
]]>
最M的客Loracle instant client安装备忘.http://www.tkk7.com/rocky/archive/2007/09/13/oracle_instant_client.html老妖老妖Thu, 13 Sep 2007 09:12:00 GMThttp://www.tkk7.com/rocky/archive/2007/09/13/oracle_instant_client.htmlhttp://www.tkk7.com/rocky/comments/144917.htmlhttp://www.tkk7.com/rocky/archive/2007/09/13/oracle_instant_client.html#Feedback1http://www.tkk7.com/rocky/comments/commentRss/144917.htmlhttp://www.tkk7.com/rocky/services/trackbacks/144917.htmlM的客Loracle instant client安装备忘Q?br /> 假定instant client 解压到E:\OracleInstantClient
1.SET PATH=E:\OracleInstantClient;
2.SET TNS_ADMIN=E:\OracleInstantClient
3.新徏一个tnsnames.oraQ然后填?br /> for example:
192.168.0.20 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.20)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
)
4.SET LD_LIBRARY_PATH=E:\OracleInstantClient

5.如果要安装SQL plus那么需要设|SET SQLPATH=E:\OracleInstantClient
6.如果查询l果Zؕ码,讄set NLS_LANG=XXXXQ我自己是SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280Q?/p>

 



老妖 2007-09-13 17:12 发表评论
]]>
l于抛弃了itunesQ?/title><link>http://www.tkk7.com/rocky/archive/2007/09/13/144913.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Thu, 13 Sep 2007 09:04:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2007/09/13/144913.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/144913.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2007/09/13/144913.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/144913.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/144913.html</trackback:ping><description><![CDATA[     摘要: ipod,foobar2000  <a href='http://www.tkk7.com/rocky/archive/2007/09/13/144913.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/144913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2007-09-13 17:04 <a href="http://www.tkk7.com/rocky/archive/2007/09/13/144913.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最q一直很qhttp://www.tkk7.com/rocky/archive/2007/06/04/121708.html老妖老妖Sun, 03 Jun 2007 16:11:00 GMThttp://www.tkk7.com/rocky/archive/2007/06/04/121708.htmlhttp://www.tkk7.com/rocky/comments/121708.htmlhttp://www.tkk7.com/rocky/archive/2007/06/04/121708.html#Feedback4http://www.tkk7.com/rocky/comments/commentRss/121708.htmlhttp://www.tkk7.com/rocky/services/trackbacks/121708.html前日H外下着雨时怎么也无法入睡,我已l开始有点厌倦这个城市了Q有点世俗又有点资Q但是又没有曄梦中江南水乡的那U怡然的微微带着湿润的味道。小时候特别迷恋一cȝ记簿上面的一些插画,貌似两个老翁在一个茅屋中酌Q旁边荒山野岭hq罕臟뀂长大后才知道那U山中一日世上百q的心情会被为是前朝遗老的?br>有时候真的想扄信Ԓ去,我们q一代h最~少的就是这一点,只相信自己。自己又不是反穿内裤的超人,有时候遇C可阻挡之事时真的会很q。想想h家穆斯林天主教,在闲下来的时候就ȝ拜朝圣之cȝ?br>

老妖 2007-06-04 00:11 发表评论
]]>
l于购置了agile web developments with rails 2nd ed U版http://www.tkk7.com/rocky/archive/2007/01/31/97088.html老妖老妖Wed, 31 Jan 2007 13:36:00 GMThttp://www.tkk7.com/rocky/archive/2007/01/31/97088.htmlhttp://www.tkk7.com/rocky/comments/97088.htmlhttp://www.tkk7.com/rocky/archive/2007/01/31/97088.html#Feedback0http://www.tkk7.com/rocky/comments/commentRss/97088.htmlhttp://www.tkk7.com/rocky/services/trackbacks/97088.html DSC01746.JPG



老妖 2007-01-31 21:36 发表评论
]]>
rails1.2.1发布?/title><link>http://www.tkk7.com/rocky/archive/2007/01/19/rails-local-install.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Fri, 19 Jan 2007 05:16:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2007/01/19/rails-local-install.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/94913.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2007/01/19/rails-local-install.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/94913.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/94913.html</trackback:ping><description><![CDATA[     摘要: rails1.2.1 released.  <a href='http://www.tkk7.com/rocky/archive/2007/01/19/rails-local-install.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/94913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2007-01-19 13:16 <a href="http://www.tkk7.com/rocky/archive/2007/01/19/rails-local-install.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>my ror collection(2006-11-20)http://www.tkk7.com/rocky/archive/2006/11/20/ror-collection.html老妖老妖Mon, 20 Nov 2006 12:04:00 GMThttp://www.tkk7.com/rocky/archive/2006/11/20/ror-collection.htmlhttp://www.tkk7.com/rocky/comments/82362.htmlhttp://www.tkk7.com/rocky/archive/2006/11/20/ror-collection.html#Feedback0http://www.tkk7.com/rocky/comments/commentRss/82362.htmlhttp://www.tkk7.com/rocky/services/trackbacks/82362.html阅读全文

老妖 2006-11-20 20:04 发表评论
]]>
Ruby on Rails有用的插??http://www.tkk7.com/rocky/archive/2006/11/16/ruby-on-rails-plugin-collection.html老妖老妖Thu, 16 Nov 2006 15:21:00 GMThttp://www.tkk7.com/rocky/archive/2006/11/16/ruby-on-rails-plugin-collection.htmlhttp://www.tkk7.com/rocky/comments/81640.htmlhttp://www.tkk7.com/rocky/archive/2006/11/16/ruby-on-rails-plugin-collection.html#Feedback0http://www.tkk7.com/rocky/comments/commentRss/81640.htmlhttp://www.tkk7.com/rocky/services/trackbacks/81640.html阅读全文

老妖 2006-11-16 23:21 发表评论
]]>
Pagination 的問?-转蝲http://www.tkk7.com/rocky/archive/2006/11/10/80485.html老妖老妖Fri, 10 Nov 2006 13:19:00 GMThttp://www.tkk7.com/rocky/archive/2006/11/10/80485.htmlhttp://www.tkk7.com/rocky/comments/80485.htmlhttp://www.tkk7.com/rocky/archive/2006/11/10/80485.html#Feedback1http://www.tkk7.com/rocky/comments/commentRss/80485.htmlhttp://www.tkk7.com/rocky/services/trackbacks/80485.html阅读全文

老妖 2006-11-10 21:19 发表评论
]]>
整合File-Column和Rmagick功能实现囄上传Q{自javaeyeQ?/title><link>http://www.tkk7.com/rocky/archive/2006/11/08/79949.html</link><dc:creator>老妖</dc:creator><author>老妖</author><pubDate>Wed, 08 Nov 2006 12:57:00 GMT</pubDate><guid>http://www.tkk7.com/rocky/archive/2006/11/08/79949.html</guid><wfw:comment>http://www.tkk7.com/rocky/comments/79949.html</wfw:comment><comments>http://www.tkk7.com/rocky/archive/2006/11/08/79949.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/rocky/comments/commentRss/79949.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/rocky/services/trackbacks/79949.html</trackback:ping><description><![CDATA[     摘要: 整合File-Column和Rmagick功能实现囄上传  <a href='http://www.tkk7.com/rocky/archive/2006/11/08/79949.html'>阅读全文</a><img src ="http://www.tkk7.com/rocky/aggbug/79949.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/rocky/" target="_blank">老妖</a> 2006-11-08 20:57 <a href="http://www.tkk7.com/rocky/archive/2006/11/08/79949.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://777cc55.com" target="_blank">ޱרwww</a>| <a href="http://jte-sh.com" target="_blank">žѾþоƷ23</a>| <a href="http://9981tv.com" target="_blank">ˬָ߳Ƶ</a>| <a href="http://4p5e.com" target="_blank">޸Ʒһ</a>| <a href="http://sczssc.com" target="_blank">츾AVӰ</a>| <a href="http://tpwelert.com" target="_blank">ӾƷ</a>| <a href="http://shaiyahx.com" target="_blank">޸һѿ</a>| <a href="http://79909d.com" target="_blank">һ㽶</a>| <a href="http://znboxcdn107.com" target="_blank">91ƷѹƬ</a>| <a href="http://zmtme.com" target="_blank">ѹۿĻƷ</a>| <a href="http://chaikexin.com" target="_blank">޵һվƵ</a>| <a href="http://55xxb.com" target="_blank">ٸѾƷ</a>| <a href="http://zhaosaohuo.com" target="_blank">2019ĻѵӰ߲</a>| <a href="http://hetaoqpj.com" target="_blank">ŷ޹Һ</a>| <a href="http://www-6209.com" target="_blank">þþþAVר</a>| <a href="http://8k91.com" target="_blank">ĻƵվ</a>| <a href="http://u6u6u6.com" target="_blank">Ƶһ</a>| <a href="http://www91v.com" target="_blank">˸һ91</a>| <a href="http://chiguigu.com" target="_blank">þѾƷav</a>| <a href="http://hwafarda.com" target="_blank">Ʒһ</a>| <a href="http://www621f.com" target="_blank">һѹۿ</a>| <a href="http://ywjh666.com" target="_blank">һɫƬѹۿ</a>| <a href="http://www-15706.com" target="_blank">2020Ʒۺ </a>| <a href="http://cfxzp.com" target="_blank">ѹСƵ߹ۿ</a>| <a href="http://sshc5.com" target="_blank">߹ۿƵ</a>| <a href="http://yctbhb.com" target="_blank">һëƬ߲Ƶѹۿ </a>| <a href="http://yeyaweiban.com" target="_blank">̼aƬվ</a>| <a href="http://abc17171.com" target="_blank">2018Ƶ</a>| <a href="http://av56cc.com" target="_blank">Ļ</a>| <a href="http://yongyihongze.com" target="_blank">AVרӰ</a>| <a href="http://701807.com" target="_blank">һaƵ</a>| <a href="http://minliusoft.com" target="_blank">aƵƷѹۿ</a>| <a href="http://86trader.com" target="_blank">AƬ߹ۿ</a>| <a href="http://57gt.com" target="_blank">HƬaaaֱ</a>| <a href="http://fenxiangceo.com" target="_blank">ƷƬva</a>| <a href="http://33303339.com" target="_blank">޹Ʒþþþվ</a>| <a href="http://www003924.com" target="_blank">þĻƷһ</a>| <a href="http://youyou8tv.com" target="_blank">ƷѵĻվ</a>| <a href="http://bixnu.com" target="_blank">Ƭѿڵ</a>| <a href="http://7778tv.com" target="_blank">޹Ʒ߹ۿ</a>| <a href="http://556228.com" target="_blank">aëƬѹۿ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>