ÌÔ±¦ÓõÄÊÇJBoss£¬¿ò¼ÜÊÇiBATIS£¬»º´æ·þÎñÆ÷ÊÇ×Ô¼º¿ª·¢µÄ£¬»ù±¾×ñÑSNA¼Ü¹¹£¬Ë®Æ½À©Õ¹£¬Êý¾Ý¿âÊÇOracle£¬°¢ÀOÍŵÄDBA¼¸ºõÊǹúÄÚ×îÇ¿º·µÄ¡£Ä¿Ç°ÌÔ±¦µÄϵͳ¼Ü¹¹ÕýÔÚÖØ¹¹£¬¼Æ»®ÓÃÁ½µ½ÈýÄêʱ¼äÖØÐ´£¬Ä¿±êÓÐÁ½¸ö£º
Ò²ÐíºÜ¶àÈË»¹²»ÖªµÀ£¬ÖªºõÔÚ¹æÄ£ÉÏÊǽö´ÎÓÚ°Ù¶ÈÌù°ÉºÍ¶¹°êµÄÖÐÎÄ»¥ÁªÍø×î´óµÄUGC(Óû§Éú³ÉÄÚÈÝ)ÉçÇø¡£Öªºõ´´ÒµÈýÄêÀ´£¬´Ó0¿ªÊ¼£¬µ½ÏÖÔÚÒѾÓÐÁË100¶ą̀·þÎñÆ÷¡£Ä¿Ç°ÖªºõµÄ×¢²áÓû§³¬¹ýÁË1100Íò£¬Ã¿¸öÔÂÓг¬¹ý8000ÍòÈËʹÓã»ÍøÕ¾Ã¿¸öÔµÄPV³¬¹ý2.2ÒÚ£¬²î²»¶àÿÃëÖӵĶ¯Ì¬ÇëÇ󳬹ý2500¡£
ÔÚArchSummit±±¾©2014´ó»áÉÏ£¬ÖªºõÁªºÏ´´Ê¼È˼æ CTO ÀîÉêÉê´øÀ´ÁËÖªºõ´´ÒµÈýÄê¶àÀ´µÄÊ×´ÎÈ«Ãæ¼¼Êõ·ÖÏí¡£±¾ÎÄϵ¸ù¾ÝÑݽ²ÄÚÈÝÕûÀí¶ø³É¡£
³õÆÚ¼Ü¹¹Ñ¡ÐÍ
ÔÚ2010Äê10ÔÂÕæÕý¿ªÊ¼¶¯ÊÖ×öÖªºõÕâ¸ö²úƷʱ£¬°üº¬ÀîÉêÉêÔÚÄÚ£¬×î³õÖ»ÓÐÁ½Î»¹¤³Ìʦ£»µ½2010Äê12Ô·ÝÉÏÏßʱ£¬¹¤³ÌʦÊÇËĸö¡£
ÖªºõµÄÖ÷Á¦¿ª·¢ÓïÑÔÊÇPython¡£ÒòΪPython¼òµ¥ÇÒÇ¿´ó£¬Äܹ»¿ìËÙÉÏÊÖ£¬¿ª·¢Ð§Âʸߣ¬¶øÇÒÉçÇø»îÔ¾£¬ÍŶӳÉÔ±Ò²±È½Ïϲ»¶¡£
ÖªºõʹÓõÄÊÇTornado¿ò¼Ü¡£ÒòΪËüÖ§³ÖÒì²½£¬ºÜÊʺÏ×öʵʱCometÓ¦Ó㬶øÇÒ¼òµ¥ÇáÁ¿£¬Ñ§Ï°³É±¾µÍ£¬ÔÙ¾ÍÊÇÓÐFriendFeed µÄ³ÉÊì°¸Àý£¬Facebook µÄÉçÇøÖ§³Ö¡£ÖªºõµÄ²úÆ·ÓиöÌØÐÔ£¬¾ÍÊÇÏ£Íû¸úä¯ÀÀÆ÷¶Ë½¨Á¢Ò»¸ö³¤Á¬½Ó£¬±ãÓÚÊµÊ±ÍÆËÍFeedºÍ֪ͨ£¬ËùÒÔTornado±È½ÏºÏÊÊ¡£
×î³õÕû¸öÍŶӵľ«Á¦È«²¿·ÅÔÚ²úÆ·¹¦ÄܵĿª·¢ÉÏ£¬¶øÆäËû·½Ã棬»ù±¾ÉÏÄܽÚԼʱ¼ä¡¢ÄÜÊ¡µÄ¶¼ÓÃ×î¼òµ¥µÄ·½·¨À´½â¾ö£¬µ±È»ÕâÔÚºóÆÚÒ²´øÀ´ÁËһЩÎÊÌâ¡£
×î³õµÄÏë·¨ÊÇÓÃÔÆÖ÷»ú£¬½ÚÊ¡³É±¾¡£ÖªºõµÄµÚһ̨·þÎñÆ÷ÊÇ512MBÄÚ´æµÄLinodeÖ÷»ú¡£µ«ÊÇÍøÕ¾ÉÏÏߺó£¬ÄÚ²âÊÜ»¶Ó³Ì¶È³¬³öÔ¤ÆÚ£¬ºÜ¶àÓû§·´À¡ÍøÕ¾ºÜÂý¡£¿ç¹úÍøÂçÑÓ³Ù±ÈÏëÏóµÄÒª´ó£¬ÌرðÊǹúÄÚµÄÍøÂç²»¾ùºâ£¬È«¹ú¸÷µØÓû§·ÃÎʵÄÇé¿ö¶¼²»Ì«Ò»Ñù¡£Õâ¸öÎÊÌ⣬ÔÙ¼ÓÉϵ±Ê±Òª×öÓòÃû±¸°¸£¬ÖªºõÓֻص½ÁË×Ô¼ºÂò»úÆ÷ÕÒ»ú·¿µÄÀÏ·ÉÏ¡£
ÂòÁË»úÆ÷¡¢ÕÒÁË»ú·¿Ö®ºóÓÖÓöµ½ÁËеÄÎÊÌ⣬·þÎñ¾³£å´µô¡£µ±Ê±·þÎñÉ̵ĻúÆ÷ÄÚ´æ×ÜÊdzöÎÊÌ⣬¶¯²»¶¯¾ÍÖØÆô¡£ÖÕÓÚÓÐÒ»´Î»úÆ÷å´µôÆð²»À´ÁË£¬Õâʱ֪ºõ¾Í×öÁËWebºÍÊý¾Ý¿âµÄ¸ß¿ÉÓᣴ´Òµ¾ÍÊÇÕâÑùÒ»¸öÇé¿ö£¬ÓÀÔ¶²»ÖªµÀÃ÷ÔçÐÑÀ´µÄʱºò»áÃæÁÙʲôÑùµÄÎÊÌâ¡£

