±¾ÎĽ«´ø´ó¼ÒÒ»Æð̽Ë÷£¬¹ØÓÚÌÚѶÔƵ¯ÐÔ¼ÆËã²úÆ·µÄ¼¼ÊõÏà¹ØµÄ˼¿¼×ܽᡣ
ÔÚ¸÷Ðи÷Òµ¶¼Ò»¶¨³Ì¶ÈÉÏÊÊÓÃÕâ¾ä»°£ºThose who talk don¡¯t know, and those who know don¡¯t talk.
¡ª¡ª ÎÒÏ£ÍûÄã³ÉΪÄǸö¶®µÃÔÀí¡¢ÄÜ×ö³ÉÊ»¹ÀÖÓÚ·ÖÏíµÄ¸ßÊÖ¡£
ÔƼÆËãµ×²ãÀë²»¿ªÐéÄ⻯¼¼Êõ£¬ÐéÄ⻯ÈÃÈËÃÇÓа²È«¸ÐºÍÐÒ¸£¸Ð£¬Ëü½â¾öÁË×ÊÔ´µÄ°²È«¸ôÀëºÍ¸ßЧÀûÓÃÁ½´óÎÊÌâ¡£²Ù×÷ÐéÄâ»ú£¬¾ÍÏñÔÚÓ¾µÀÀïÓÎÓ¾£¬ÒòΪÓе²²¨×èÀ˵ÄÓ¾µÀÏߣ¬ÎÒÃÇÎÞÐè¹ØÐÄÅÔ±ßÓ¾µÀÀïµÄÈËÊǺÎÖÖÓ¾×Ë·ÌÚ³ö¶à´óË®»¨£¬¶øÎÒÃÇ×ÜÊÇ×ÔÓÉ×ÔÔÚ£¬·Â·ðÓµÓÐÁËÕû¸öÓ¾³Ø¡£
ÌÚѶÔƵ¯ÐÔÉìËõ£¨AutoScaling£©ÊôÓÚIaaS²ãµÄºËÐļÆËã²úÆ·£¬²¢ºÍÖܱßÏà¹Ø²úƷͨÁ¦Ð×÷£¬ÎªÓû§¸ßЧ¹ÜÀíÔÆ·þÎñÆ÷¼¯ÈºµÄÀ©ËõÈݻ¡£ÌÚѶÔÆ»ùÓÚKVMµÄÐéÄ⻯¼¼Êõ½â¾öÁ˵¥½ÚµãÎïÀí»úÉÏÐéÄâ»úµÄ¹ÜÀí£¬¶øÆäÉϵÄVStationµ÷¶ÈϵͳÍêÃÀ½â¾öÁË´ó¹æÄ£·Ö²¼Ê½µÄÎïÀí»ú¼¯ÈºµÄ¹ÜÀí¡¢ÐéÄâ»ú×ÊÔ´ÒÔ¼°ÈÎÎñµÄµ÷¶È¡¢¶¯Ì¬Ç¨ÒƵȺËÐÄÎÊÌ⣬²¢Ö±½ÓÖ§³ÖÁËÔÆ·þÎñÆ÷²úÆ·£¨CVM£©µÄʵÏÖ£¬Ò²ÊÇÉϲã¼ÆËã²úÆ·¡ª¡ªµ¯ÐÔÉìËõ¡¢ÇáÁ¿Ó¦Ó÷þÎñÆ÷£¨Lighthouse£©¡¢ÅúÁ¿¼ÆË㣨Batch£©µÈÔÆÉÏÍйܼÆËãÀà²úÆ·µÄ¼áʵ»ù´¡¡£µ¯ÐÔÉìËõÕûºÏÁËÔÆ·þÎñÆ÷¡¢¸ºÔؾùºâ£¨CLB£©¡¢ÔƼà¿ØµÈ¶àÏî·þÎñµÄºËÐÄÄÜÁ¦£¬ÈÃÓû§·½±ãµØͨ¹ýÔÆAPI/¿ØÖÆ̨ϵͳÁé»îµØ¹ÜÀíÔÆ·þÎñÆ÷¼¯Èº£¬¹²Í¬ÎªÓû§µÄÒµÎñ¶¯Ì¬À©ËùÈݱ£¼Ý»¤º½¡£Í¬Ê±£¬µ¯ÐÔÉìËõ»¹ÊÇÌÚѶÔÆÈÝÆ÷·þÎñ£¨TKE£©µÄ»ù´¡Ö§³Ö¡£¸÷¸öÖܱ߷þÎñ¹Øϵ£¬ÈçÏÂͼËùʾ¡£
VStation×÷Ϊ¼ÆËã²úÆ·CVMµÄµ×²ã·Ö²¼Ê½µ÷¶Èϵͳ£¬ÆäÔÚ×ÊÔ´¹ÜÀíά¶ÈÉϵÄʵ¼ÊЧ¹ûÊÇ´ó´óʤ³ö±ËʱµÄOpenStackµÄ¡£ÆäÖÐÓÐÈô¸ÉÔÒò£¬×îÖØÒªÌåÏÖÔÚÆä×é¼þ¼äµÄͨÐÅ·½Ê½ÉÏ¡£¶þÕßËäÈ»¶¼ÓÃÁËÏûÏ¢¶ÓÁУ¬µ«OpenStack½«ÆäÊÓΪRPCµÄʵÏÖ·½Ê½£¬¸÷¸ö×é¼þ±Ë´ËͨѶЧÂʵͣ¬¶øÇÒ»¹Éæ¼°·þÎñ×¢²á·¢Ïֵȸ´ÔӵĹÜÀí£¬ÈçÓÒͼËùʾ¡£¶øVStationµÄ×é¼þͨÐÅÈç×óͼ£¬ÏûÏ¢¶ÓÁÐ×÷ΪÏûÏ¢×ÜÏߣ¬¶ø¸÷¸ö΢·þÎñ×é¼þÖ»ÐèÒª¹ØÐÄͬMQͨÐÅ£¬¶øÎÞÐè¹Ø×¢±Ë´ËµÄ´æÔÚ¡£
ÓëÆä˵VStationÊǶÀ±Ùõ辶µÄ´´ÐÂʵ¼ù£¬µ¹²»Èç˵ÊÇVStationµÄ×÷Õ߶ÔÏûÏ¢¶ÓÁÐÓÐןü¼ÓÉî¿ÌµÄÈÏÖªºÍÀí½â£¬°ÑÎÕÁËÏûÏ¢¶ÓÁеı¾ÖÊ¡£ÌÚѶÔƺóÐøµÄ²úÆ·µÈ£¬Ò²¶¼ÔÚÉè¼ÆÉϲ»Í¬³Ì¶È½è¼øÁËÕâÖÖÏûÏ¢×ÜÏßµÄģʽ¡£
µ¯ÐÔÉìËõ£¨AutoScaling£©£¬×÷ΪIaaS²ãµÄºËÐÄÍйܷþÎñ£¬ÆäÔËתÊÇ·ñÎȶ¨¸ßЧ£¬Ö±½ÓÌåÏÖÁËÔÆ·þÎñÉ̵ļ¼ÊõˮƽºÍרҵÐÔ£¬²¢»áÖ±½Ó·´Ó³ÎªÓû§¶ÔÔÆ·þÎñÉ̵IJúÆ·µÄÐÅÐÄ¡£¹ÙÍøµÄAS¼ò½é¿ÉÒÔ¸ÅÀ¨ÎªµäÐͳ¡¾°£º¡°Ï÷·åÌî¹È¡±¡ª¡ª¸ù¾ÝÒµÎñ¸ºÔض¯Ì¬µ÷Õû×ÊÔ´£¨ÔÆ·þÎñÆ÷¼¯Èº£©´óС£¬ÔÚÓÅ»¯×ÊÔ´³É±¾µÄͬʱ²»Ê§ÒµÎñµÄ¸ß¿ÉÓÃÐÔ£¨High Availibilitiy£©¡£µ«Æäʵ¶ÔÓÚ¼¯ÈºµÄÈÕ³£¹ÜÀí£¬Í¨¹ýµ¯ÐÔÉìËõÒ²ÊÇ¿ÉÒÔ¼«´óÌáÉýЧÂʵģ¬ËùÒÔÄÇôʲôʱºòÓÃASÄØ£¬´ð°¸ÊÇ£º
¡°Èç¹ûÄãµÄÒµÎñÐèÒª1̨ÒÔÉϵÄÔÆ·þÎñÆ÷£¬Äã¾Í¸Ã¿¼ÂÇÓÃASÁË¡£¡±
µ¯ÐÔÉìËõ£¨AutoScaling£©Ö÷Òª½â¾öÁ˺áÏòˮƽÀ©Èݳ¡¾°ÏµÄÎÊÌ⣨scale out£©£¬¼´Í¨¹ýÔö¼ÓÔÆ·þÎñÆ÷ʵÀýÊýÀ´Ôö¼Óϵͳ·þÎñÄÜÁ¦¡£¾ÍÏñ¾Û²ÍÈËÊýÔö¼Óʱ£¬Ã¿ÀࣨÈȲˡ¢ÌðµãµÈ£©²Ë¶àÉÏÒ»·Ý²»Í¬µÄ£¬ÈËÔÙ¶àʱÉõÖÁ¼ÓÒ»¸öͬÑùµÄÕû×À£¬¶ø²»ÊÇÿ¸ö²Ë¶¼À´Ò»¸ö¡°´ó·ÝµÄ¡±£¬¼´Í¨¹ýʵÀý¸±±¾ºÍ¹æÄ£»¯À´ÌáÉýЧÂÊ£¬½µµÍ×ۺϳɱ¾¡£
ÔÚÕæʵ³¡¾°ÖУ¬ÒµÎñ¼Ü¹¹ÊÇ°éËæÒµÎñ·¢Õ¹¶ø²»¶ÏÑݱäµÄ¡£
´ÓµÚÒ»½×¶ÎµÄµ¥Ìå·þÎñ×îС»¯ÑéÖ¤£º
µ½¶àÖնˡ¢¶àºǫ́·þÎñµÄ¶¯¾²²ð·Ö£º
ÔÙµ½¸ü¸´ÔÓµÄ΢·þÎñ»¯£º
ÌÚѶÔƵÄÔÆ·þÎñÆ÷£¨CVM£©ºÍµ¯ÐÔÉìËõ£¨AutoScaling£©½«Åã°éÓû§ÒµÎñ·¢Õ¹µÄÿһ¸ö½×¶Î£¬Ò»Æð¼ûÖ¤Óû§µÄÒµÎñºÍ¼Ü¹¹µÄÈÕÐÂÔÂÒì¡£
µ±È»£¬µ¯ÐÔÉìËõ£¨AutoScaling£©·þÎñ±¾ÉíÒ²ÊdzÖÐøÐø¸ßËÙÔö³¤µÄÒµÎñ£º
µ¯ÐÔÉìËõ£¨AutoScaling£©×÷ΪIaaS²ã»ù´¡·þÎñ£¬Æä±¾Éí×Ôµ®ÉúÖ®³õ¾ÍÒ»Ö±¸ßËÙÔö³¤£¬ÆäµäÐÍÖØÒª¿Í»§È磺³¬²ÎÊý¡¢Ð¡ºìÊé¡¢VIPKid¡¢×÷Òµ°ï¡¢Ã¢¹ûTV¡¢Àó֦΢¿Î¡¢Supercell¡¢EpicGameµÈ£¬¸²¸Ç¸÷¸öÐÐÒµ¡£ËüµÄÓû§Á¿ºÍÉìËõ»î¶¯ÊýÖÁ½ñÈÔ±£³Ö³ÖÐøÔö³¤£¬ÒÑÖ§³Ö×ÅÓû§ÉÏ°ÙÍòºËÊýµÄ¼¯Èº¹ÜÀí¡£
µ¯ÐÔÉìËõ£¨AutoScaling£©µ½µ×ΪÓû§½â¾öÁËʲôÎÊÌâÄØ£¿¡¶The Art of Scalability¡·ÊéÖÐÌáµ½µÄÀ©Õ¹cube£¨ÒµÎñ¡¢¸±±¾¡¢Êý¾Ý·ÖƬά¶È£©¹ãΪÈËÖª£¬²»¹ýÊéÖеÄ×óͼÌáµ½µÄ³£¼û·½·¨ÂÛ»òÉè¼ÆģʽÆäʵ¸ü¼ÓÓÐÖ¸µ¼ÒâÒ壬ÔÚÎȶ¨£¨¸ß¿ÉÓÃÐÔ£©¡¢¿ìËÙÉÏÏߣ¨Time-to-Market£©ºÍ³É±¾½ÚÊ¡ÕâÈý´ó×·ÇóÖеÄȨºâÆäʵ²ÅÊǹ¤³ÌÖÐÕæÕýµÄÒÕÊõ£¬¶øÉè¼ÆÉϵĺáÏòÀ©Õ¹£¨Scale Out£©ÊÇͬʱ½â¾öÕâÈý¸öÎÊÌâµÄΪÊý²»¶àµÄ·½·¨Ö®Ò»£¨ÁíÁ½¸öÊÇÒì²½Éè¼ÆºÍ×Ô¶¯»¯£©¡£
Tips: ÕæʵµÄ¿Í¹ÛÊÀ½çûÓÐËùνͬ²½£¬Ö»ÓÐÒì²½£»Ã»ÓиüУ¬Ö»ÓдòÆƺóµÄÖؽ¨¡£Ëùν¡°Í¬²½¸üС±ÄÇÖ»²»¹ýÊÇÈËÃǵĻÃÏ롣ϵͳÉè¼ÆʱÊÔ×ŶàÓµ±§Ê¼þÇý¶¯£¨event-driven£©ºÍ²»¿É±äÐÔ£¨immutability£©°É£¬Éú»î»á¼òµ¥²»ÉÙ¡£
µ¯ÐÔ £¨Elasticity£©¡ª¡ª As the extension, so the force. µ¯ÐÔ¾ÍÊÇÎïÌåÊܵ½ÍâÁ¦Ê±±äÐΣ¬²¢ÇÒµ±¸ÃÍâÁ¦½â³ýʱ»Ö¸´Æä³õʼÐÎ×´µÄÄÜÁ¦¡£¹ÌÌåÎïÌåÊܵ½ÍâÁ¦Ê±½«±äÐΡ£Èç¹û²ÄÁÏÊǵ¯ÐԵģ¬µ±ÕâЩÁ¦±»ÒƳýʱ£¬ÎïÌ彫·µ»Øµ½Æä³õʼÐÎ×´¡£°´¹ãÒåºú¿Ë¶¨ÂÉ£¬Ó¦Á¦£¨stress£©´óСºÍÓ¦±ä£¨strain£©³ÉÕý±È¡£
µ¯ÐÔÉìËõ£¨ÉõÖÁÕû¸öÔÆ·þÎñ£©½â¾öµÄ×î¹Ø¼üÎÊÌâÊÇ£ºÈÃÒµÎñÎÈÎȵػîÏÂÈ¥£¬³ÖÐø²úÉúÉç»á¼ÛÖµ¡£ÊµÏÖʱÁ½¸öºËÐÄ˼Ïë¹á³¹Ê¼ÖÕ£º
µÚÒ»£¬Óб¸ÎÞ»¼£¨Design for failure, and nothing will fail£©.
µÚ¶þ£¬Í³Ò»¾ö²ß£¬Áé»îÖ´ÐС£¶¥²ãÖ¸ÁîÔÚ¸÷¸öÖ´Ðв㼶¼ä¡°ÐÐÕþ·¢°ü¡±¡£ÖصãÔÚÓÚ¹ãÒåµÄ»úÖÆ£¨machanism£©²ßÂÔ£¨strategy£©·ÖÀ룬strategy¿ÉÒÔÊǾö²ß/²ßÂÔ/Éè¼Æ/µ÷¶È/Ëã·¨£¬mechanism¿ÉÒÔÊÇ»úÖÆ/Ö´ÐÐ/¼ÆËã/IO/ÈÎÎñʵÏÖ/·þÎñµÈ¡£
½ÓÏÂÀ´½«¾ßÌå˵Ã÷¡£
ÉìËõ»î¶¯¡ª¡ªÈÃÒµÎñ»Ö¸´µÄ¡°µ¯Á¦¡±¡£µ¯ÐÔÉìËõµÄÉìËõ»î¶¯°üÀ¨À©ÈÝ¡¢ËõÈÝ¡¢²»½¡¿µÊµÀýÌæ»»µÈµÈ¡£µ¯ÐÔÉìËõµÄºËÐľÍÊÇÉìËõ»î¶¯µÄÉè¼ÆʵÏÖ¼°ÆäÉúÃüÖÜÆڵĹÜÀí¡£
ÉìËõ»î¶¯µÄ¸´ÔÓ¶ÈÈçºÎ£¿¿ÉÒÔÈÏΪÿ¸öÉìËõ»î¶¯ÊÇÓÉÈô¸É¸ö×Ó²½Ö裨Step£©×é³ÉµÄ£¬ÍùÍùÿ¸öStep¶¼Éæ¼°ÖÁÉÙÒ»´ÎµÄÍⲿ΢·þÎñ»òAPIµ÷Ó㬿ÉÒÔ¼òµ¥µØÀí½âΪһ´ÎÒì²½IOÈÎÎñ£¬ÆäÖмÈÓд®Ðеģ¬Ò²ÓбØÐë²¢Ðеģ¬±Ë´ËµÄµ÷ÓÃÁ´Â·Ò²ÓÉÔËÐÐʱµÄ½á¹û¶¯Ì¬µ÷Õû¡£
µ±È»£¬ÕæʵµÄ²½ÖèÒѾÊÇͼÖеÄÈô¸É±¶£¬´ïµ½ÉÏ°Ù²½£¬¸´ÔÓ¶ÈÒ²¸üÉÏÁËÒ»¸ö¼¶±ð¡£²½Öè·ÖΪ»î¶¯¼¶±ðµÄ²½Ö裨ÏÂͼÀ¶È¦£©ºÍʵÀý¼¶±ð£¨ÏÂͼÂÌȦ£©µÄ²½Ö裬ÈçͼËùʾ¡£¼òµ¥ËãÏ£¬Èç¹û100¸öÉìËõ»î¶¯£¬Ã¿¸öÀ©ÈÝ100̨ÔÆ·þÎñÆ÷µÄ»°£¬ÄÇôͬһʱ¿Ì£¨»ò¼«¶Ìʱ¼äÄÚ£©£¬°´Í¼ÖС°×îÌìÕæµÄ¡±Çé¿öÏ£¬Ò²ÒªÉÏÍò¸öIOÇëÇó£¬Êµ¼ÊÖеIJ½ÖèÊýÁ¿Æäʵ»¹Òª´óÁ½¸öÊýÁ¿¼¶¡£ËùÒÔ£¬ÉìËõ»î¶¯£¬¼´µ¯ÐÔÉìËõÓᄈϵġ°Ö´ÐÐÈÎÎñ¡±£¬ÆäʵÏÖÄѶȺ͸´ÔÓ¶ÈÊǾ߱¸Ò»¶¨Í¨ÓÃÐԵģº¼´ºǫ́Òì²½ÈÎÎñÁ÷³Ì¡¢¶à×é¼þ/΢·þÎñ¼ä±Ë´Ëµ÷Óá¢ÒµÎñÏà¹ØµÄ¸´ÔÓ·ÖÖ§Âß¼Åжϡ¢ÈÎÎñµÄ¶à״̬£¨Òì³£/ÖØÊÔ/È¡Ïû£©¡¢Ïà¹ØÉæ¼°µÄÔªÊý¾ÝÁ¿´ó¡¢Óû§ÈÎÎñ¼äµÄÉÏÏÂÎĸôÀ룬ÒÔ¼°²¢·¢ÐÔÄܺÍÎȶ¨ÐÔ¶¼ÒªÇ󼶸ߡ£
Èç¹ûÄã×ö¹ýºǫ́µÄÒµÎñ¿ª·¢£¬ÉÏÊöÇé¾°ºÍÐèÇóÊÇ·ñ¸Ð¾õÇ×ÇÐÊìϤÄØ£¿
¿ÉÒÔ˼¿¼Ï£ºÕâÀàÈÎÎñÊǼÆËãÃܼ¯ÐÍ£¨Compute Bound£©»¹ÊÇIOÃܼ¯ÐÍ£¨I/O Bound£©ÄØ£¿
ʵÏÖͳһµÄ¾ö²ßÉè¼Æ£¬Í¨³£ÐèÒªÈÎÎñÁ÷WorkFlowµÄ²½Ö趨ÒåÀ´Íê³É¡£ÄÇôÎÒÃDzο¼ÏÂͼ£¬¹Û²ìÏÂÕæÕýµÄFlowʵ¼ÊÊÇʲôÑù×Ó£º
ÎÒÃDz»ÄÑ·¢ÏÖ£º
1¡¢ÏÖʵµÄFlow²»»áÄæÁ÷£¬ÓÀÔ¶ÏòÇ°£¬Ã»ÓÐrollback£¨»Ø¹ö£©£»
2¡¢ÏÖʵµÄFlow²»ÊÇÒ»ÌõÏߣ¬±ØÓÐÈô¸ÉÖ§Á÷£¬¶øËùνµÄÖ÷Á÷²»¹ýÊÇ×î´ó£¨¸ÅÂÊÁ÷¾£©µÄÒ»Ö§£»
3¡¢ÏÖʵµÄFlowÖеÄ·¾¶ÖеÄÿһ¸öµã£¬¶¼ÊǶÀÒ»ÎÞ¶þµÄ£¬ÓÐ×Ô¼ºµÄÉÏÏÂÎÄ¡£²»¿ÉÄÜÁ½´Î̤ÈëͬһÌõºÓÁ÷¡£
ËùÒÔ×ܽ᣺ÓôøContextµÄDAG£¨ÓÐÏòÎÞ»·Í¼£©³éÏóFlow¡£²»ÒªÓÃÀàËÆrollback/cleanup¡¢retry¡¢exceptionÕâЩ¸ÅÄîÀ´ÊµÏֵײã¿ò¼Ü£¬ÕâЩ¸´ÔӵĸÅÄî¿ÉÒÔÓУ¬²»¹ý×îºÃ·ÅÔÚ¸üÉϲã³éÏó¡£
ÁíÍ⣬ҪÞðÆúÆÓËع¢Ö±µÄÏßÐÔ˼ά£¬Ïà±È³É¹¦£¨Success£©»òʧ°Ü£¨Failure£©£¬¹Ø×¢¡°ÏÂÒ»²½È¥ÄÄ¡±£¨Next£©ÒÔ¼°¡°¸É¾»µØÍê ³É¡±£¨Done£©¸ü¼ÓÖØÒª¡£ÒòΪǰ¶þÕß¿ÉÄܶ¼ÓкܶàÇé¿ö£¬±ÈÈçʧ°ÜµÄÔÒòºÍ½á¹ûÒ»¶¨ÓжàÖÖ£¬ÈÎÎñµÄ³É¹¦»òʧ°Ü¶¼Ö»ÊÇDAGÀïµÄÒ»ÌõPath¶øÒÑ£¬Ã»Óб¾ÖʲîÒì¡£·ÇºÚ¼´°×µÄ¶þÔª¾ö²ßÍùÍùÊǼ«²»³ÉÊìÇÒÊÊÓ÷¶Î§ÏÁյġ£
µ±È»£¬Èç¹û֮ǰÊìϤÏßÐԵĻعö˼ά·½Ê½£¬Í¨¹ý¼òµ¥µÄת»»£¬¿ÉÒÔ½«Á÷³Ì¹éÔ¼µ½DAGÐÎʽµÄÃèÊö£¬Èçͼ£ºS2ÊÇS1µÄ»Ø¹öÇåÀí²½Ö裬S4ÊÇS3µÄ»Ø¹öÇåÀí²½Ö裬×ó²àÊÇÏßÐԻعöģʽ£¬ÓÒ²àÊǹéÔ¼ºóµÄͬ¹¹DAG¡£
Íê³ÉÁËͳһµÄ¾ö²ßÉè¼Æ£¬ÔÙÀ´¿´¿´Áé»î¸ßЧµÄÖ´ÐС£ÒÔϳ¡¾°ÊÇÈËÓëÈËÖ®¼ä±È½ÏÓÅÑŵÄ×éÖ¯·½Ê½£¬¹ÜÏÒ½»ÏìÀÖ¶ÓµÄģʽ£º
Ò»¸öÖ¸»Ó£¬Èô¸É¸öÀÖÆ÷£¨ÏÒÀÖ¡¢Ä¾¹Ü¡¢Í¹Ü¡¢´ò»÷£©×飬´ó¼ÒÒ»ÆðͨÁ¦ºÏ×÷Íê³ÉÒ»´ÎºÍгµÄÑÝ×àÁ÷³Ì¡£
¶ÔÓÚÕû¸öÀÖÍÅ£¬Ö¸»ÓÊÇ´óÄÔ£¨CPU Bound£©£¬¸÷¸ö×éµÄÀÖʦÊÇÊֽţ¨IO Bound£©£»¶ÔÓÚÖ¸»ÓÀ´Ëµ£¬ËûÒ²ÓÐ×Ô¼ºµÄ´óÄԺͻÓÎèÖ¸»Ó°ôµÄË«ÊÖ¡£ËûÃǶ¼ÊÇActor£¬ÇÒ»¥ÏàÓÐÓÅÑŵÄͨѶ·½Ê½¡£
Ö¸»ÓÒ»¸ö¿´ÆðÀ´ÊÇÑÝ×àµÃÇéÐ÷½Ú×à´óÄÔ£¬µ«Ëû²¢Ã»ÓÐÖ±½ÓÏ´ïÃüÁÿ¸öÀÖʦ£¬ÄÇô±³ºóÕæÕý¸ßЧµÄ×éÖ¯Á¦Á¿ÓÖÊÇʲôÄØ£¿
ÏÂͼÊǵ¯ÐÔÉìËõ£¨AutoScaling£©µÄºǫ́¼Ü¹¹Í¼¼òµ¥Ê¾Ò⣺´ÓAPIµ½ÈÎÎñµ÷¶ÈÆ÷¡¢¶¨Ê±ÈÎÎñ´¥·¢Æ÷ÒÔ¼°Öܱß×é¼þ£¬¶¼ÖÁ¹ØÖØÒª¡£¶ÔÓÚÉìËõ»î¶¯µÄʵ¼ÊÖ´ÐУ¬ÆäÒýÇæ×é¼þÔÚ×îºó·½£¬¼´Í¼ÖкìÉ«µÄActivator·þÎñ×é¼þ£¬×¢ÒâËüͬʱҲÊÇÒ»¸öMQÈÎÎñÏû·ÑÕߣ¬ºÍÄãµÄÒµÎñÖеÄͨÓÃÏû·ÑÕß×é¼þÎÞÌ«´ó²îÒì¡£
·Å´óÉÏÊöµÄActivator£¬ÎÒÃÇ¿´µ½´óÖÂÈçϵÄÀàËƽ»ÏìÀÖ¶ÓµÄÄÚ²¿ÊµÏÖ¡£ÆäÖкìÉ«µÄ¾ÍÊDzßÂÔºËÐÄ£ºÉìËõ»î¶¯²½Ö趨Ò壬¼´WorkFlowµÄ¶¨Ò壬ҲÊÇÈ«²¿»î¶¯µÄ¡°ÀÖÆס±¡£ActivatorºËÐÄÒýÇ渺ÔðÉìËõ»î¶¯µÄ¸ßЧִÐм°ÉúÃüÖÜÆڵĹÜÀí¡£¿É¼òµ¥Àà±È£º
½ø³Ì = ³ÌÐò + ÐéÄâ»ú £¨½âÊÍÆ÷ + ÔËÐÐʱ + ¿âº¯Êý£©
ÉìËõ»î¶¯ = ²½ÖèÅäÖà + Ö´Ðпò¼Ü£¨ºËÐÄÒýÇæ + ÒµÎñ´¦Àíº¯Êý£©
ÿ¸öÖ´Ðе¥Ôª¶¼ÊÇReactorÄ£Ð͵ÄÒ첽ʼþ´¦ÀíÆ÷£ºÉÏÒ»²ãµÄ¡°Ö¸»Ó¡±Ö´Ðе¥ÔªActor²éѯ¹¤×÷Á÷²½Öè±í£¬²¢¸ù¾ÝÏÂÒ»²ãµÄÖ´Ðзµ»Ø½á¹û¼ÆËãÏÂÒ»²½µÄÈÎÎñ²¢·Ö·¢¸øϲ㣻ÏÂÒ»²ãÖеÄActorͨ¹ý×ÜÏߺÍÉϲ㡰ָ»Ó¡±Ö´Ðе¥Ôª¹µÍ¨¡£ÕâÀïÃæÓÐÒ»¸ö·ÖÐΣ¨Fractal£©µÄÉè¼Æ¿¼Á¿£¬ÀàËƵݹéµÄ¸Ð¾õ£¬ÕâÖÖ·ÖÐÎÊ÷×´½á¹¹ÊÇ×î×ÔȻҲ×î¸ßЧµÄ×éÖ¯·½Ê½£¬¾¡¹ÜÀíÂÛÉÏ¿ÉÒÔÎÞÏÞ²ã´ÎµÄÀ©Õ¹£¬Êµ¼ùÓ¦ÓÃÖÐÒ»°ãËIJãÒÔÄÚ×ã¹»ÁË¡£Êµ¼ùÉÏ£¬¿ÉÒÔ¿¼ÂÇ´ÓгÌ/Ïß³Ì/½ø³Ì/½Úµãµ½Î¢·þÎñ¸÷¼¶±ðÀ´·Ö±ðµÝ½øʵÏÖ¡£ÉÏͼֻÊǵ¥Ïß³ÌÄڵĶþ²ã·ÖÐÍÖ´ÐÐÒýÇæµÄÉè¼ÆʾÀý¡£
ϵͳÉè¼Æʵ¼ùÏȽéÉܵ½ÕâÀï¡£¹ØÓÚÐÔÄÜ£¬ÔÙ²¹³äÁ½¸öÈÃÆäÖʱäµÄʵÏÖϸ½Ú¡£
ϸ½Ú1£º×îСµÄÖ´Ðе¥Ôª£¨Ô×ÓActor£©Í¨¹ýeventfdÀ´½øÐб˴˵ÄÏûϢ֪ͨ£¬¸ßЧÀûÓÃÄں˽ӿÚ/×ÊÔ´£¬±£Ö¤¸ßÐÔÄÜ¡£eventfd-with-epoll ¿ÉÒÔ±£Ö¤µ¥½Úµã°ÙÍò¼¶µÄʼþ²¢·¢£¬¼«ÆäÊʺÏÕâÀà¸ßʼþÍÌÍÂÂʵij¡¾°¡£
ϸ½Ú2£ºÊÂÎñÏûÏ¢Copy-on-WriteʵÏÖ£¬Í¨¹ýImmutability½ÚÊ¡¿Õ¼äͬʱ±£Ö¤Í¨Ñ¶°²È«¡£×¢Ò⣬ÕâÀïÎÒÃÇÍƼöÓÃÏûÏ¢´«µÝ£¨Massage Passing£©À´ÊµÏÖÄÚ´æ¹²Ïí£¨Memory Sharing£©£¬¶ø²»ÊÇÏà·´¡£
ÖصãÎÞÒÉÊDzßÂÔ»úÖÆ·ÖÀ루Separation mechanism from policy£©£¬ËüÊÇ´¦Àíͳһ²ßÂÔºÍÁé»îÖ´ÐÐÖ®¼äµÄì¶ÜµÄ×î´óÇ°ÌáºÍÐÐÖ®ÓÐЧµÄ·½·¨¡£Ò²ÊDzÙ×÷ϵͳÀï×îÖØÒªµÄ¸ÅÄîÖ®Ò»£¬ÏàÐÅÄ㻹ÓÐÓ¡Ï󡣶ÔÓÚÒµÎñÐͺǫ́¼ÆËãÂß¼£¬ºËÐÄÎÊÌâÍùÍùÒ»°ãÊôÓÚÁ½´óÀࣺ
1¡¢×ÊÔ´¹ÜÀí£ºÌصãÔÚÓÚ´ó¹æÄ££¬¾²Ì¬£¬¿ÉÒÔ»¯ÎªºóÕß½â¾ö
2¡¢ÈÎÎñ¹ÜÀí£ºÄѵãÔÚÓÚÖ´Ðе÷¶È¡¢ÉúÃüÖÜÆÚ¸´ÔÓ״̬¡¢¸ß²¢·¢¡¢ÇÒ¶¯Ì¬¾ö²ß
¶ÔÓÚ¾ö²ßͳһµÄËßÇó£¬ÔÚÓÚ¿ÉÁé»îÉè¼Æ×éºÏ¡¢¿É¿¿¿É¿Ø£¬ÎÒÃÇͨ¹ý²ßÂÔ²ã²ÉÓÃDAGÈÎÎñÁ÷ÕÅÁ¿±àÅÅÀ´ÊµÏÖ£»
¶ÔÓÚÖ´ÐÐÁé»îµÄËßÇó£¬ÔÚÓÚ¸ßÐÔÄܺͶ¨ÖÆ»¯£¬ÎÒÃÇͨ¹ýÖ´Ðвã²ÉÓ÷ÖÐÎReactorÖð²ã½¨Ä£ÊµÏÖ¡£
ϵͳÉè¼ÆÉÏ£¬¿ÉÒÔÑØ×ÅÕâ¸ö˼·½øÐÐÓÅ»¯£º½«ÐèÇóÎÊÌâת»»Îª¼ÆËãÎÊÌ⣬ÔÙת»»ÎªIOÎÊÌ⣬ÔÙת»»Îª×éºÏÉè¼ÆÎÊÌ⣬×îÖÕ»¯Îª²ßÂÔÎÊÌ⣬ÎÒÃǵÄϵͳ½«ÒòÂú×ãÈ˵ÄÐèÇó¶øÓú·¢ÔöÖµ¡£
±¾ÎÄËùÊöµÄ¼¼ÊõÉè¼Æ˼ÏëºÍÏà¹Ø·½·¨ÂÛÒÑÔÚÌÚѶÔƵ¯ÐÔÉìËõ£¨AutoScaling£©¡¢ÇáÁ¿Ó¦Ó÷þÎñÆ÷£¨Lighthouse£©µÈ¶à¸ö²úÆ·ÖÐʵ¼ùÓ¦Ó㬲»½öÓÐЧµØÖ§³ÖÁËÕâЩºËÐÄÒµÎñµÄ¿ìËÙµü´ú¡¢¸ÄÉÆÁË¿ª·¢Ð§ÂÊ£¬¸üÖØÒªµÄÊÇ´ó¼ÒÈÕ³£µÄ´úÂëߣµÃ¸ü¿ªÐÄÁË¡£Èç¹ûÄãÒ²ÓÐÐËȤ£¬»¶ÓÒ»ÆðÀ´ÌÖÂÛ°É~
±¾ÎÄÄÚÈÝÔ´ÓÚµÚÊ®Èý½ìÖйúϵͳ¼Ü¹¹Ê¦´ó»áSACC2021µÄÖ±²¥·ÖÏí¡¶ ÌÚѶÔƵ¯ÐÔÉìËõ¹¤³ÌÓÅ»¯Ì½Ãؼ¼Êõ¡·
¹ØÓÚ×÷ÕߣºÏªÍáÍá 2015Äê¼ÓÈëÌÚѶ£¬×¨×¢ÔÆ·þÎñ²úÆ·Ïà¹ØÁìÓòµÄ¼¼Êõ̽Ë÷¡£¸ºÔðÔÆ·þÎñÆ÷¡¢µ¯ÐÔÉìËõ¡¢ÇáÁ¿Ó¦Ó÷þÎñÆ÷¡¢GPUµÈ²úÆ·µÄÑз¢¼°ÔËÓª¹¤×÷¡£ ³¤ÆÚ¹Ø×¢¸ßÐÔÄܼ¯Èº¹ÜÀí¡¢·Ö²¼Ê½ÈÎÎñµ÷¶Èϵͳ¡¢WebÈ«Õ»¿ª·¢Ïà¹Ø·½Ïò¡£
δÍê´ýÐø£¬¾´ÇëÆÚ´ý...
±³¾° ÎÒÃÇÖªµÀ Èç¹ûÔÚKubernetesÖÐÖ§³ÖGPUÉ豸µ÷¶È ÐèÒª×öÈçÏµĹ¤×÷ ½ÚµãÉÏ°²×°...
TIOBE ¹«²¼ÁË 2021 Äê 3 Ôµıà³ÌÓïÑÔÅÅÐаñ¡£ ±¾Ô TIOBE Ö¸ÊýûÓÐʲôÓÐȤµÄ±ä...
Òç¼Û ÓòÃû µÄÐø·Ñ¼Û¸ñÈçºÎ£¿Í¨³£À´Ëµ£¬ÒòΪÒç¼ÛÓòÃûµÄ¼ÛÖµ¸ßÓÚÆÕͨÓòÃû£¬ËùÒÔÒç...
±¾ÎÄתÔØ×Ô΢ÐŹ«Öںš¸bugstack³æ¶´Õ»¡¹£¬×÷ÕßС¸µ¸ç ¡£×ªÔر¾ÎÄÇëÁªÏµbugstack...
±¾ÎÄתÔØ×Ô¹«ÖںŶÁоÊõ(ID£ºAI_Discovery)¡£ ÕâÒ»¿ÌÄãÕýÔÚÓ¦¶ÔʲôÌôÕ½?Õâλǰ...
ÏëÁ˽â¸ü¶àÄÚÈÝ£¬Çë·ÃÎÊ£º 51CTOºÍ»ªÎª¹Ù·½Õ½ÂÔºÏ×÷¹²½¨µÄºèÃɼ¼ÊõÉçÇø https://...
Ç°ÑÔ Í³¼Æ¿Æѧ¼ÒʹÓý»»¥Ê½µÄͳ¼Æ¹¤¾ß(±ÈÈçR)À´»Ø´ðÊý¾ÝÖеÄÎÊÌ⣬»ñµÃÈ«¾°µÄÈÏ...
½ü¼¸Ä꣬»¥ÁªÍøÐÐÒµÅ·¢Õ¹£¬ÔÚ»¥ÁªÍøÀ˳±µÄ³å»÷Ï£¬»¥ÁªÍø´´ÒµÒѳÉΪһÖֱȽÏ...
»ù±¾½éÉÜ ¸ø¶¨ n ¸öȨֵ×÷Ϊ n ¸öÒ¶×ӽڵ㣬¹¹ÔìÒ»¿Å¶þ²æÊ÷£¬Èô¸ÃÊ÷µÄ´øȨ·¾¶³¤...
ÔÚPython¿ª·¢¹ý³ÌÖУ¬ÎÒÃÇÄÑÃâ»áÓöµ½¶àÖØÌõ¼þÅжϵÄÇé¿öµÄÇé¿ö£¬´Ëʱ³ýÁËÓúܶà...