|
ÔĶÁÔ´ÂëÊÇ¿ªÔ´ÏîÄ¿×îºÃµÄѧϰ·½Ê½£¬È»¶øÕæÕýµÄÖ´ÐÐÆðÀ´È´²¢²»ÈÝÒס£ÕâÀïÎÒÃÇΪ´ó¼Ò·ÖÏíÐíÅôµÄÔ´ÂëÔĶÁ¾Ñé¡¢C³ÌÐòÔ±µÄÐÞÑøÒÔ¼°SparkºÍStormÔ´Âë×ß¶Á²©ÎÄ¡£
¶ÔÐíÅôµÄµÚÒ»Ó¡ÏóÀ´Ô´ÓÚÆäBolgµÄ´Ö¶Á£¬×îÔçʱºò¸ü׼ȷ˵Ӧ¸ÃÊDz©ÎĵĴÖÂÔͳ¼Æ¡ª¡ª1ÄêÁã6¸öÔÂÍê³É55ƪÒÔÉϵIJ©ÎÄ£¬»ù±¾Ã¿Æª¶¼¸½ÓдúÂ룬ÆäÖиüÓÐ¶àÆªÔ´Âë½â¶Á²©ÎÄ¡£¶øÔÚä¯ÀÀÍê´óÁ¿µÄStormºÍSparkÔ´ÂëÔĶÁºó£¬±ÊÕ߸üÈ϶¨ÁËÕâÊÇλHadoop¡¢Spark¡¢StormµÈÏà¹Ø¼¼Êõ´ÓÒµÈËÔ±¡£È»¶øÔÚÓëÐíÅô±¾È˹µÍ¨Ö®ºó²Å·¢ÏÖ£¬Æäʵ×îÌù½üËû±¾È˵ÄÃèÊöÕýÊÇÆäBlog¼ò½é¡ª¡ª¡°¸»¹óÓж¨Êý£¬Ñ§ÎÊÔòÎÞ¶¨Êý¡ª¡ªÇóÒ»·Ö£¬±ãµÃÒ»·Ö¡£¡±Ö®ËùÒÔ˵ÊÇÌù½ü£¬ÒòΪÆäÖл¹ÉÙÁËÀÖÓÚ·ÖÏíµÄ²¿·Ö¡£