ÕâÊǵ±Ê±ÄǸö½×¶ÎµÄ¼Ü¹¹Í¼£¬WebºÍÊý¾Ý¿â¶¼×öÁËÖ÷´Ó¡£µ±Ê±µÄͼƬ·þÎñÍйÜÔÚÓÖÅÄÔÆÉÏ¡£³ýÁËÖ÷´Ó£¬ÎªÁËÐÔÄܸüºÃ»¹×öÁ˶Áд·ÖÀ롣Ϊ½â¾öͬ²½ÎÊÌ⣬ÓÖÌí¼ÓÁËÒ»¸ö·þÎñÆ÷À´ÅÜÀëÏ߽ű¾£¬±ÜÃâ¶ÔÏßÉÏ·þÎñÔì³ÉÏìÓ¦ÑÓ³Ù¡£ÁíÍ⣬Ϊ¸Ä½øÄÚÍøµÄÍÌÍÂÁ¿ÑÓ³Ù£¬»¹¸ü»»ÁËÉ豸£¬Ê¹Õû¸öÄÚÍøµÄÍÌÍÂÁ¿·ÁË20±¶¡£
ÔÚ2011ÄêÉϰëÄêʱ£¬Öªºõ¶ÔRedisÒѾºÜÒÀÀµ¡£³ýÁË×ʼµÄ¶ÓÁС¢ËÑË÷ÔÚÓ㬺óÀ´ÏñCacheÒ²¿ªÊ¼Ê¹Ó㬵¥»ú´æ´¢³ÉΪƿ¾±£¬ËùÒÔÒýÈëÁË·ÖÆ¬£¬Í¬Ê±×öÁËÒ»ÖÂÐÔ¡£
ÖªºõÍŶÓÊÇÒ»¸öºÜÏàÐŹ¤¾ßµÄÍŶӣ¬ÏàÐŹ¤¾ß¿ÉÒÔÌáÉýЧÂÊ¡£¹¤¾ßÆäʵÊÇÒ»¸ö¹ý³Ì£¬¹¤¾ß²¢Ã»ÓÐËùνµÄ×îºÃµÄ¹¤¾ß£¬Ö»ÓÐ×îÊʺϵŤ¾ß¡£¶øÇÒËüÊÇÔÚÕû¸ö¹ý³ÌÖУ¬Ëæ×ÅÕû¸ö״̬µÄ±ä»¯¡¢»·¾³µÄ±ä»¯ÔÚ²»¶Ï·¢Éú±ä»¯µÄ¡£Öªºõ×Ô¼º¿ª·¢»òʹÓùýµÄ¹¤¾ß°üÀ¨Profiling£¨º¯Êý¼¶×·×ÙÇëÇ󣬷ÖÎöµ÷ÓÅ£©¡¢Werkzeug£¨·½±ãµ÷ÊԵŤ¾ß£©¡¢Puppet£¨ÅäÖùÜÀí£©ºÍShipit£¨Ò»¼üÉÏÏß»ò»Ø¹ö£©µÈ¡£
ÈÕ־ϵͳ
Öªºõ×î³õÊÇÑûÇëÖÆµÄ£¬2011ÄêϰëÄ֪꣬ºõÉÏÏßÁËÉêÇë×¢²á£¬Ã»ÓÐÑûÇëÂëµÄÓû§Ò²¿ÉÒÔͨ¹ýÌîдһЩ×ÊÁÏÉêÇë×¢²áÖªºõ¡£Óû§Á¿ÓÖÉÏÁËÒ»¸ǫ̈½×£¬Õâʱ¾ÍÓÐÁËһЩ·¢¹ã¸æµÄÕË»§£¬ÐèҪɨ³ý¹ã¸æ¡£ÈÕ־ϵͳµÄÐèÇóÌáÉÏÈճ̡£
Õâ¸öÈÕ־ϵͳ±ØÐëÖ§³Ö·Ö²¼Ê½ÊÕ¼¯¡¢¼¯Öд洢¡¢ÊµÊ±¡¢¿É¶©Ôĺͼòµ¥µÈÌØÐÔ¡£µ±Ê±µ÷ÑÐÁËһЩ¿ªÔ´ÏµÍ³£¬±ÈÈçScribe×ÜÌå²»´í£¬µ«ÊDz»Ö§³Ö¶©ÔÄ¡£KafkaÊÇScala¿ª·¢µÄ£¬µ«ÊÇÍŶÓÔÚScala·½Ãæ»ýÀÛ½ÏÉÙ£¬FlumeÒ²ÊÇÀàËÆ£¬¶øÇұȽÏÖØ¡£ËùÒÔ¿ª·¢ÍŶÓÑ¡ÔñÁË×Ô¼º¿ª·¢Ò»¸öÈÕ־ϵͳ——Kids£¨Kids Is Data Stream£©¡£¹ËÃû˼Ò壬KidsÊÇÓÃÀ´»ã¼¯¸÷ÖÖÊý¾ÝÁ÷µÄ¡£
Kids²Î¿¼ÁËScribeµÄ˼·¡£KdisÔÚÿ̨·þÎñÆ÷ÉÏ¿ÉÒÔÅäÖóÉAgent»òServer¡£AgentÖ±½Ó½ÓÊÜÀ´×ÔÓ¦ÓõÄÏûÏ¢£¬°ÑÏûÏ¢»ã¼¯Ö®ºó£¬¿ÉÒÔ´ò¸øÏÂÒ»¸öAgent»òÕßÖ±½Ó´ò¸øÖÐÐÄServer¡£¶©ÔÄÈÕ־ʱ£¬¿ÉÒÔ´ÓServerÉÏ»ñÈ¡£¬Ò²¿ÉÒÔ´ÓÖÐÐĽڵãµÄһЩAgentÉÏ»ñÈ¡¡£

¾ßÌåϸ½ÚÈçÏÂͼËùʾ£º

Öªºõ»¹»ùÓÚKids×öÁËÒ»¸öWebС¹¤¾ß£¨Kids Explorer£©£¬Ö§³Öʵʱ¿´ÏßÉÏÈÕÖ¾£¬ÏÖÔÚÒѾ³ÉΪµ÷ÊÔÏßÉÏÎÊÌâ×îÖ÷ÒªµÄ¹¤¾ß¡£
KidsÒѾ¿ªÔ´£¬·Åµ½ÁËGithubÉÏ¡£
ʼþÇý¶¯µÄ¼Ü¹¹
ÖªºõÕâ¸ö²úÆ·ÓÐÒ»¸öÌØµã£¬×îÔçÔÚÌí¼ÓÒ»¸ö´ð°¸ºó£¬ºóÐøµÄ²Ù×÷ÆäʵֻÓиüÐÂ֪ͨ¡¢¸üж¯Ì¬¡£µ«ÊÇËæ×ÅÕû¸ö¹¦ÄܵÄÔö¼Ó£¬ÓÖ¶à³öÁËһЩ¸üÐÂË÷Òý¡¢¸üмÆÊý¡¢ÄÚÈÝÉó²éµÈ²Ù×÷£¬ºóÐø²Ù×÷Î廨°ËÃÅ¡£Èç¹û°´ÕÕ´«Í³·½Ê½£¬Î¬»¤Âß¼»áÔ½À´Ô½ÅÓ´ó£¬Î¬»¤ÐÔÒ²»á·Ç³£²î¡£ÕâÖÖ³¡¾°ºÜÊʺÏʼþÇý¶¯·½Ê½£¬ËùÒÔ¿ª·¢ÍŶӶÔÕû¸ö¼Ü¹¹×öÁ˵÷Õû£¬×öÁËʼþÇý¶¯µÄ¼Ü¹¹¡£
ÕâʱÊ×ÏÈÐèÒªµÄÊÇÒ»¸öÏûÏ¢¶ÓÁУ¬ËüÓ¦¸Ã¿ÉÒÔ»ñÈ¡µ½¸÷ÖÖ¸÷ÑùµÄʼþ£¬¶øÇÒ¶ÔÒ»ÖÂÐÔÓкܸߵÄÒªÇó¡£Õë¶ÔÕâ¸öÐèÇó£¬Öªºõ¿ª·¢ÁËÒ»¸ö½ÐSinkµÄС¹¤¾ß¡£ËüÄõ½ÏûÏ¢ºó£¬ÏÈ×ö±¾µØµÄ±£´æ¡¢³Ö¾Ã»¯£¬È»ºóÔÙ°ÑÏûÏ¢·Ö·¢³öÈ¥¡£Èç¹ûÄÇ̨»úÆ÷¹ÒµôÁË£¬ÖØÆôʱ¿ÉÒÔÍêÕû»Ö¸´£¬È·±£ÏûÏ¢²»»á¶ªÊ§¡£È»ºóËüͨ¹ýMiller¿ª·¢¿ò¼Ü£¬°ÑÏûÏ¢·Åµ½ÈÎÎñ¶ÓÁС£Sink¸üÏñÊÇ´®ÐÐÏûÏ¢¶©ÔÄ·þÎñ£¬µ«ÈÎÎñÐèÒª²¢Ðл¯´¦Àí£¬ Beanstalkd¾ÍÅÉÉÏÁËÓ󡣬ÓÉÆä¶ÔÈÎÎñ½øÐÐÈ«ÖÜÆÚ¹ÜÀí¡£¼Ü¹¹ÈçÏÂͼËùʾ£º