¹ØÓÚÐíÅô£º2000Äê±ÏÒµÓÚÄϾ©ÓʵçѧԺ£¬ÏÖ¾ÍÒµÓÚ°®Á¢ÐÅÉϺ££¬ÔÚUDM²¿ÃÅ´ÓÊÂÏà¹Ø²úÆ·Ñз¢£¬¸öÈ˹Ø×¢ÓÚLinuxÄں˼°ÊµÊ±¼ÆËã¿ò¼ÜÈçStorm¡¢SparkµÈ¡£
ÕýÈç¼ò½éÖеÄÃèÊö£¬ÐíÅôµ±Ï´ÓÊ»ùÓÚLinuxµÄC&C++¿ª·¢£¬ÕýÈçËûËù˵µÄ¡°ÀÏÌס¢Æ¯ÁÁµÄ²»Í»³öµÄ¼¼Êõ¡±¡£ÑÔ¹éÕý´«£¬ÔÚ¶ÔÐíÅôÓÐÁ˼òµ¥µÄÁ˽âÖ®ºó£¬ÎÒÃÇÒ»Æð×ß½ø±¾´ÎµÄÖ÷Ì⡪¡ªC³ÌÐòÔ±µÄÐÞÑø¡¢´óÐÍÏîÄ¿µÄÔ´Âëѧϰ£¬ÒÔ¼°SparkºÍStormµÄÔ´Âë×ß¶Á¡£
ÒÔÏÂÊDzɷÃÔÎÄ£º
Çë½éÉÜÒ»ÏÂĿǰÄúÕýÔÚ´ÓʵÄÑо¿ºÍ¹¤×÷ÄÚÈÝ£¿
ÐíÅô£ºÄ¿Ç°ÔÚ¹«Ë¾UDM£¨User Data Management£©²¿ÃÅ£¬´ÓÊÂAAAÏà¹ØµÄ¶«Î÷£¬ÓÃÓÚÓû§Wi-Fi½ÓÈëÈÏÖ¤¡£ÓÉÓÚ²úÆ·ÐèÒªÇ¨ÒÆµ½Linux Cluster£¬ËùÒÔ¶ÔIP Load Balance¼°OpenSAF¶¼ÓбȽÏÉîÈëµÄÑо¿ºÍÀí½â¡£
¿ª·¢ÊÇLinuxƽ̨ÉϵÄC&C++±à³Ì£¬³£³£Óöµ½½ø³ÌCrashºÍÄÚ´æÐ¹Â¶Ö®ÀàµÄÎÊÌ⣬ÓÚÊǾͶÔGDBºÍLinuxÄÚºËÖеÄMemory ManagementÓÐÁ˱ȽÏÉîÈëµÄѧϰ¡£
OpenSAFÖ÷Òª½â¾ö¸ß¿ÉÓúÍÀ©Õ¹ÎÊÌâ¡£LinuxÄÚºËÏÔÈ»ÄѶȺܴ󣬼ÓÉÏʵ¼ÊÏîÄ¿Öв¢Ã»ÓÐÐèÇó£¬ËùÒÔÀí½âÆðÀ´Ìرð³ÔÁ¦¡£¾¹ýÏ൱³¤µÄʱ¼äÏû»¯Àí½âÖ®ºó£¬ÖÕÓÚŪÃ÷°×ÁËÄÚºË×Ô¾Ù£¬Memory ManagementºÍNetwork StackÕ⼸¸öÄ£¿é¡£LinuxÄÚºËÊÇÎÒ´Óʵ¼Ê¹¤×÷µ½ÒµÓàÑо¿µÄÒ»¸ö¹Ø¼üÁ¬½áµã¡£Äں˴úÂëÔĶÁ¾¡¹ÜÈøöÈËÔÚ¿¼ÂÇÎÊÌâµÄʱºòÓÐÁËÒ»¶¨µÄ³¤½ø£¬µ«±Ï¾¹ÎÞ·¨Óëʵ¼Ê¹¤×÷Ïà¹ØÁª£¬ËùÒÔÈȶȽ¥½¥½µµÍ£¬Æäʵ¾ÍÊÇûÄÜÒòΪ¶®Äں˶øÕÒÒ»·Ý¸ßн¹¤×÷À²¡£È»¶ø£¬LinuxÄÚºËÔ´ÂëÔĶÁÈ´¸øÎÒ´øÀ´ÁËÒ»¸ö·Ç³£´óµÄÊÕ»ñ¡ª¡ªÑ§»áÁË¡°×ÔÎÒÉèÎÊ£¬×ÔÎÒ½â´ð¡±¡£
ÓÚÊÇ¿ªÊ¼ËÑѰеÄÈȵ㣬´Ó2013Äê³õ¿ªÊ¼£¬·¢¾õʵʱÊý¾Ý·ÖÎöºÜÈÈÃÅ£¬¿´µ½Ðí¶àÍøÂç´óÄÃÔÚ´µÅõStorm£¬ÓÚÊǾͿªÊ¼¿´StormµÄÔ´Âë¡£StormÔ´ÂëµÄѧϰ¹ý³ÌÖÐÖ÷ÒªÄѵãÊÇClojureÓïÑÔ£¬Õâ¸ö¹ý³ÌµÃµ½ÁËClojure ProgrammingÒ»ÊéÖÐÎÄÒëÕßÐìÃ÷Ã÷µÄ´óÁ¦°ïÖú£¬ËùÒÔ½¥½¥Àí½âÁËStormµÄ¿ò¼ÜºÍʵÏÖ»úÀí£¬StormѧϰµÄʱ¼ä³ÖÐøÁË´ó¸Å°ëÄêµÄʱ¼ä¡£Ö®ËùÒÔתµ½SparkµÄÑо¿ÉÏÀ´£¬ÊÇÒòΪÌý˵Apache SparkÒ²Ö§³ÖStreamingµÄ´¦Àí£¬ÎÒºÜºÃÆæ£¬ÓÚÊǾͿªÊ¼ÁËSparkµÄÔ´ÂëÑо¿£¬ÕâÖмäÒ»·½ÃæÊÇ¿´ÍøÉϵÄ×ÊÁÏ£¬ÁíÒ»·½ÃæÊÇ×Ô¼º¿´Ô´ÂëºÍ×öСÐ͵ÄʵÑéÀ´ÑéÖ¤²Â²â£¬¿ÉÒÔËµÍøÂçÈÃ×Ô¼ºµÄѧϰ´ó´óµÄËõ¶Ì¡£SparkµÄѧϰÖдóÁ¿½è¼øÁËÛºÏþ½Ü£¨fxjwind£©ºÍÕŰü·åµÄ²©¿Í£¬Ä¿Ç°£¬ÎÒºÍËûÃǶ¼½¨Á¢ÁËÁ¼ºÃµÄ»¥¶¯¡£
¶àÄêCºÍC++ÏîÄ¿¿ª·¢¼°¹ÜÀí£¬ÓÐʲô¾Ñé¿ÉÒÔ·ÖÏí¸øÕâ¸öÁìÓòµÄ¹¤×÷Õߣ¿ÔÚ³ÌÐòÔ±ÐÞÑø·½Ã棬ËûÃÇÓÖÓ¦¸Ã×¢Òâʲô£¬¶àѧЩʲô£¬¶à¿´Ð©Ê²Ã´£¿
ÐíÅô£º¾¡¹Ü´ÓÊÂCºÍC++¿ª·¢¶àÄ꣬ÎÒ»¹ÊDz»¸Ò˵×Ô¼º·Ç³£¾«Í¨¡£ÓеÄÖ»ÊÇÒ»µãµãµÄ¸ÐÎòºÍÌå»á£¬Èç¹ûÊǽøÐÐLinuxƽ̨ϵÄCÓïÑÔ¿ª·¢£¬×îºÃ»¹ÊǾÍÏÂÃæ¼¸¸öÎÊÌâ¶à×öһЩÊÔÑ飬¶à¶ÁһЩÏà¹ØµÄÊé¡£
1.³ÌÐòµÄÔËÐкͼÓÔØ£¬ÍƼö³ÌÐòÔ±µÄ×ÔÎÒÐÞÑøÒ»Êé¡£
2.ÄÚ´æ·ÖÅä£¬ÍÆ¼öÔĶÁPtmallocÔ´Âë·ÖÎö£¬ÎÞÂÛÊÇC»¹ÊÇC++³ÌÐòÔ±£¬ÕâÒ»²¿·ÖÊÇ×îÈÝÒײÈÀ׵쬶à¶ÁÒ»µã»ù´¡µÄ¶«Î÷£¬»áÔÚ½â¾öʵ¼ÊÎÊÌâµÄʱºò£¬²»ÖÁÓÚÊÖ×ãÎÞ´ë¡£ÒÔÕâЩΪ»ù´¡£¬ÔÙ½áºÏValgrind»òPurify£¬ÏàÐÅЧ¹û»á¸üºÃ¡£
3.¶à¶ÁÒ»µãCºÍC++¿ª·¢µÄ³É¹¦²úÆ·£¬ÈçApache Http ServerºÍNginx£¬ÕâÑù¾ÍÈÝÒ׸ãÇå³þÔÚÉè¼ÆÒ»¸öϵͳµÄʱºòÐèÒªÓÐÄÄЩ¹Ø×¢µã¡£
- Êǵ¥½ø³Ì»¹ÊÇ¶à½ø³Ì£¬Êǵ¥½ø³Ì¶àÏ̻߳¹ÊǶàÏ̵߳¥½ø³Ì
- ½ø³Ì¼äͨÐŲÉÓÃʲô·½Ê½
- ÏûÏ¢µÄencoding/decodingÒÔ¼°message passing£¬Ã¿´Î¶¼Òª×Ô¼ºÐ´Ò»´Î£¬²»ÀÛÂð£¬ÓÐûÓкõĿªÔ´ÊµÏÖ£¬ÈçProtobuffer¡¢Thrift
- ¶ÔÓÚÒ»¸öNetwork ServerÀ´Ëµ£¬»ù±¾¹¹¼Ü´óÌåÉÏ»¹ÊÇÏàͬµÄ£¬acceptor¡údispatcher¡úworker
4.¡¶ÉîÈëÀí½â¼ÆËã»úϵͳ¡·ÕæµÄÊÇÒ»±¾·Ç³£²»´íµÄÊ飬ΪʲôҪÕâô˵£¬Èí¼þµÄÉè¼Æ»¹ÊÇÒªÒÔÎïÀíÉ豸֧³ÖµÄÌØÐÔΪ»ù´¡µÄ£¬Õâ±¾ÊéÈÃÎÒÃÇÔÚCPUµÄ¼¶±ðÀ´½øÒ»²½Ë¼¿¼³ÌÐòÉè¼Æ¡£
Èô¸ÉÄêǰ£¬½ðӹȺÏÀ´«Õâ¸öÓÎÏ·ºÜÁ÷ÐУ¬ÀïÍ·ÓÐÒ»ÖÖÎ书³õÁ·Ï¡ËÉÆ½³££¬µ«Ö»ÒªÁ·µ½µÚ10¼¶£¬ÄǾͱȽµÁúÊ®°ËÕÆ»¹À÷º¦¡£Ñ§ÓÃCºÍC++Ò²ÊÇÈç´Ë°É£¬ÎÞËü£¬Î¨ÇÚ¶øÒÑ¡£
Äú̸µ½ÁËÒòΪ²úÆ·Ç¨ÒÆµ½Linux ClusterËùÒÔÉîÈëµÄÑо¿ÁËIP Load Balance¼°OpenSAF£¬ÔÚÕâÁ½¸ö·½ÃæÓпɷÖÏí¸ø¶ÁÕßµÄô£¿
ÐíÅô£ºIP Load BalanceÕâÒ»¿éÖ÷ÒªÊǶÔipvsºÍnatµÄÉý¼¶ÐÒérsip×÷ÁËһЩÑо¿¡£ÓйØÕâ·½ÃæµÄ×ÊÁÏÍøÉϺܶ࣬Ҳ²»¸ÒÂÒ¼ÓÆÀÂÛ£¬Èç¹ûÏë×÷ϸÖÂÉîÈëѧϰµÄ»°£¬ÒÔlvs ipvs×÷Ϊ¹Ø¼ü×ÖËÑһϾͿÉÒÔÁË¡£ÊìϤipvs×îºÃµÄ·½Ê½»¹ÊÇÊÔÑé¼ÓÔ´ÂëÔĶÁ£¬ÆäÔ´ÂëÒѾÔÚLinuxÄÚºËÖ®ÖУ¬ÔÚnetworkĿ¼Ï¡£
OpenSAFÊÇSAFµÄ¿ªÔ´ÊµÏÖ£¬Ö÷ҪĿµÄÊÇΪÁ˽â¾öHAºÍScalabilityµÄÎÊÌ⣬¶ÔÓÚµçÐŲúÆ·À´Ëµ£¬¸ß¿É¿¿ÐÔʼÖÕÊÇÒ»¸öÓ²ÐÔµÄÖ¸±ê¡£SAFÖÆ¶¨ÁËÒ»Ì×Æë±¸µÄ±ê×¼£¬ÔÚ¿ªÔ´ÊµÏÖ·½ÃæÇé¿ö±äµÃÓÐÒâ˼ÆðÀ´¡£OpenSAF»ù±¾ÉϸúËæÁËSAF±ê×¼£¬¶øÆäËüһЩÔòÈÏΪ±ê×¼¹ýÓÚÅÓÔÓ£¬¶øÖ»Ñ¡È¡ÆäÖÐÒ»²¿·Ö¼ÓÒÔÉʵʩ£¬ÈçcorosyncºÍpacemaker¡£
Äú»¨ÁË´óÁ¿µÄʱ¼äÔĶÁSparkºÍStormÔ´Â룬²¢½øÐвâÊÔ£¬¶ÔÕâÁ½¸ö¼ÆËã¿ò¼ÜÄúÓÐ×ö¹ý±È½ÏÂð£¿ÓÐʲô½áÂÛ¿ÉÒÔΪ´ó¼Ò·ÖÏí£¿
ÐíÅô£ºÕâÊÇÒ»¸ö¾³£»á±»Ìá¼°µÄÎÊÌ⣬֮ËùÒÔÈç´Ë¾ÍÊÇÒòΪÁ½¸ö²úÆ·¶¼ºÜÓÅÐã¡£StormÊÇרעÓÚʵʱÁ÷¼ÆËãµÄ¿ò¼Ü£¬ÔÚTwitterÓдóÁ¿³É¹¦µÄÓ¦Óã¬ÆäÕûÌå¼Ü¹¹ÊǷdz£Ò×ÓÚÀí½âµÄ¡£SparkÔò¸üΪͨÓÃһЩ£¬²»½öÖ§³ÖʵʱÁ÷¼ÆË㣬Ҳ֧³ÖÅú´¦Àí£¬Í¼¼°»úÆ÷ѧϰ·½ÃæµÄÓ¦Óá£ËùÒÔÒª¶ÔÁ½Õß½øÐбȽϵϰ£¬ÎÒÃÇ»¹Êǽ«Ä¿±êËõСµ½Á÷´¦ÀíÕâÒ»¿é¡£
- ´ÓÓ¦ÓõĹ㷺³Ì¶ÈÉÏÀ´Ëµ£¬Storm¿ÉÄÜÓµÓиü¶àµÄÓû§»ù´¡¡£
- ´Ó´¦ÀíËÙ¶ÈÉ϶øÑÔ£¬ËƺõSpark¸üʤһ³ï¡£
- ´Óµ±Ç°Õû¸öÏîÄ¿µÄ»îÔ¾¶È¶øÑÔ£¬Spark¸üΪ»îÔ¾¡£
- Spark¿ÉÒÔÓëHadoopµÄÐÂÒ»´ú×ÊÔ´¹ÜÀí¿ò¼ÜYarn¸üΪ½ôÃܵĽáºÏ¡£
- SparkÓÐClouderaµÄ´óÁ¦Ö§³Å£¬¶øHortonworkÔòÊÇStormµÄ×î´óÍÆÊÖ£¬Á½¼Ò¶¼ÊÇ´óÊý¾Ý´¦ÀíÁìÓòµÄÇ̳þ£¬Ò»³¡ÁúÕù»¢¶·ºÜÖµµÃÆÚ´ý¡£
- SparkĿǰ»¹È±ÉÙStormËùÖ§³Örebalance¹¦ÄÜ£¬²»Äܶ¯Ì¬ÀûÓÃÐÂÔö¼ÓµÄ½Úµã¡£
- SparkºÍStormÔÚÖ§³Ö¡°exactly-once¡±µÄ´¦ÀíÉÏ£¬Óв»Í¬µÄʵÏÖ£¬SparkÊÇÒÀÀµÓÚSpark£¬¶øStormÔòÊÇÀûÓÃTridentÀ´½â¾ö£¬TridentTopology¶ÔstormÖлù´¡µÄboltºÍspout×öÁË·â×°£¬ÈÃÉϲãÓ¦ÓõĿª·¢¸ü¼Ó¹Ø×¢ÓÚÒµÎñ±¾Éí¡£
- ¶þÕßÓÐÒ»¸ö¹²Í¬µÄȱµã»ò벡£¬¾ÍÊǶÔ×ÊÔ´ÔÚ½ÏϸÁ£¶ÈµÄµ÷Åä·½Ãæ£¬Ö§³ÖµÃ»¹²»¹»
´óÁ¿¿ªÔ´ÏîĿʹÓúÍѧϰ¾Ñ飬Äú¶Ô¿ªÔ´Ô˶¯Ôõô¿´£¿ÈçºÎ²ÅÄܸüºÃµÄѧϰһ¸ö¿ªÔ´ÏîÄ¿£¿¿ªÔ´ÏîĿʹÓÃʱÓÖ¸Ã×¢ÒâЩʲô£¿
ÐíÅô£º¿ªÔ´ÏîÄ¿Àë²»¿ª´ó¼ÒµÄ¹ã·º²ÎÓëºÍÖ§³Ö£¬ÒªÈÃÒ»¸ö¿ªÔ´ÏîĿȡµÃ³É¹¦£¬Óжà¸ö·½ÃæµÄÒòËØ¡£
- ²úÆ·±¾ÉíµÄ´´Ð¹¦ÄÜ
- ÔÚʵ¼ÊÏîÄ¿ÖеÄÓ¦ÓúÍÍÆ¹ã£¬Òµ½ç´óÀÐÆóÒµµÄ»ý¼«²ÎÓë
- ½ÌÓýÅàѵÊг¡µÄ»ý¼«¸ú½ø£¬Ò²ÊÇÒ»¸ö¿ªÔ´ÏîÄ¿×îÖÕÄܹ»³¤¾ÃÉú´æÏÂÀ´µÄ±Ø±¸ÒòËØ
ÄÜ·ñ·ÖÏíһЩÄú¶Ôµ±Ï´óÊý¾ÝµÄ¿´·¨£¿
ÐíÅô£º´óÊý¾ÝÒª½â¾öµÄÁ½´ó»ù±¾ÎÊÌâÊÇ¡°Êý¾Ý´æ´¢¡±ºÍ¡°Êý¾Ý·ÖÎö¡±£¬ÔÚÊý¾Ý´æ´¢ÁìÓò£¬¿ªÔ´ÊµÏÖ·½ÃæËƺõ´ó¼Ò¶¼ÒѾÊ׿ÏHDFSµÄ·½Ê½£¬²»ÔÙ»³ÒÉ¡£
¶øÔÚÊý¾Ý·ÖÎöµÄ¼ÆËã¿ò¼Ü·½Ã棬Ŀǰ»¹ÓдóÁ¿µÄ¾ºÕù»ò²©ÞijöÏÖ¡£Spark¾ÍÊÇÒ»Àý£¬·ÖÎöÁìÓò³ýÁË»ùÓÚ´«Í³¹ØÏµÐÍÊý¾Ý¿âµÄ·ÖÎö·½Ê½£¬»¹ÓÐͼ¼ÆËãÏà¹ØºÍ»úÆ÷ѧϰΪ´ú±íµÄÊý¾ÝÍÚ¾ò¡£ÏÔÈ»»úÆ÷ѧϰÊÇÒ»¸ö´óÈÈÃÅ£¬ÕâÒ»·½Ãæ¸öÈËËùÖªÉõÉÙ£¬²»¸Òºú˵°ËµÀ£¬µ«Ãż÷ËÆºõºÜ¸ß£¬Êýѧµ××ÓÒ»¶¨ÒªºÃ£¬¾ö²»ÊǼò¼òµ¥µ¥µÄµ÷Óü¸¸öAPI¾ÍÍêÊÂÁ˵ġ£
ÔÆ¼ÆËãÊÇ´óÊý¾ÝµÄÖ§³Å£¬ËäÈ»ÍÑÌ¥ÓÚÐéÄ⻯£¬²»·¦ÉÌÒµÐû´«µÄζµÀ£¬µ«ÊÇ´óÁ¿»úÆ÷µÄ°²×°²¿Êð£¬Èç¹ûÈ«²¿Ê¹ÓÃÎïÀí»úһ̨̨ȥװ£¬¿Ï¶¨»áÈÃÈË·¢·è£¬ÔƼÆËãÈôó¹æÄ£²¿ÊðºÍ²úÆ·Ç¨ÒÆ±äµÄ¸üΪ¼òµ¥¡£
¶ÔÓÚÔĶÁÔ´ÂëÄúÓÐ×ŷḻµÄ¾Ñ飬¶ÔÏëÔĶÁÔ´ÂëÓÖ²»ÖªµÀÈçºÎÏÂÊÖµÄͬѧ¿É·ñ×öһЩ·ÖÏí£¿
ÐíÅô£ºÔ´ÂëÔĶÁÆäʵÊÇÒ»¸öÄæÏòµÄ¹¤³Ì£¬ÕâÆÚ¼ä±ØÐë»áÓöµ½ÖÖÖÖÎÊÌâ¡£Ò»°ãÀ´Ëµ£¬ÎÒ»á×ñÑÕâÑùÒ»¸ö˼ά·¶Ê½¡ª¡ªProblem domain¡úmodel¡úarchitecture&implementation¡úimprovement¡úbest practice¡£
1.Ê×ÏȸãÇå³þÒª·ÖÎöµÄ²úÆ·½â¾öµÄÎÊÌâÊÇʲô£¬Õâ¸öÎÊÌâÔÚÄĸö´óµÄ·¶³ëÀҲ¾ÍÊÇÒª¸ãÇå³þproblem domain¡£Ò»¸öÖøÃûµÄ¿ªÔ´²úÆ·±Ø¶¨ÔÚWikipediaÉÏÓÐÏàÓ¦µÄÌõÄ¿£¬ËùÒÔÒ»¿ªÊ¼È¥¿´wikipediaÊÇÆÆÌâµÄÒ»ÖÖ¼«ºÃ·½Ê½¡£
2.Çå³þÒª·ÖÎö²úÆ·µÄ´óÌå¿ò¼ÜºÍ¹Ø¼üÐԵĸÅÄҲ¾ÍÊÇÀí½âÇå³þarchitectureºÍkey concept¡£
3.½«·ÖÎöµÄ²úƷʵʵÔÚÔÚµÄÔËÐÐÆðÀ´£¬ÎÒÒ»°ãÑ¡Ôñdebian»òarchlinux×÷Ϊ¹¤×÷ƽ̨£¬ËüÃÇÌṩÁ˷ḻµÄÈí¼þ°ü£¬¿ÉÒԺܿìµÄ½«¶«Î÷°²×°²¢ÔËÐС£ÊìϤLinux±¾Éí¶ÔÓÚ¿ªÔ´ÏîÄ¿µÄÔ´ÂëÔĶÁ»¹ÊÇ´óÓÐñÔÒæµÄ¡£
4.ÐÞ¸ÄÈÕÖ¾¼¶±ð£¬µÃµ½·á¸»µÄÈÕÖ¾ÐÅÏ¢¡£ÓÐÁËÕâ¸öΪ»ù´¡£¬ÔÙÀ´¿ªÊ¼ÕæÕýµÄÔ´ÂëÔĶÁºÍ·ÖÎö¡£
5.Ô´Âë·ÖÎöµÄʱºò£¬ÒªÊ¼ÖÕÎÊÕ⼸¸öÎÊÌâ¡£
- ½ø³ÌÒÔ¼°Ïß³ÌµÄÆô¶¯Ë³Ðò
- ¸ãÇå³þµ÷ÓùØÏµcall flow
- ÕâÒ»²¿·Ö´úÂëÊÇÔÚͬһ¸ö½ø³ÌÖÐô£¬Í¬Ò»¸öÏß³ÌÖÐô£¬ÔËÐÐÔÚͬһ̨»úÆ÷ÖÐô
- ÿһ¸öÏ̶߳¼ÒªÎÊÇå³þ£¬Ê²Ã´Ê±ºòÆô¶¯µÄ£¬Ê²Ã´Ê±ºòÍ£Ö¹µÄ
- ÏûÏ¢´«µÝµÄ·¾¶£¬Õë¶Ôÿһ¸öº¯Êý£¬¸ãÇå³þ£¬inputÊÇË´«¸øÎҵģ¬outputÒª´«¸øË£¬ÓÉÄĸöÀ´´«
- ¸ãÇå³þÉÏÊöµÄÎÊÌâÖ®ºó£¬¾Í½«×ʼÌáµ½µÄ¶ÔarchitectureµÄÁ˽â×öµ½¾ßÌå¶øÎ¢ÁË¡£ÓÐÁËÕâ¸ö»ù´¡Ö®ºó£¬ÔÙ¼ÌÐøÍùÏÂÎÊ
- µ±Ç°ÊµÏÖµÄÐÔÄÜÈçºÎ£¬±ÈÈçi/o, cpu, network Õâ¸öÐèÒª×öÏàÓ¦µÄ²âÊÔ·½ÃæµÄÊÔÑé
- µ±Ç°µÄ½â¾ö·½°¸»¹ÓÐÓÅ»¯¿Õ¼äÂ𣬱ÈÈçÕë¶ÔsparkÖеÄschedulingÎÊÌ⣬¾ÍÓÐsparrowµÄÓÅ»¯»úÖÆÌá³ö
6.Åöµ½¾ßÌåµÄÎÊÌâһʱ½â¾ö²»ÁËÔõô°ì
- ÓúÃgoogle£¬ÓúÃstackoverflow
- ½«Åöµ½µÄÎÊÌâÄ£ÐÍ»¯£¬Ð´Ò»Ð©ÑéÖ¤ÐԵĴúÂ룬»òÕßÊÇдһ¸öСµÄdemoÀ´ÑéÖ¤£¬ÎÒÔÚ½â¾öÐí¶àºÜÑýµÄbug£¬Ò²ÊDzÉÓÃÀàËÆµÄ˼·
- ÕÒµ½ÏàÓ¦µÄÓû§ÂÛ̳£¬·¢ÌûÐéÐÄÇë½Ì
- Èç¹û»¹ÊDz»ÐУ¬¾ÍÏȸéÒ»¸é£¬È¥¿´ÄÜ¿´¶®µÄµØ·½
7.±à³ÌÓïÑÔÑ¡Ôñ
- Ô´ÂëÔĶÁÖпÉÄÜÓöµ½µÄÒ»¸öÎÊÌâ¾ÍÊÇÕâ¸öÓïÑÔÊÇнü³öÀ´µÄ£¬ÎÒ¸ù±¾Ã»Ñ§¹ý£¬ÎÒÐèÒªÏµÍ³È¥ÕÆÎÕ¸ÃÓïÑÔÖ®ºó£¬²ÅÄÜÀ´¿´Ô´Âëô¡£ÎҵĿ´·¨ÊÇ¿ÉÒԱ߿´±ßѧ£¬ÔÚÕÆÎÕÓïÑԵĹý³ÌÖУ¬ÀÎÀΰÑÎÕסÕ⼸¸öÎÊÌâ
- »ù±¾Óï·¨£ºÊý¾ÝÀàÐÍ¡¢¿ØÖÆÓï¾ä¡¢º¯Êý¶¨Òå
- ÊÇ·ñÖ§³ÖFP
- ¶à̬ºÍ¼Ì³Ð
- ÏÖ´ú±à³ÌÓïÑÔ»ù±¾É϶¼»ìºÏÁËÃæÏò¹ý³Ì£¬ÃæÏò¶ÔÏóºÍº¯Êýʽ±à³ÌµÄÌØµã£¬¼´±ãÊÇC++»òнüµÄjava8¶¼Èç´Ë¡£
- StormÓÃClojureÀ´±àд£¬¶øSparkʹÓÃScala£¬¾ÍÓïÑÔµÄÆ«ºÃÀ´Ëµ£¬ÎÒ¸üϲ»¶ClojureһЩ¡£
ÉÔ΢×ܽáһϣ¬ÎÒÏëÔ´Âë·ÖÎöÐÄÖÐÒªÓÐÁ½·ù´óͼ£¬½«ÕûÌåÓë¾Ö²¿ºÜºÃµÄ½áºÏÆðÀ´Ë¼¿¼
- Ò»ÊÇÌ«¼«Í¼£¬ÒªÓÐÕûÌåÐÔµÄ˼ά£¬Òª¶ÔarchitectureÓÐÕÆÎÕ£¬¶ÔÆäÔÚÕû¸öÉú̬ϵͳÖеĶ¨Î»ÒªÇå³þ£¬¶«·½Ê½µÄ˼άǿµ÷ÕûÌåÐÔ
- ¶þÊÇÊýѧÖг£¼ûµÄµÑ¿¨¶û×ø±êÌåϵ£¬½«´óµÄÎÊÌâ²ð·ÖÖ®ºóÒ»Ò»Ñо¿£¬×öµ½¾ßÌå¶øÎ¢£¬Î÷·½Ê½µÄ˼άǿµ÷¸öÐÔ
ÓÐʲô¿ÉÒÔ²¹³ä¸ø¶ÁÕߵģ¿
ÐíÅô£ºÑ¡Ôñ×Ô¼º¸ÐÐËȤµÄ¶«Î÷£¬¼á³Ö×öÏÂÈ¥£¬Ò»¶¨»áÓлر¨£¬³ÏÈç¡¶Ò»´ú×Úʦ¡·ÖÐËù˵µÄÄÇÑù£¬¡°ÄîÄî²»Íü£¬±ØÓлØÏ족¡£
±àÂëµ½µ×ÊÇÒ»¼þ¼¼Êõ»î£¬»¹ÊÇÒ»ÏîÒÕÊõ»î£¬ÕâÊÇÒ»¸öÁîÈ˾À½áµÄ»°Ìâ¡£
Storm&SparkÔ´Âë×ß¶Á
¶ÁÔ´ÂëÊÇ¿ªÔ´ÏîÄ¿×îºÃµÄѧϰ·½Ê½£¬È»¶øµ±ÏîÄ¿¹æÄ£´ïµ½Ò»¶¨³Ì¶Èʱ£¬¾ÍÏñÐíÅôËù˵£¬Ô´ÂëÔĶÁÆäʵÊÇÒ»¸öÄæÏòµÄ¹¤³Ì£¬ÕâÆÚ¼ä±ØÐë»áÓöµ½ÖÖÖÖÎÊÌâ¡£ÕâÀïÎÒÃÇΪ´ó¼Ò·ÖÏíÐíÅôµÄSparkºÍStormÔ´Âë×ß¶Á£¬·½±ã´ó¼Òѧϰ¡£
|