¾ÙÀý¶øÑÔ£¬Èç¹ûÏÖÔÚÓÐÓû§»Ø´ðÁËÎÊÌ⣬Ê×ÏÈϵͳ»á°ÑÎÊÌâдµ½MySQLÀïÃæ£¬°ÑÏûÏ¢Èûµ½Sink£¬È»ºó°ÑÎÊÌâ·µ»Ø¸øÓû§¡£Sinkͨ¹ýMiller°ÑÈÎÎñ·¢¸ø Beanstalkd£¬Worker×Ô¼º¿ÉÒÔÕÒµ½ÈÎÎñ²¢´¦Àí¡£
×ʼÉÏÏßʱ£¬Ã¿ÃëÖÓÓÐ10¸öÏûÏ¢£¬È»ºóÓÐ70¸öÈÎÎñ²úÉú¡£ÏÖÔÚÿÃëÖÓÓÐ100¸öʼþ£¬ÓÐ1500¸öÈÎÎñ²úÉú£¬¾ÍÊÇͨ¹ýÏÖÔÚµÄʼþÇý¶¯¼Ü¹¹Ö§³ÅµÄ¡£
Ò³ÃæäÖȾÓÅ»¯
ÖªºõÔÚ2013ÄêʱÿÌìÓÐÉϰÙÍòµÄPV£¬Ò³ÃæäÖȾÆäʵÊǼÆËãÃܼ¯Ð͵ģ¬ÁíÍâÒòΪҪ»ñÈ¡Êý¾Ý£¬ËùÒÔÒ²ÓÐIOÃܼ¯Ð͵ÄÌØµã¡£Õâʱ¿ª·¢ÍŶӾͶÔÒ³Ãæ½øÐÐÁË×é¼þ»¯£¬»¹Éý¼¶ÁËÊý¾Ý»ñÈ¡»úÖÆ¡£Öªºõ°´ÕÕÕû¸öÒ³Ãæ×é¼þÊ÷µÄ½á¹¹£¬×ÔÉ϶øÏÂ·Ö²ãµØ»ñÈ¡Êý¾Ý£¬µ±ÉϲãµÄÊý¾ÝÒѾ»ñÈ¡ÁË£¬Ï²ãµÄÊý¾Ý¾Í²»ÐèÒªÔÙÏÂÈ¥ÁË£¬Óм¸²ã»ù±¾ÉϾÍÓм¸´ÎÊý¾Ý»ñÈ¡¡£
½áºÏÕâ¸ö˼·£¬Öªºõ×Ô¼º×öÁËÒ»Ì×Ä£°åäÖȾ¿ª·¢¿ò¼Ü——ZhihuNode¡£
¾ÀúÁËһϵÁиĽøÖ®ºó£¬Ò³ÃæµÄÐÔÄÜ´ó·ù¶ÈÌáÉý¡£ÎÊÌâÒ³Ãæ´Ó500ms ¼õÉÙµ½150ms£¬FeedÒ³Ãæ´Ó1s¼õÉÙµ½600ms¡£
ÃæÏò·þÎñµÄ¼Ü¹¹£¨SOA£©
Ëæ×ÅÖªºõµÄ¹¦ÄÜÔ½À´Ô½ÅÓÔÓ£¬Õû¸öϵͳҲԽÀ´Ô½´ó¡£ÖªºõÊÇÔõô×öµÄ·þÎñ»¯ÄØ£¿
Ê×ÏÈÐèÒªÒ»¸ö×î»ù±¾µÄRPC¿ò¼Ü£¬RPC¿ò¼ÜÒ²¾ÀúÁ˺ü¸°æÑݽø¡£
µÚÒ»°æÊÇWish£¬ËüÊÇÒ»¸öÑϸñ¶¨ÒåÐòÁл¯µÄÄ£ÐÍ¡£´«Êä²ãÓõ½ÁËSTP£¬ÕâÊÇ×Ô¼ºÐ´µÄºÜ¼òµ¥µÄ´«ÊäÐÒ飬ÅÜÔÚTCPÉÏ¡£Ò»¿ªÊ¼ÓõϹ²»´í£¬ÒòΪһ¿ªÊ¼Ö»Ð´ÁËÒ»Á½¸ö·þÎñ¡£µ«ÊÇËæ×Å·þÎñÔö¶à£¬Ò»Ð©ÎÊÌ⿪ʼ³öÏÖ£¬Ê×ÏÈÊÇProtocolBuffer»á Éú³ÉһЩÃèÊö´úÂ룬ºÜÈß³¤£¬·Åµ½Õû¸ö¿âÀïÏԵúܳ󪡣ÁíÍâÑϸñµÄ¶¨ÒåʹÆä²»±ãʹÓá£ÕâʱÓÐλ¹¤³Ìʦ¿ª·¢ÁËеÄRPC¿ò¼Ü——Snow¡£ËüʹÓüòµ¥µÄJSON×öÊý¾ÝÐòÁл¯¡£µ«ÊÇËÉÉ¢µÄÊý¾Ý¶¨ÒåÃæ¶ÔµÄÎÊÌâÊÇ£¬±ÈÈç˵·þÎñҪȥÉý¼¶£¬Òª¸ÄдÊý¾Ý½á¹¹£¬ºÜÄÑÖªµÀÓÐÄö·þÎñÔÚʹÓã¬Ò²ºÜÄÑ֪ͨËüÃÇ£¬ÍùÍù´íÎó¾Í·¢ÉúÁË¡£ÓÚÊÇÓÖ³öÁ˵ÚÈý¸öRPC¿ò¼Ü£¬Ð´RPC¿ò¼ÜµÄ¹¤³Ìʦ£¬Ï£Íû½áºÏÇ°ÃæÁ½¸ö¿ò¼ÜµÄÌØµã£¬Ê×Ïȱ£³ÖSnow¼òµ¥£¬Æä´ÎÐèÒªÏà¶ÔÑϸñµÄÐòÁл¯ÐÒé¡£ÕâÒ»°æ±¾ÒýÈëÁË Apache Avro¡£Í¬Ê±¼ÓÈëÁËÌØ±ðµÄ»úÖÆ£¬ÔÚ´«Êä²ãºÍÐòÁл¯ÐÒéÕâÒ»²ã¶¼×ö³ÉÁ˿ɲå°ÎµÄ·½Ê½£¬¼È¿ÉÒÔÓÃJSON£¬Ò²¿ÉÒÔÓÃAvro£¬´«Êä²ã¿ÉÒÔÓÃSTP£¬Ò²¿ÉÒÔÓöþ½øÖÆÐÒé¡£
ÔÙ¾ÍÊÇ´îÁËÒ»¸ö·þÎñ×¢²á·¢ÏÖ£¬Ö»ÐèÒª¼òµ¥µÄ¶¨Òå·þÎñµÄÃû×־ͿÉÒÔÕÒµ½·þÎñÔÚÄĄ̈»úÆ÷ÉÏ¡£Í¬Ê±£¬ÖªºõÒ²ÓÐÏàÓ¦µÄµ÷ÓŵŤ¾ß£¬»ùÓÚZipkin¿ª·¢ÁË×Ô¼ºµÄ Tracingϵͳ¡£
°´ÕÕµ÷ÓùØÏµ£¬ÖªºõµÄ·þÎñ·Ö³ÉÁË3²ã£º¾ÛºÏ²ã¡¢ÄÚÈݲãºÍ»ù´¡²ã¡£°´ÊôÐÔÓÖ¿ÉÒÔ·Ö³É3ÀࣺÊý¾Ý·þÎñ¡¢Âß¼·þÎñºÍͨµÀ·þÎñ¡£Êý¾Ý·þÎñÖ÷ÒªÊÇһЩҪ×öÌØÊâÊý¾ÝÀàÐ͵Ĵ洢£¬±ÈÈçͼƬ·þÎñ¡£Âß¼·þÎñ¸ü¶àµÄÊÇCPUÃܼ¯¡¢¼ÆËãÃܼ¯µÄ²Ù×÷£¬±ÈÈç´ð°¸¸ñʽµÄ¶¨Òå¡¢½âÎöµÈ¡£Í¨µÀ·þÎñµÄÌØµãÊÇûÓд洢£¬¸ü¶àÊÇ×öÒ»¸öת·¢£¬±ÈÈç˵Sink¡£

ÕâÊÇÒýÈë·þÎñ»¯Ö®ºóÕûÌåµÄ¼Ü¹¹¡£

|