Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÃæÏòÈÝÆ÷¼¼Êõ×ÊÔ´µ÷¶È¹Ø¼ü¼¼Êõ¶Ô±È
 
×÷ÕߣºÀîÓêǰ ÑîÐÇ·É  À´Ô´;InFoQ ·¢²¼ÓÚ 2016-11-29
  1519  次浏览      27
 

1.×ÊÔ´·ÖÅäÀíÄî¿´ÒÑÓе÷¶ÈÆ÷

ÔÚ×ÊÔ´µ÷¶ÈÆ÷ÖУ¬×ÊÔ´·ÖÅäÀíÄÅÄÂô¡¢Ô¤Ëã»òÇÀÕ¼£¬ÍùÍùÊÇ»ìºÏÔËÓá£×ÊÔ´·ÖÅäÀíÄÕÛÉä³öÁË×ÊÔ´µ÷¶ÈÆ÷ËùÔÚµÄÉú̬ϵͳ»òÕß˵ÖܱßÅäºÏϵͳµÄ³ÉÊì¶È¡¢ÔËÐÐϰ¹ß¡£ÀýÈ磬Google´Ó×îÔçµÄ¹ã¸æÅÄÂô»úÖÆÆð£¬ÅÄÂôµÄÀíÄîÔÚGoogleÄÚ²¿¾ÍÐγÉÁËÒ»ÖÖ¾­Ñ顢ѡÔñµÄ°®ºÃ»òÕßÄÚ²¿µÄĬÆõ£¬ÄÇô×ÊÔ´¾ºÅı»·ÖÅä³öÀ´µÄ½á¹û£¬´ó¼ÒºÜÈÝÒ×´ï³ÉÒ»Ö¡¢Àí½â¡£¶ø¹úÄÚÆóÒµ£¬ÍùÍùÊÇÔ¤ËãÇý¶¯£¬ÖܱßϵͳµÄÔËÐÐϰ¹ß£¬¸üÇ÷ÏòÔ¤Ëã¡¢²É¹º£¬Ë­Ô¤Ëã˭ʹÓá£ÕâÖÖ»·¾³Ï£¬×ÊÔ´±»Ë­Ê¹Óûù±¾¿ÉÒÔÔ¤¼û£¬³É±¾Ò²ÊDZȽÏÈÝÒ×ÕÒµ½¹éÊôÕß¡£ÔÚÅÄÂô»úÖÆÏÂ×ÊÔ´ÇÀÕ¼£¬³õʼ·ÖÅäÊDz»´ó»á·¢Éú£¬Ö»ÓÐÔÚÔËÐÐʱ·¢Éú×ÊÔ´²»¹»ÓõÄʱºò³öÏÖ£¬µÍÓÅÏȼ¶µÄÈÎÎñ±»Kill¡£ÔÚÔ¤Ëã»úÖÆÏ£¬×ÊÔ´·ÖÅä³õÆÚ¡¢ÔËÐÐʱ¹ý³ÌÖУ¬¶¼»á·¢ÉúÇÀÕ¼¡£²»Í¬ÄÄÖÖ·ÖÅä±³ºó¹²Í¬×·ÇóµÄ×ÊÔ´Á÷¶¯ÐÔÊÇÒ»Öµġ£ÅÄÂôµÄÁíÍâÒ»Öֺô¦ÊDZãÓÚ×ÊÔ´Á÷¶¯ÆðÀ´£¬²»½öÊÇ×ÊÔ´ÀûÓÃÂÊÌáÉý£¬¸üÊÇ×ÊԴͶÈë²ú³ö±ÈµÄ×î´ó»¯¡£¶øÔ¤ËãÍùÍùÊÇÒ»´ÎÐԵģ¬ÖصãÒµÎñ×ÊÔ´ÓÅÏȱ£ÕÏ£¬Ê¹µÃÊÊÓ¦ÐÔ¡¢Áé»îÐÔ¡¢¼¤ÀøÒµÎñЧÂÊÌáÉý±äµÃ²»ÈçÅÄÂô¡£

²»Í¬²ßÂÔÂ䵨Ôڼܹ¹¡¢Êý¾Ý¡¢API²ãÃæÓÐ×ŷdz£¶àµÄ¹²Í¬Ö®´¦¡£´ÓÖв»ÄÑ·¢ÏÖBorgÊÇÊ¼×æ£¬ºóÀ´µÄMesos¡¢Omega¡¢Kubernetes¡¢ZeusµÈ¶¼ÑÓÐø×ÅBorgµÄÄ³Ð©ÖØÒªÌØÕ÷£¬¶øÓÖËæ¼¼Êõ·¢Õ¹£¬ÒýÈëеÄÌØÕ÷¡£Õë¶Ôÿ¸öϵͳµÄ¾ßÌå·ÖÎö£¬¿ÉÒÔ²ÎÕÕGoogle¡¢BaiduÉÏͨ¹ý¹Ø¼ü´Ê²éѯ³öÀ´µÄÏà¹ØÎÄÕ»òÕ߸÷ϵͳ·¢±í¹ýµÄÂÛÎļ°¹Ù·½Îĵµ[1,2,3,4,5,6,7]¡£

1.1¼Ü¹¹²ãÃæ

Borg

µ÷¶ÈÆ÷¼Ü¹¹Í¼Èçͼ1Ëùʾ[2]£¬ÊÇGoogle½¨ÔìµÄÒ»¸öÖ÷¿ØÖƺËÐÄ£¬¹ÜÀí¹«Ë¾ËùÓеÄÊý¾Ý¿â¡£Á½¼¶ÓÅÏȼ¶£º·þÎñÐԵĸßÓÅÏȼ¶ºÍÅú´¦ÀíµÄµÍÓÅÏȼ¶¡£Á½½×¶Îµ÷¶È£ºÕÒµ½¿ÉÐеĽڵ㣬ȻºóΪ×îÖÕ·ÅÖöÔÕâЩ½ÚµãÆÀ·Ö¡£

ͼ1 Borg¼Ü¹¹Í¼

BorgletÏòMaster»ã±¨×´Ì¬£¬´Ó¶ømasterÈ·ÈÏborgletÊÇ·ñ´æ»î£¬ÒÔ¼°ÊÇ·ñÐèÒªÖ´ÐÐBorgletÉϵÄÈÎÎñÇ¨ÒÆµÈ²Ù×÷¡£ÈÎÎñ¡¢×ÊÔ´µÄ״̬Êý¾Ý¸üÐÂÊÇÖÜÆÚÐԵ쬶ø²»ÊDZ仯֪ͨ»úÖÆ¡£

JobʹÓÃBCLÀ´ÃèÊö£¬Í¨¹ýRPCÃüÁîtoolÌá½»µ½Borg master¡£Borg´óÁ¿µÄµ÷¶ÈÈÎÎñÊôÓÚJobs£¬µ«ÊǼ¯Èº70%×óÓÒµÄCPUÊǸøserviceµÄ¡£

Borg Ò»²ã¿ò¼Ü£¬ÔÚ¿ò¼ÜÉÏÅÜSchedule¡£¿ò¼ÜÊÇBorgletºÍBorgMasterÖ®¼ä½øÐÐ״̬ͨÐÅ£¬È·±£×ÊÔ´´æ»îÐÔ¡¢ÈÎÎñÔËÐÐʱÊý¾ÝÊÕ¼¯£¬Í¬Ê±PAXOSЭÒ飬ȷ±£¶àmasterÊý¾ÝÒ»ÖÂÐÔ£¬Ö§³Ö²¢·¢ºÍÈÝÔÖ¡£¶øScheduleÓëBorgMaster½øÐÐÊý¾Ý¶Áд£¬ÊµÏÖ×ÊÔ´µÄ·ÖÅäºÍ»ØÊÕ¹ÜÀíµÈ¡£

Mesos

TwitterÑз¢µÄ³¬¼¶ÍøÂçϵͳ£¬MesosµÄ³öÏÖ±ÈYARNÔç,ÒýÈëÁ½¼¶µ÷¶ÈµÄÀíÄî¡£Á½¼¶µ÷¶Èͨ¹ýÒ»¸öÃûΪ×ÊÔ´ÑûÔ¼µÄÐÂAPI·¢Æð£¬ÑûÔ¼ÊÇÓÐʱ¼äÏÞÖÆµÄ£¬¼¤ÀøÓ¦ÓóÌÐòȥʵÏÖ¿ìËٵص÷¶È¡£Mesos[3]ÀïÃæ²¢Ã»ÓÐÅÄÂôµÄÓ°×Ó£¬¸ü×¢ÖØ¹«Æ½ÐÔ£¬ÔÊÐí¶ÌÈÎÎñÔ¤ÁôһЩ×ÊÔ´¡£Ê±¼äÆÚÏÞ¾ÍÊÇ×ÊÔ´µÄ¹²ÏíµÄÉúÃüÖÜÆÚ¡£ÔÚMesosÖУ¬×ÊÔ´ÑûÔ¼ÊDZ¯¹ÛµÄ»ò¶ÀÕ¼µÄ¡£Èç¹û×ÊÔ´ÒѾ­Ìṩ¸øÒ»¸öÓ¦ÓóÌÐò£¬Í¬ÑùµÄ×ÊÔ´½«²»ÄÜÌṩ¸øÁíÒ»¸öÓ¦ÓóÌÐò£¬Ö±µ½ÑûÔ¼³¬Ê±¡£

BorgºÍMesos²¢²»Ö»ÊÇÄÜÈÃËûÃǵķþÎñÆ÷ȺÖÇÄÜ»¯´¦ÀíËûÃǵÄÊý¾Ý£¬ËûÃÇ»¹ÈùÜÀí¼¯Èº¾ÍÏñ²Ù×÷һ̨»úÆ÷Ò»Ñù´¦ÀíËùÓеÄÊý¾Ý[7]¡£

Omega

ÖØµãÔÚ½éÉÜ»ùÓÚ״̬µÄ×ÊÔ´¹ÜÀí×é¼þ£¬Omega[4]µÄ×ÊÔ´¹ÜÀíÆ÷»ù±¾ÉÏ£¬Ö»ÊÇÒ»¸ö¼Ç¼ÿ¸ö½Úµã״̬µÄ¹ØÏµÊý¾Ý¿â£¬Ê¹Óò»Í¬ÀàÐ͵ÄÀÖ¹Û²¢·¢¿ØÖƽâ¾ö³åÍ»¡£ÕâÑùµÄºÃ´¦ÊÇ´ó´óÔö¼ÓÁ˵÷¶ÈÆ÷µÄÐÔÄÜ£¨ÍêÈ«²¢ÐУ©ºÍ¸üºÃµÄÀûÓÃÂÊ¡£

Omega²ÉÈ¡¶à°æ±¾¿ØÖƵġ¢ÀÖ¹ÛËø»úÖÆÔÚÓöµ½Å¼¶ûµÄ×ÊÔ´³åͻʱºò¡£ËùÓÐ×ÊԴ״̬´æ´¢ÔÚ»ùÓÚPAXOSЭÒéʵÏÖµÄÊÂÎïϵͳÖУ¬Íⲿµ÷¶ÈÆ÷·ÃÎʲ¢Ö´ÐÐ×ÊÔ´µ÷¶È¡£

Kubernetes

×÷ΪDockerÉú̬ȦÖÐÖØÒªÒ»Ô±£¬ÓÉGoogle¿ªÔ´£¬Õû¸öÉè¼ÆÖØµãÖ®Ò»ÔÚÓÚ·½±ã·Ö²¼Ê½¸´

ÔÓÓ¦ÓõIJ¿ÊðºÍ¹ÜÀí[5,6]¡£KubernetesÎüÊÕÁËBorgʹÓùý³ÌÖдóÁ¿µÄʵ¼ù¾­Ñ飬µ±È»Õû¸öϵͳÒòΪº­¸ÇµÄ¹¦Äܽ϶࣬ÑÓÐøBorgÍ걸¡¢¸´ÔÓÐÔ£¬Ïà¶ÔMesosµÈÉÔ΢¼òµ¥Ð©¡£KubernetesÃæÏòÔÆ¶Ë£¬ÐèÒª¿¼ÂǵŦÄܵã·Ç³£¶à¡£ÀýÈçÍøÂç¡¢¸ºÔؾùºâ¡¢×ÊÔ´¹ÜÀí¡¢¸ß¿ÉÓᢾµÏñ¸üС¢´æ´¢¡¢°²È«¡¢¼à¿ØµÈ¡£Kubernetes¼Ü¹¹Èçͼ2Ëùʾ¡£

ͼ2 Kubernetes¼Ü¹¹Í¼

×ܽ᣺Ö÷¶¯¡¢¶¨Ê±»ã±¨µÄ¿ò¼Ü£¬»¹ÊDZä¸ü֪ͨµÄ¿ò¼Ü±È½ÏÊʺÏÄØ£¿×´Ì¬»ùÓÚPAXOSЭÒé·Ö²¼Ê½ÊÂÎñÒ»ÖÂÐÔ£¬»¹ÊǼ¯ÖÐÊý¾Ý¿â´æ´¢£¿»ùÓÚʵ¼ùµÄ³É±¾¡¢¼òµ¥ÐÔ¡¢½×¶ÎÄ¿±ê³ö·¢£¬±ä¸ü֪ͨºÍÊý¾Ý¿â¿ÉÒÔ¾«¼òϵͳ¡¢¿ìËٴԭÐÍ¡£Èç¹ûÒªÓ¦¶Ô°ÙÍò¼¶·þÎñÆ÷£¬ÄÇôPAXOSЭÒé¡¢¶¨Ê±»ã±¨Ó¦¸Ã¾ÍÊDZêÅäµÄ¼¼Êõ·½°¸ÁË¡£Í¨ÖªÄ£Ê½£¬ÏûÏ¢ÖØ·¢£¨·¢µÄƵÂÊ¡¢´ÎÊý£©¡¢ÏûÏ¢´¦Àí£¨ÔàÊý¾Ý¡¢ÁÙ½çÊý¾Ý£©¡¢Êý¾Ý²¹³¥µÈÐèÒª×ÐϸÉè¼Æ£¬±ÜÃâʱ²»Ê±µÄÏûÏ¢Êý¾Ý´íÎóµ¼ÖÂ×ÊԴʹÓò»Ò»Ö£¬Òý·¢ºóÐø½â¾È¡£PAXOSЭÒéÄÔÁÑÊÇÒ»¸öDZÔڵķçÏÕ£¬µ«ÊÇ£¬Ïà¶Ô֪ͨģʽ»¹ÊÇÏÔµÃÓÅÑźÍ͸Ã÷Щ¡£

Á½¼¶µ÷¶È£ºµÚÒ»¼¶Ñ¡Ôñ»úÆ÷£¨Ò²¾ÍÊÇÒµÎñ±àÅÅ£©£¬µÚ¶þ¼¶·ÖÅäÈÝÆ÷×ÊÔ´¡£»òÕßµÚÒ»¼¶Ñ¡×ÊÔ´£¬µÚ¶þ¼¶ÒµÎñ±àÅÅ×éÖ¯¡£Õâ¸ö¹ý³Ì£¬¾Ö²¿×îÓÅ¿ÉÒÔ¼ÓËÙ×ÊÔ´µ÷¶ÈÐÔÄÜ£¬È«¾Ö×îÓÅ¿ÉÒÔ»ñÈ¡×î¼ÑµÄ×ÊԴλ¡£¾ßÌ峡¾°¾ßÌåÑ¡Ôñ£¬²¢ÇÒ¶¼¿ÉÒÔ×÷Ϊ²ÎÊý´«Èëµ÷¶ÈÆ÷¡£

Á½ÖÖ»ò¶àÖÖÓÅÏȼ¶£º¸ßÓÅÏȼ¶¡¢µÍÓÅÏȼ¶£¬·Ö±ð¶ÔÓ¦ÔÚÏß·þÎñ¡¢¼à¿Ø·þÎñ¡¢ÔËά·þÎñ£¬ÀëÏß¶ÌÖÜÆÚJobs¡¢ÅúÁ¿JobsµÈ¡£ÒµÎñÓÅÏȼ¶µÄ¶¨ÒåºÍ±ä¸ü£¬ÐèÒªÒµÎñ²ãÃæÈ«¾ÖµÄÆÀ¹ÀºÍϵͳ×Ô¶¯»¯¸üУ¬²¢¼°Ê±·´À¡µ½µ÷¶ÈÆ÷ÖС£ÒµÎñ·½¶¼Ç÷Ïò°Ñ×Ô¼ºµÄÒµÎñ¶¨Î»¸ßÓÅÏȼ¶¡£È·¶¨²»¿ÉÇÀÕ¼ÒµÎñ¡£

²¢·¢Ö§³ÖµÄ³Ì¶ÈºÍÁ£¶È£¬ÃæÏòÁ´Â·Ò²¾ÍÊǶÓÁУ¬»¹ÊÇÃæÏò×ÊԴ״̬¡£Ã¿´ÎÉêÇë×ÊÔ´È«¾Ö×îÓÅ»¹ÊǾֲ¿×îÓÅ£¬Ò»µ©·¢Éú³åÍ»£¬ÀÖ¹ÛËø»¹ÊDZ¯¹ÛËø¡£Êµ¼ù¾­Ñ飬ÏȽâ¾öÒµÎñÐèÇó£¬ÇóµÃÉú´æ£¬È»ºóÓÅ»¯ÐÔÄÜ¡£

ÔÚÕû¸ö¼Ü¹¹Ö®Í⣬ģÄâÆ÷Ò²ÊǷdz£ÖØÒªµÄ×Óϵͳ¡£ÓÈÆäÊÇ×ÊÔ´µ÷¶ÈÆ÷ÕâÖÖ»ù´¡µÄ·þÎñϵͳ£¬×ÊÔ´Ò»µ©·ÖÅä´íÎó»òÕß²»¿ÉÓã¬Ôì³ÉµÄÓ°Ïì·Ç³£´ó¡£Õû¸ö½á¹¹ÓѺõÄÖ§³ÖÄ£ÄâÊý¾Ý½øÐÐËã·¨ÑéÖ¤±Ø²»¿ÉÉÙ¡£×ÜÊǼÙÉ裬ÈÝÆ÷¼¼Êõ¡¢Éú̬µÄÆäËû²úÆ·¶¼ÊÇ¿ÉÐÅÀµ¡¢¸ß¿ÉÓᢿçÓïÑÔAPI·þÎñµÄ¡£

1.2Êý¾Ý²ãÃæ

Borg

ÔÚGoogleÒѾ­ÔËÐÐÁË10¶àÄ꣬ÊÇÒ»¸öЧÂʼ«¸ßµÄϵͳ¡£µäÐ͵ÄBorgmasterʹÓÃ10ÖÁ14¸öÄں˺Í50GBÄڴ棬Êý¾ÝÖ÷Òª¼¯ÖÐÔÚÄÚ´æ¡£1·ÖÖÓÆôÍ£1Íò¸ötask½ø³Ì¡£99%µÄWeb UIÏìӦʱ¼äСÓÚ1s£¬95%µÄpolling borgletʱ¼äСÓÚ10s¡£Õë¶Ô³ÉǧÉÏÍò½Úµã£¬Ã¿·ÖÖÓµ÷¶ÈµÄËÙÂÊΪ10KÈÎÎñ¡£µäÐ͵÷¶Èʱ¼äÊÇ25Ãë×óÓÒ£¨ÕâÒÀÀµÓÚ¾ßÌå½ÚµãµÄ±¾µØ»¯¡£ÏÂÔØ¶þ½øÖÆÕ¼Õâ¸öʱ³¤µÄ80£¥£¬TorrentºÍÊ÷ЭÒéÓÃÓÚ·Ö·¢¶þ½øÖÆÎļþ£©¡£µ¥¸öcellÄÚ²¿98%»úÆ÷¶¼ÊÇ»ìÅÜ(prod/non-prod, long-running service/batch jobs)£¬Õû¸öBorgϵͳÖÐ83%µÄ»úÆ÷ÊÇ»ìÅÜ¡£Òâζ×ÅGoogle×ÊÔ´¹²Ïí²»ÊǼòµ¥µÄ¹Ì¶¨Åä¶î¹²Ïí£¬ÓÖ»òÕßÕû»ú½»¸¶µÄ¹²Ïí£¬¶øÊÇʵʱ¶¯Ì¬µÄ¹²Ïí¡£

Ôڻ첿CPI·½Ã棬Ôö¼Ó×÷Òµ»áµ¼ÖÂÆäËû×÷Òµ½ø³ÌCPIÔö¼Ó0.3%£¨CPIÔ½´ó±íʾ³ÌÐòÖ´ÐÐÔ½Âý£©£¬»úÆ÷CPUʹÓÃÂÊÿÔö¼Ó10%»áµ¼ÖÂ×÷Òµ½ø³ÌCPIÔö¼Ó2%¡£»ìÅܼ¯ÈºÆ½¾ùCPI 1.58£¬×¨Óü¯Èº1.53¡£ÁíÍâBorgletµÄCPI£º»ìÅÜ1.43£¬×¨ÓÃ1.20¡£½áÂÛ£ºCPI²î±ð²»´ó£¬Òò´Ë»ìÅܲ¢²»»áÏÔÖøµÄ½µµÍ³ÌÐòÔËÐÐʱ¼ä£¡

×ÊÔ´ÀûÓÃÂÊÖ÷ÒªµÄ¶ÈÁ¿Ö¸±êÊǵ¥ÔªÑ¹Ëõ¡£Ò²¾ÍÊÇÒ»¸öÒµÎñµ¥ÔªÊ¹ÓõÄ×ÊÔ´×îС»¯³Ì¶È¡£

Ò»¸öµäÐ͵ÄcellÖУ¬prod×÷Òµµ÷¶ÈÕ¼70% CPU£¬55%Memory£¬Êµ¼ÊʹÓÃÕ¼60% CPU£¬85% Memory¡£Í¨¹ýBorgletµÄÖÜÆÚÐÔ¡¢ÊµÊ±¼ÆË㣬µ÷Õû×ÊԴʵÀýµÄÅä¶î£¬´Ó¶ø½øÐÐ×ÊԴѹËõ¡£

ÅäÖûòÕßJobsµ÷¶È²ÎÊýµÈ¶¼ÒÔJSON»òÕßYAML¸ñʽʵÏÖ¡£

GoogleµÄЧÂÊ£¬´ÓGoogleÒ»¸öPE¿ÉÒÔÔËάÉÏÍǫ̀·þÎñÆ÷£¬¿É¼ûÏ൱ÏȽøÁË¡£

³É±¾¼Æ·Ñ·½Ã棺½«JobµÄÌá½»¡¢ÅäÖᢾßÌåÿ¸ötaskµÄ×ÊԴʹÓÃÇé¿ö¶¼±£´æµ½Ò»¸öÊý¾Ý¿âÖУ¬²¢Ìá½»SQL²éѯ£¬¹©¼Æ·Ñ¡¢debug¡¢´íÎó·ÖÎö¡¢ÈÝÁ¿¹æ»®¡£

Mesos

¸ü¹Ø×¢×ÊÔ´¹«Æ½ÐÔ£¬¼ò»¯ÁËBorgµÄ¸´ÔÓÐÔ£¬×öµÃÏ൱±¡£¬Ö»ÓÐ10KÐдúÂë¡£

Omega

µäÐ͵ļ¯ÈºÀûÓÃÂÊԼΪ60£¥¡£Ãë¼¶µÄµ÷¶Èʱ¼äÊǵäÐ͵ġ£

Kubernetes

Google¿ªÔ´µÄGolangÓïÑÔʵÏֵġ¢Ö§³ÖDockerÈÝÆ÷µÄÐÂÒ»´ú×ÊÔ´µ÷¶ÈÆ÷¡£ºÍBorg OmegaÒ»Ñù£¬¶¼ÓÐÒ»¸ö¹²ÏíµÄ³Ö¾Ã»¯×´Ì¬´æ´¢Ä£¿é£¬ÓÃÓÚʵÏÖ×ÊԴ״̬һÖÂÐÔ¡£BorgµÄJob ConfÀïÓÐ230¸ö²ÎÊý£¬Óû§tune´ú¼Û´ó¡¢Ò׳ö´í£¬Kubernetes×öÁ˲ÎÊýµÄ×Ô¶¯»¯ÊÊÓ¦¡£

×ܽ᣺Êý¾ÝÒ²¾ÍÊÇ×ÊԴ״̬ÒÔ¼°µ÷¶È·Ö²¼Êý¾Ý£¬³Ö¾Ã»¯DB»¹ÊÇPaxosЭÒéʵÏֵķֲ¼Ê½ÊÂÎñ´æ´¢£¬Ã»ÓÐ×îºÃ£¬Ö»ÓиüºÃ¡£²»¹ý£¬ÌṩAPI²éѯ£¬ÌرðÊÇÒ³Ãæ¿ÉÊÓ»¯²Ù×÷£¬¶¼ÊDZØÐëµÄ¡£ÓÐʱºò¶Ô×ÊÔ´·ÖÅäµÄ½á¹û£¬Ò²ÊÇÐèÒª¿É½âÊ͵ģ¬ÕâÒÀÀµÊý¾Ý¿ÉÊÓ»¯¡¢Öмä¹ý³Ì͸Ã÷»¯¡£

Á÷³Ì»òÕß·ÖÅä»òÕßÔËÐÐʱ»òÕßÒì³£¹ÊÕϵÈÊý¾ÝµÄ³Áµí£¬ÓÃÓÚ¹ÊÕÏ·ÖÎö¡¢ÍêÉÆÖܱßϵͳ¡¢¶¯Ì¬ÐÞÕýʵÀýÅä¶î¡¢ÈÝÁ¿Ë®Î»¡¢ÈÝÁ¿×¼Èë¡£Êý¾Ý³Áµí²¢·ÖÎöÊǷdz£ÓмÛÖµµÄ¡£

³É±¾¼ÆËã»ùÓÚµ÷¶ÈÆ÷ÀúÊ·¹ý³ÌÉêÇë×ÊÔ´µÄʹÓùæÄ£ºÍʱ¼ä£¬»¹ÊÇ»ùÓÚÒµÎñÔ¤ËãµÄ×ÊÔ´£¬»¹ÊÇ×îºóÂ䵨µÄÁ÷³Ì¼Ç¼Êý¾Ý£¬²»ÂÛÄÄÖÖ·½Ê½£¬¶Ô×ÊÔ´µÄÁ£¶ÈºÍʱ¼äƬµÄͳһ½ç¶¨·Ç³£ÖØÒª¡£

ËùÓжÔÊý¾ÝµÄ²Ù×÷ÔÚ×ÊÔ´µ÷¶ÈÆ÷²ã£¬¾¡Á¿ÏÞÖÆÔÚÔ­×Ó²ãÃæ£¬Á÷³Ì»òÕßÒµÎñÊý¾ÝÒ»ÖÂÐÔ½»¸øÉϲã»òÕßÒµÎñ·¢Æð¶Ë¿ØÖÆ¡£ÕâÑù£¬×ÊÔ´µ÷¶ÈÆ÷²ã»ù±¾ÎÞ״̬¡¢Ô­×Ó¸üУ¬·Ö²¼Ê½Ò»ÖÂÐԾͱȽϼòµ¥¡¢¼¯ÖС£ÒµÎñÐèÇ󣬽»¸øÒµÎñ´¦Àí¡£Èç¹ûÒµÎñ²ãУÑé»òÕ߯äËûÒªÇó£¬×ÊÔ´²»Âú×ãÐèÇó£¬ÒªÃ´ÒµÎñ²ã×ÔÎÒÐÞ¸´£¬ÒªÃ´ÒµÎñ²ãÒªÏòÁ´Â·ÏÂÓβã²ã»Ø¹ö£¬×îÖÕÈ·±£×ÊÔ´µ÷¶ÈÆ÷×ÊÔ´ÉêÇëºÍʹÓÃ×îÖÕÒ»ÖÂÐÔ¡£·ñÔò£¬×ÊÔ´Êý¾Ý²»Ò»ÖÂÒý·¢×ÊÔ´³¬Âô»òÕß×ÊÔ´Ìáǰ¡°ÓÃÍꡱ£¬¶øÊµ¼ÊÓÐ×ÊÔ´µÄÞÏÞΡ£

1.3 API ²ãÃæ

Borg

»º´æµÄ»úÆ÷·ÖÊý¡¢Ã¿ÖÖÈÎÎñÀàÐͼÆËãÒ»´ÎµÄ¿ÉÐÐÐÔ£¬ÔÚ×öµ÷¶È¾ö²ßʱ£¬²»ÒªÊÔͼȫ¾Ö×îÓÅ¡£¸´ÔӵĹ淶ÓïÑÔ¡£Õû¸ömasterÊÇÒ»¸öAPI server£¬ÆäËûµÄµ÷¶È¡¢admission¹ÜÀí¶¼ÊÇ×÷Ϊ·þÎñ£¬ÒÔclient·ÃÎÊAPI server£¬¶ÔÍâÌṩ·á¸»µÄÉú̬¹¤¾ß£¬ÀýÈç½Å±¾¡¢web¹ÜÀíÒ³Ãæ¡¢¿ØÖÆÌ¨ÃüÁîµÈ¡£Í¨¹ýHttp ЭÒéʵÏÖµÄÐòÁÐAPI£¬Ö´ÐÐÈÝÆ÷µ½×ÊÔ´·ÖÅä¹ÜÀíµÄ¼¸ºõÈ«²¿²Ù×÷¡£Ö§³ÖÒÔ±êÇ©ÐÎʽ¶¯Ì¬µ÷ÕûÓ¦ÓõÄÊôÐÔ£¬´Ó¶øÓ°ÏìJobsµ÷¶È²ßÂÔ¡£

Mesos

Mesos API[3]°üÀ¨Scheduler Http¡¢Executor Http¡¢internal C++ API¡£MesosÒѾ­¿ªÊ¼ÒýÈë

¸ü¶àKubernetesµÄ¸ÅÄîÀ´Ö§³ÖKubernetes API [3]¡£×ÐϸµÄ±È½ÏMesos¡¢KubernetesÁ½ÕßµÄÉú̬¡¢¿ªÔ´ÉçÇø·¢Õ¹£¬Á½ÕßÖ®¼äµÄ¾ºÕùÊÇÃ÷ÏԵġ£ÐéÄâ»úÓѺû¯¡¢ÈÝÆ÷ÀࣨÀýÈçDocker£©ÓѺû¯µÄAPI»òÕß¶þ´Î¿ª·¢£¬³ÉΪҵ½çÑ¡ÔñµÄ½¹µã¡£MesosĿǰ¶Ô¼ÆË㼯Ⱥ֧³ÖµÄ±È½ÏÓѺ㬶øKubernetes¶ÔÐéÄâ»ú£¬ÓÈÆäÊÇÔÆ¶ËÖ§³ÖµÄ¸üÓѺá£

Omega

Omega »ùÓÚBorg·¢Õ¹ÆðÀ´µÄGoogleÐÂÒ»´úϵͳ£¬OmegaÂÛÎIJ¢Ã»Óиø³öÏêϸAPI˵ Ã÷¡£OmegaÖØµãÔڶԱȹýÈ¥µÄ¼Ü¹¹ºÍмܹ¹µÄÓÅÊÆ£¬API²Â²â»ù±¾ÑÓÐøÁËBorgµÄÏà¹Ø¹¦ÄÜ¡£µ±¶Ô±ÈÌÖÂÛOmegaµÄʱºò£¬MesosÒѾ­¿ªÔ´£¬Ðí¶à¸ÅÄîÒѾ­ÔÚMesosÖÐʵÏÖÁË¡£µ±ÌÖÂÛKubernetesµÄʱºò£¬×ÔÈ»Ïëµ½MesosµÄ³å»÷Á¦£¬²¢Ëæ×ÅDockerÈÝÆ÷¼¼ÊõµÄÐËÆð¡¢ÔƼÆËãµÄ·¢Õ¹£¬ÈËÃÇ¿ªÊ¼Íü¼ÇOmega£¬ËƺõÖ»ÓÐMesosºÍKubernetes£¬ÒÔ¼°¹²Í¬µÄ׿ÏÈBorg¡£

Kubernetes

Kubernetes[5]´ÓпªÊ¼£¬Îª²»Í¬µ÷¶ÈÆ÷×é¼þÌṩһÌ׸ɾ»µÄAPI¡£Kubernetes×öÁ˲ÎÊýµÄ×Ô¶¯»¯ÊÊÓ¦¡£²ÉÓÃרÃŵÄRESTFULL API Ìṩ·þÎñ¡£KubernetesÊÇÓÃGolangÓïÑÔдµÄ£¬ËüÇáÁ¿¡¢Ä£¿é»¯¡¢¿ÉÒÆÖ²»¹ÓÐÀ©Õ¹ÐÔ¡£

×ܽ᣺²ÎÊýJSON¸ñʽ»¯¡¢ÇëÇó¿çÓïÑÔÖ§³ÖRESTFULL API£¬»òÕß×Ô¶¨ÒåÒ»ÖÖÃèÊöÓïÑÔ¡£´ÓÃæÏò»úÆ÷µ½ÃæÏòÓ¦Ó㬵÷¶ÈÆ÷³Ðµ£µÄÔðÈÎÓɱ¡µ½ºñ¡£²»¹ý£¬¶àÓïÑÔ¡¢¿çƽ̨֧³ÖÄÜÁ¦£¬ÌرðÊDzÎÊýºÍÏìÓ¦¸ñʽµÄͳһÊÇ»ù±¾ÒªÇó¡£

APIÍêÕû¶¨ÒåÁ˵÷¶ÈÆ÷µÄ¹¦Äܱ߽硢·þÎñ¹æ·¶³Ì¶È¡¢µü´úÉý¼¶Ð§ÂÊ¡¢ÒÔ¼°ºÍÖܱßÉú̬ϵͳµÄ½»»¥ÐÎʽµÈ¡£´ÓÒÑÖªµÄÐòÁÐ×ÊÔ´µ÷¶ÈÆ÷À´¿´£¬HttpЭÒé¡¢JSON¸ñʽ²ÎÊýºÍÏìÓ¦£¬Ã»ÓÐÀíÓɲ»×ñÊØ¡£

ËùÓÐAPIµÄ½»»¥£¬½¨ÒéÒì³£ÐÅÏ¢¹á´©Õû¸öÁ´Â·£¬²¢ÇÒÌí¼Ó¸÷¸öÁ´Â·µÄ±êʶ£¬ÕâÑùÔÚÒ»¸öÉú̬Ð͵Ä×ÊÔ´µ÷¶ÈÌåϵÄÚ£¬½øÐйÊÕÏÅŲé»òÕßµ÷ÊÔÒµÎñ¹ý³Ì£¬¾ßÓзdz£´óµÄ±ãÀûÐÔ¡£

2.×ÊÔ´¹²Ïí¿´ÒÑÓе÷¶ÈÆ÷

×ÊÔ´¹²ÏíµÄ¹ý³ÌÀë²»¿ªÁ½¸öά¶È£º×ÊÔ´Á£¶È¡¢Ê±¼äƬ¡£×ÊÔ´µÄЧÂÊ=¦²(ÔÚÏß×ÊÔ´Á£¶È*ʱ¼äƬ*ÀûÓÃÂÊ) -¦²(×ÊÔ´ÀëÏßÁ£¶È*ʱ¼äƬ)¡£×ÊԴЧÂʰüÀ¨Á½²¿·Ö£¬ÔÚÏß²¿·ÖºÍÀëÏß²¿·Ö£¬ÀëÏß²¿·ÖÖ÷ÒªÊÇ»úÆ÷¹ÊÕϵ½»Ö¸´µÄ¹ý³Ì£¬ÓÅ»¯Õⲿ·Ö×ÊԴЧÂÊ£¬ÌáÉý·þÎñÆ÷ÔÚÏßÂÊ¡£ÈíÓ²¼þ¹ÊÕÏͨÓôëÊ©ÓУº¹ÊÕÏÔ¤¾¯¡¢¹ÊÕϼì²â¡¢¹ÊÕÏ×Ô¶¯ÐÞ¸´¡¢¹ÊÕÏ×Ô¶¯»¯´¦ÀíÁ÷³ÌµÈ¡£Ð§Âʼòµ¥µÄ°´ÕÕÔÚÏß¼õÈ¥ÀëÏߣ¬Ö»ÊÇΪÁËÃèÊö£º¼õÉÙÀëÏßµÄÀË·Ñ£¬ÓÐÀûÓÚ×ÜÌå×ÊԴЧÂʵÄÌáÉý¡£Êµ¼Ê¼ÆËã³öÀ´µÄÊýÖµ²»Ò»¶¨ºÍÕæÊµÏÖ×´ÏàÒ»Öµĺ¬Òå¡£ÏÂÃæÕ½ÚÌáµ½µÄ×ÊÔ´¹²Ïí£¬Ö÷ÒªÊÇÔÚÏß×ÊÔ´²¿·Ö

²»ÂÛÄÄÖÖ×ÊÔ´¹²ÏíÐÎʽ¶¼Ã»ÓкûµÖ®·Ö£¬Ö»ÓкÏÊÊÓë²»ºÏÊÊ·þÎñµÄÒµÎñ³¡¾°£¬²¢ÇÒ×îÖÕÓÐÎÞʵÏÖ×ÊÔ´µÄ³ä·ÖÀûÓá£ÍùÍùÊǶàÖÖ·½Ê½´æÔÚÓÚÒ»¸ö´óµÄϵͳÀïÃæ¡£¿ÉÄÜÕë¶ÔÕâ¸ö³¡¾°Êǹ̶¨Åä¶î£¬ÁíÍâÒ»¸ö³¡¾°ÊǶ¯Ì¬Åä¶î£¬¶ÔÓÚAÒµÎñÊǼ¯Èº¶ÀÕ¼£¬¶ÔÓÚBÒµÎñÊÇ»ìºÏ²¿Êð¡£

ÓïÑԵIJîÒìÒ²»áÓ°Ïì¹²Ïí·½Ê½¡£ÀýÈçJavaÓïÑÔ£¬¶ÔÄÚ´æ×ÊÔ´¾Íû·¨×öµ½²»ÖØÆô¶ø¶¯Ì¬µ÷ÅäÄÚ´æ¡£C++ÓïÑÔ¿ÉÒÔ¸ù¾Ý½ø³ÌÀúÊ·ÄÚ´æÏûºÄ£¬¶¯Ì¬µØÊÍ·ÅÄÚ´æ¸øÁÚ¾Ó½ø³Ì¡£¶øCPU¡¢NETIO¡¢DISKIOµÈ£¬¿ÉÒÔ¶¯Ì¬µÄ·ÖÅä×ÊÔ´Õ¼±È¡£ÀýÈçBorg£¬CPU¡¢NETIO¡¢DISKIO¿´×÷¿ÉѹËõ×ÊÔ´£¬¶øMemory size¡¢Disk Size²»¿ÉѹËõ×ÊÔ´¡£Èç¹û²»¿ÉѹËõ×ÊÔ´£¨ÈçMem£¬disk¿Õ¼ä£©½ôÕÅ£¬BorgletÁ¢¼´¿ªÊ¼É±½ø³Ì£¬´ÓµÍÓÅÏȼ¶¿ªÊ¼Ö±µ½×ÊÔ´²»½ôÕÅ¡£Èç¹û¿ÉѹËõ×ÊÔ´£¨CPU£¬IO´ø¿í£©½ôÕÅ£¬Borglet¿ªÊ¼Ô¼Êø½ø³ÌµÄ×ÊԴʹÓã¬ÓÅÏȱ£ÕÏlatency-sensitiveµÄ½ø³Ì£¨Èçlong-running service)¡£Èç¹ûÈÔÈ»½ôÕÅ£¬Borgmaster¿ªÊ¼Ç¨ÒÆ×ßһЩtask½ø³Ì¡£¿ÉÒÔ¿´³ö£¬Borglet²»Êǹ̶¨Åä¶î¸øserviceºÍjobs£¬¶øÊǶ¯Ì¬Í³Ò»¿ØÖƹ²Ïí¡£ÔËÐÐʱCPUµÈ×ÊÔ´µ÷ÅäÔÚBorglet¶Ë¿ÉÒÔÖ±½ÓÖ´Ðе쬶ø²»ÊÇÍâ½çÖ÷¶¯·¢Æð¡¢´¥·¢BorgletAPIÖ´ÐÐÏàÓ¦²Ù×÷¡£

2.1¹Ì¶¨Åä¶î£º±¯¹Û

¹Ì¶¨Åä¶î£¬ÊÇָʵÀýÆô¶¯Ç°ºÍÔËÐÐÆÚ¼ä£¬ÊµÀýÕ¼ÓõÄ×ÊÔ´¹æ¸ñ±£³Ö²»±ä¡£»òÕßÎïÀí»ú»òÕß¼¯ÈºÔڻ첿¹ý³Ì£¬¶ÔijһÀàÐ͵ÄÈÎÎñ·ÖÅä¹Ì¶¨µÄ×ÊÔ´Õ¼±È¡£ÀýÈ磬µ¥ÊµÀý2¸öCPUÂß¼­ºË¡¢4G Memory ¿Õ¼ä¡¢20G Disk ¿Õ¼ä£¬´ÅÅÌIOPS¡¢ÍøÂçIOPS ×î´ó100MB/s µÈ¡£ÀýÈçÎïÀí×ÊÔ´²ãÃæ£¬Õû¸ö×ÊÔ´70%¸øÔÚÏß·þÎñ£¬30%¸øÀëÏß·þÎñ¡£ÔÚÏß²¿·Ö·ÖÅä¶à¸öʵÀý»òÕßÀëÏß²¿·ÖÆô¶¯¶àÉÙJOB£¬×ÊÔ´×ܺͲ»³¬¹ý¸÷×ԵıÈÀýÉÏÏÞ¡£Í¨³£¹Ì¶¨Åä¶îÖ÷ҪʹÓó¡¾°ÊÇÔÚÏßService¡£ÔÚÏßServiceÀàÐÍÈÎÎñÍùÍùÊÇlong time running, ·þÎñÏìӦʱ¼äÓÅÏÈ¡£ÔÚÏß·þÎñ¼´Ê¹ÐèÒª×ÊԴѹËõ£¬ÍùÍùÒ²ÊÇʵÀýÊýÁ¿²ãÃæ£¬Ò²¾ÍÊÇÈÝÁ¿Ë®Î»²ãÃæ½øÐпØÖÆ£¬¼¸ºõ²»»áÖ´Ðж¯Ì¬µÄʵÀý¹æ¸ñµ÷Õû¡£²»¹ýÒ²ÓÐÀýÍ⣬Èç¹ûͨ¹ýÒ»¶Îʱ¼äµÄÊý¾ÝÊÕ¼¯´¦Àí£¬·¢ÏÖʵÀý¹æ¸ñËõС»òÕß·Å´ó£¬×ÊÔ´ÀûÓÃÂʸü¸ß»òÕßÏìӦʱ¼ä¸üºÃ£¬ÄÇô£¬»áÖ´ÐÐÐµĹæ¸ñÉý¼¶¡£

2.2¶¯Ì¬Åä¶î£ºÀÖ¹Û

¶¯Ì¬Åä¶î£¬ÊÇָʵÀýÔËÐÐÆÚ¼ä£¬CPU»òMemory»òNETIOµÈ¸ù¾ÝʵʱÔËÐÐÐèÇ󣬽øÐж¯Ì¬µÄµ÷Å䣬ֻҪËùÔÚÎïÀí»ú×ÊÔ´¹»Ó᣶¯Ì¬Åä¶îÄ£ÐÍ£¬Ò»µ©Ö§³Ö¶¯Ì¬µÄÔö¼Ó£¬Ò²¾ÍÒâζ×ÅÖ§³Ö¶¯Ì¬µÄ¼õÉÙ£¬Ò²¾ÍÊÇÒ»µ©×ÊÔ´²»¹»ÓõÄʱºò£¬¸ßÓÅÏȼ¶ÈÎÎñ¼ÌÐøÔËÐУ¬µÍÓÅÏȼ¶ÈÎÎñ±ÆÆÈÊÍ·Å×ÊÔ´£¬ÉõÖÁKill½ø³Ì»òÕß·þÎñ£¬½øÐÐÓ²½µ¼¶¡£»òÕßÍ£Ö¹·þÎñµÄijЩ×Ó¹¦ÄÜ£¬ÊͷŲ¿·Ö×ÊÔ´£¬½øÐÐÈí½µ¼¶¡£²»ÄÑ·¢ÏÖ£¬¶¯Ì¬Åä¶îÍùÍùÊǻ첿³¡¾°£¬²¢ÇÒ±»KillµÄÒ²ÊÇÀëÏßµÄJOBs¡£Õâ´øÀ´ÁíÍâÒ»¸öÎÊÌ⣬ÀëÏßJOBs¹ÜÀíÄ£¿é£¬Äܹ»¼°Ê±ÖªÏþJOBsµÄÈ«¾Ö״̬£¬²¢¼°Ê±ÖØÐÂÔÚеÄλÖÃÆô¶¯Job£¬È·±£ÈÎÎñµÄ×ÜÌåJobÊýÁ¿ºÍ¼ÆËãÄÜÁ¦¡£

Ç°ÃæÌáµ½£¬¿ÉѹËõ×ÊÔ´¿ÉÒÔ×öµ½Æ½»¬ÉìËõ£¬²»¿ÉѹËõ×ÊÔ´ÍùÍùÐèҪʵÀýÖØÆô¡£¶ÔÓÚC¡¢C++ ÉìËõ¸ü·½±ã£¬ÉìËõʱ¼äƬ¿ÉÒÔ¸üС£¬¶ø¶ÔÓÚJava£¬³É±¾Ïà¶Ô½Ï¸ß£¬ÐèÒªÖØÐÂÆô¶¯JVM£¬ÉìËõʱ¼äƬ¸ü´ó¡£

¸ü´óÁ£¶ÈµÄ¶¯Ì¬»¯£¬ÀýÈç¶ÔÔÚÏßserviceËùÔÚµÄʵÀý¼¯Èº£¬½øÐÐÅúÁ¿ÏÂÏߣ¬ÅúÁ¿ÊÍ·ÅÕû»ú×ÊÔ´½»¸øÀëÏß»òÕ߯äËû·þÎñϵͳ¡£Ê±¼äƬµ½ÁË£¬ÀëÏßÈÎÎñ±»Ç¨×ߣ¬ÔÚÏß·þÎñʵÀýÆô¶¯¡£ÕâÖÖ·½Ê½¸ôÀë±È½Ï³¹µ×£¬ÔÚÏߺÍÀëÏßÖ®¼ä¼¸ºõûÓÐÓ°Ïì¡£ÌØ±ðÊÇÔÚÏß¡¢ÀëÏߵײã»ù´¡»·¾³²»Í³Ò»µÄʱºò£¬¿ÉÒÔ×öµ½Éý¼¶½âñî¡£¶ø¶ÔÓÚ»ù´¡»·¾³Í³Ò»µÄϵͳ£¬Ò²¿ÉÒÔ·½±ãÔÚÏß¡¢ÀëÏ߸÷×Ô¶ÔÎïÀí»ú²ãÃæµÄ²ÎÊýµ÷Õû¡¢³ä·ÖÍÚ¾òÎïÀí»ú×ÊԴЧÂÊ¡£

ÔÚÒ»¸ö´óµÄ×ÊÔ´ÌåϵÄÚ£¬¿ÉÄÜA¼¯ÈºÊǸü´óÁ£¶ÈµÄ¶¯Ì¬»¯£¬B¼¯ÈºÊÇСÁ£¶ÈµÄ¶¯Ì¬»¯¡£ÒÀÀµÖܱ߹¤¾ßϵͳ·Ç³£³ÉÊ죬²ÅÄÜ×öµ½¿ìËÙÔÚÏß¡¢ÀëÏß»·¾³¸ôÀë¡¢»·¾³ÉÏÏÂÎÄÇл»¡£²¢ÇÒµ÷¶ÈϵͳÄܹ»Ë²Ê±¸ÐÖª²¢Ö§³Ö¼¯ÈºÈÝÁ¿±ä»¯¡£ºÜºÃµÄʵʩ´óÁ£¶È±ä»¯£¬¸üÒÀÀµÖܱßϵͳ¹¤¾ß¡£

2.3·Öʱ×âÔ¼¹²Ïí

ʱ¼äƬµÄÑ¡Ôñ£¬²»ÊǹÂÁ¢µÄ£¬ÍùÍùºÍÒ»¶¨µÄ×ÊÔ´¹²ÏíÁ£¶È½ôÃÜÏà¹Ø¡£·Öʱ×âÔ¼£¬ÔÚMesosÀïÃæ¾ÍÊÇÑûÔ¼·½Ê½£¬Ê±¼äƬµ½ÁË£¬×ÊÔ´¾ÍÇ¿ÖÆÊÍ·Å¡£×âÔ¼µÄÓÅÊÆÔÚÓÚ£¬Ê±¼äƬµÄ³¤¶ÈÒÑÖª¡£¶ÔÓÚÀëÏßÈÎÎñ£¬ÍÌÍÂÁ¿ÓÅÏȵij¡¾°£¬ÄÇô¿ÉÒÔ³ä·ÖÀûÓÃJobsµÄÔËÐÐʱ¼ä£¬ºÏÀíµ÷Å䣬³ä·Ö½øÐÐ×ÊÔ´µÄ²¢·¢µ÷¶È£¬ÌáÉýÍÌÍÂÁ¿£¬°üÀ¨´í¿ªÊ±¼äƬÄڵķåÖµÏûºÄ¡£ÀàËÆÓÚÁ÷Ë®Ïß×÷Òµ£¬ÈÃCPU¡¢IO¡¢DISKºÏÀí·¢»Ó×÷Óá£

2.4·ÖÊ±Ëæ»ú¹²Ïí

·ÖÊ±Ëæ»ú¹²Ïí£¬¿ÉÒÔ¿´×÷·Öʱ×âÔ¼µÄÒ»°ã»¯³¡¾°¡£Ëæ»ú¶Ô×ÊÔ´Á£¶È¡¢Ê±¼äƬ¡¢ÉÏÏÂÎÄÇл»µÄÄÜÁ¦ÒªÇó¸ü¸ß¡£´ÓBorgÂÛÎÄ¿´£¬·ÖÊ±Ëæ»ú¹²Ïí£¬¸ü¶àµÄÊÇÀëÏßÈÎÎñ¹²ÏíÔÚÏß·þÎñËùÔÚ×ÊÔ´£¬×ÊÔ´Ò»µ©²»¹»ÓõÄʱºò£¬ÀëÏßÈÎÎñ½«±»Kill¡£¶øÔÚÏßÈÎÎñѹÁ¦½ÏµÍʱºò£¬IOµÈ×ÊÔ´¿ÉÒÔÏòÀëÏßÈÎÎñÇãб¶ø²»Ó°ÏìÔÚÏß·þÎñµÄǰÌáÏ¡£C++ÕâÖÖÓïÑÔʵÏÖµÄÈÎÎñÌØ±ðÊʺϣ¬¶ÔJVMÕâÖÖ£¬Ö»ÄÜÔÚCPU²ãÃæÊµÏÖËæ»úµ÷Õû¡£

²»ÂÛʱ¼äƬµÄ´óС¡¢Ê±»úµÄÑ¡Ôñ£¬¶¼ÐèÒªÒ»¸öÇ¿´óµÄÈÝÆ÷¼¼ÊõÀ´ÊµÏÖ×ÊÔ´µÄ¿ìËÙ¸ôÀë¡¢Ãô¸ÐµÄ×ÊÔ´¼à¿ØÏµÍ³£¬½øÐÐ×ÊÔ´ÏûºÄµÄ×·×Ù¡¢Ô¤²â¡¢µ÷Åä¡£¸üÉÏÒ»²ãÈÎÎñ¹ÜÀíϵͳ£¬Äܹ»¸ÐÖªÈÎÎñµÄ´æ»îºÍ½ø¶È£¬²¢½øÐÐÈÎÎñ²ãÃæµÄµ÷¶È¡£

2.5×ÊÔ´Ô¤Áô

×ÊÔ´Ô¤Áô£¬¿ÉÒÔ¼õÉÙÈÎÎñ±»Killµô¡¢±»Ç¨ÒƵĴÎÊý¡£ÔÚ×ÊÔ´½ôÕŵÄÇé¿öÏ£¬¿ÉÒÔ¿ìËÙ´ÓÔ¤ÁôµÄ×ÊÔ´³Ø£¬¿ìËÙµÄÓ°Ïì×ÊÔ´ÇëÇó¡£´Óµ¯ÐÔЧÂÊ¿´£¬¶ÔÓÚÅúÁ¿µÄ¡¢Õë¶ÔÔÚÏß·þÎñµÄÈÝÁ¿Ë®Î»¿ØÖÆ£¬¼ÓËÙÒ»´ÎÅúÁ¿µÄ³É¹¦ÂÊ£¬ÌرðÊÇ´ó×ÊÔ´¿ÓλµÄ¿ìËÙ½»¸¶£¬×ÊÔ´Ô¤ÁôÒ²ÊǷdz£ºÃµÄ´ëÊ©¡£´ÓÈÝÔֵĽǶȣ¬²»Í¬»ú·¿¿¼ÂÇÆäËû»ú·¿ÕûÌå²»ÓõÄʱºò£¬³Ðµ£ÆäËû»ú·¿Ç¨ÒƹýÀ´µÄÁ÷Á¿£¬ÏàÓ¦µÄ×ÊÔ´Ô¤ÁôÒ²ÓбØÒªµÄ¡£

×ÊÔ´Ô¤ÁôµÄ¿Í¹ÛÐÔÐèÇ󣬱ØÈ»ÎþÉüÒ»²¿·Ö×ÊÔ´µÄÀûÓÃÂÊ¡£Ç¡µ±µÄÔ¤Áô¹æÄ£¾ÍÏԵ÷dz£±ØÒªÁË¡£ÖÁÓÚÔ¤Áô¶àÉÙ£¬Ã»Óоø¶ÔµÄÖ¸±ê¡£²»Í¬ÓÚÒøÐдæ¿î×¼±¸½ðÂÊ£¬¸ÃÊýÖµÖ±½ÓÓ°Ïì×ʽðµÄÁ÷¶¯¡£×ÊÔ´Ô¤Áô¸ü¶àµÄÊÇЧÂÊ¡¢Ó¦¼±ÏìÓ¦ËùÐè¡£

3.ÈÎÎñÀàÐÍ¿´ÒÑÓе÷¶ÈÆ÷

×ÊÔ´µ÷¶ÈÆ÷·þÎñµÄÈÎÎñÀàÐÍ£¬Ö÷Òª·ÖΪJobs¡¢Services¡£JobsµÄÌØµã£º¶ÌÖÜÆÚ£¬Ò²Ó㤵ÄÔËÐÐ1ÌìÉõÖÁ1¸öÀñ°ÝµÄ£¬´ó²¿·ÖÔËÐÐÖÜÆÚÊÇ·ÖÖÓ¼¶±ð£»ÅúÁ¿Ìá½»¡¢ÔËÐУ»ÍÌÍÂÁ¿ÓÅÏÈ£»CPU¡¢IOÃܼ¯ÐÍ£»ÓÅÏȼ¶Ïà¶ÔµÍЩ£»Ê§°Üºó¿ÉÒÔÖØÐ·ÖÅ䣻º¯ÊýʽµÄ¹ý³Ì£¬Ò²¾ÍÊǶà´ÎÔËÐнá¹û£¬Ö»ÒªÊäÈë²»±ä£¬½á¹ûÒ²Ò»Öµġ£ServiceµÄÌØµã£º³¤ÖÜÆÚ£¬Ò²ÓÐÔËÐÐ1ÌìÉõÖÁ1¸öÀñ°ÝµÄ£»»î¶¯ÓªÏúÐÍ·þÎñ£»´ó²¿·ÖÔËÐÐÖÜÆÚÊǼ¾¶È»òÕßÄêµÄ£¬Ìá½»ºó¾ÍÒ»Ö±ÔËÐУ»·þÎñÏìӦʱ¼äÃô¸Ð£»CPU¡¢IOÃܼ¯ÐͶ¼ÓУ»ÓÅÏȼ¶Ìرð¸ß¡£ÓÐЩ»ù´¡ÀàÐÍ»òÕ߹ܿØÏµÍ³£¬ÓÐʱºòÒ²×÷ΪserviceÈÎÎñ¿´´ý£¬ÕâЩϵͳ²»ÔÊÐí±»ÇÀÕ¼¡£ÀýÈ磬»ù´¡´æ´¢ÏµÍ³¡¢¼à¿ØÔËάϵͳ¡¢È¨ÏÞ·ç¿ØÏµÍ³µÈ£¬ÕâЩûÓÐÖ±½Ó·þÎñÍâÃæ¿Í»§£¬µ«¶ÔÒµÎñÎȶ¨ÐÔ¡¢¿ÉÓÃÐÔÖÁ¹ØÖØÒª¡£×öµ½ÈÎÎñ×ÊÔ´²»ÇÀÕ¼£¬Ò²¾ÍÊǹ̶¨Åä¶îģʽ£¬´øÀ´ºÃ´¦£ºÒµÎñÖ®¼ä±Ë´ËµÄÓ°ÏìÏà¶Ô±È½ÏС¡£²»ºÃµØ·½£º×ÊÔ´·ÖÅä²»ºÏÀí»òÕßÍ»·¢ÐèÇó¸ü¶à×ÊÔ´µÄʱºò£¬×ÊÔ´ÀË·Ñ»òÕß×ÊÔ´³Ô½ô¡£ÔÚÒ»¸ö´óµÄ×ÊÔ´µ÷¶È¹ÜÀíÉú̬ϵͳÖУ¨ÖܱßÒÀÀµ·Ç³£¶àµÄ¹¤¾ß¡¢Æ½Ì¨£¬¶ø²»Êǽö½öÒ»¸öµ÷¶ÈÆ÷¾Í¸ã¶¨£©£¬ÇÀÕ¼±ØÈ»·¢ÉúµÄ£¬ÇÀÕ¼µÄ¶ÔÏó¡¢·¶Î§¡¢ÆµÂÊ¡¢Ê±»ú£¬ÔÚ²»Í¬µÄ³¡¾°Ï£¬ÒÔ²»Í¬²ßÂÔÓ¦¶Ô¡£

3.1 ·ÖÅäʱÇÀÕ¼

·ÖÅäʱÇÀÕ¼£¬ÀýÈçÔÚ²»Í¬ÓÅÏȼ¶±ðÈÎÎñ¹²Í¬²¿ÊðÔÚÒ»¸ö¼¯ÈºµÄʱºò£¬µ±³öÏÖ¸ü¸ßÓÅÏȼ¶ÈÎÎñʵÀýÐèÒª×ÊԴʱºò£¬¿ÕÏÐ×ÊÔ´ÓÖ²»×ãÒÔÓ¦¸¶£¬´Ëʱ£¬µÍÓÅÏȼ¶ÈÎÎñʵÀý½«±»Kill£¬ÊÍ·Å×ÊÔ´¡£»òÕßÖ±½Óµþ¼Óµ½µÍÓÅÏȼ¶ÈÎÎñËùÔÚ×ÊԴλÖÃÉÏ¡£·ÖÅäʱÇÀÕ¼ÍùÍùÊÇÔ¼¶¨µÄ¹æÔòÏÂÖ´Ðеġ£ÎªÁË×îС»¯Ó¦ÓÃÖ®¼äµÄÓ°Ï죬ÇÀÕ¼¾¡Á¿²»¼¯ÖÐÔÚÒ»¸öµã»òÕßÒ»¸öÓ¦ÓûòÕßÒ»¸öÒµÎñ²ãÃæ£¬·çÏÕ·ÖɢʽÕÛÖС£ÈÎÎñÄܱ»Kill£¬Ä¬ÈÏÒªÇó±»killÓ¦ÓÃÊÇÎÞ״̬µÄ£¬ÕâÑù×ÊÔ´¹»ÓõÄʱºò£¬¿ÉÒÔ×Ô¶¯»Ö¸´¡£ÁíÍâÇÀÕ¼Ö®ºó£¬¼´Ê¹´Ó×ÊÔ´Åä¶î½Ç¶È¿´£¬ÊµÀý×ÊÔ´µÄËßÇó¶¼Âú×㣬´ÓÒµÎñÎȶ¨ÐÔ¡¢×ۺϸºÔؾùºâ¿´£¬Èȵ㾡Á¿±Ü¿ª¡£Ôڸ߸ººÉÔË×÷µÄ¼¯Èº£¬Ìí¼Ó×ÊÔ´»òÕßÊÍ·Å×ÊÔ´¶¼ÐèÒª×ÛºÏÆÀ¹À¡£

3.2 ÔËÐÐʱÇÀÕ¼

ÔËÐÐʱÇÀÕ¼£¬¶à°ëÎþÉüÀëÏßJOBs£¬Èç¹ûÀëÏßJOBsûÓУ¬ÄÇôż¶û»áÎþÉüÔÚÏßµÍÓÅÏȼ¶Service¡£ÔËÐÐʱÇÀÕ¼£¬¶ÔÈÝÆ÷¼¼ÊõÒªÇó±È½Ï¸ß£¬ÐèÒª¿ìËÙ×ÊÔ´ÊÍ·Å¡¢ÖØÐ·ÖÅä¡£ÔÚ¼ÆËãÃܼ¯Ðͳ¡¾°Ï£¬CPU¶¯Ì¬µ÷Åäȷʵ´øÀ´·Ç³£ºÃµÄЧ¹û¡£Èç¹ûÕû¸öËÞÖ÷»ú×ÊÔ´ÒѾ­³Ô½ô£¬ÔÙÔõôµ÷ÅäCPU£¬Ò²²»ÄÜ»º½âѹÁ¦¡£ÔÚÏßServiceÄÚ´æ¡¢´ÅÅ̿ռä´óСÍùÍù²»ÊÇÆ¿¾±£¬´ÅÅÌIO¡¢ÍøÂç´ø¿íµÄʹÓ㬿ÉÒÔ½øÐÐÈí½µ¼¶¡£

¶ÔÓÚ±»ÏµÍ³ÖжϵÈʹÓõÄCPUºË£¬¾¡Á¿²»ÒªÊ¹ÓÃÕâЩ¼ÆËã×ÊÔ´·þÎñÓ¦ÓᣱϾ¹ºÍϵͳÖжÏÇÀ×ÊÔ´£¬·Ç³£²»Ã÷Öǵġ£

»ùÓÚLinux cgroup ʵÏÖµÄCPU¹²Ïí£ºCPU×ÓϵͳºÍCPU setÁ½ÖÖ·½Ê½£¬Õë¶ÔÔËÐÐʱµÄÇÀռЧ¹ûµÄºÃ»µ£¬ÐèҪͨ¹ýÕæÊµ³¡¾°¹Û²ìÈ·¶¨¡£ÒòΪҵÎñÌØÕ÷¶ÔЧ¹ûÓÐÒ»¶¨Ó°Ïì¡£ÒµÎñ¶Ôʱ¼äµÄÃô¸ÐÐÔ£¬´ÅÅÌIO¡¢ÍøÂçIOµÄ¶ÓÁм¼Êõ£¬¾ÍÐèÒªÉ÷ÖØÊ¹Óá£

4.×ÊÔ´ÀûÓÃÂʺÍÔ¤²âÔËÓÃ

×ÊÔ´ÀûÓÃÂÊÔÚµÚ2²¿·ÖÒѾ­Ìáµ½£¬Óë×ÊÔ´Á£¶È¡¢Ê±¼äƬ¡¢ÀûÓÃÂÊ¡¢·þÎñÆ÷ÔÚÏßÂʵȶ¼ÓйØÁª¡£ÕâЩ³éÏó²ãÃæ±³ºó£¬»¹ÓÐÄÇЩ·½ÃæÐèÒª×Ðϸʵʩ£¬ÒÔÈ·±£×îÖÕµÄЧÂÊ¡¢ÀûÓÃÂʵÄÌáÉý¡£ÏÂÃæÁоٲ¿·ÖÐÅÏ¢ÈçÏ¡£

4.1¸ºÔØÔ¤²â

¸ºÔØÔ¤²â£¬Ô¤²âµÄʵʱÐÔ¡¢×¼È·ÐÔ£¬Ó¦ÓÃʵÀý¹æ¸ñµÄÓÅ»¯¡¢ÔËÐÐʱ¶¯Ì¬×ÊÔ´µÄ·ÖÅ䡢ȫ¾ÖÈȵã°ÑÎÕ£¬¶¼ÊÇÖÁ¹ØÖØÒªµÄǰÖü¼Êõ¡£

¸ºÔØÊý¾ÝÖ÷Òª°üÀ¨CPUÀûÓÃÂÊ¡¢MemoryÏûºÄ¡¢DiskÏûºÄ£¬´ÅÅÌIO¡¢ÍøÂçIO£¬ÉõÖÁDB IOµÈ¡£´ÓÕâЩÀúÊ·Êý¾ÝÖУ¬¶àά¶È¶ÔÓ¦Óá¢Ó¦ÓÃʵÀý²ãÃæ·Ö±ð¸ø³öÃæÏò²»Í¬Ê±¼äƬ´óСµÄÔ¤²âÖµ£¬ÆäʵÊǷdz£¾ßÓÐÌôÕ½µÄÊÂÇé¡£Êý¾Ý¹æÄ£¡¢²É¼¯µÄ²¢·¢ÊµÊ±ÐÔ£¬ÔëÉùºÍÍ»·¢Á÷Á¿ÉõÖÁÏÞÁ÷µÈ£¬¶¼¶ÔÄ£Ð͵ÄÏìӦʱ¼ä¡¢Ä£Ð͵Ä׼ȷÂÊÌá³öÁ˺ܸߵÄÒªÇó¡£ÒòΪ´íÎóµÄÔ¤²â¿ÉÄܵ¼ÖÂÒâÏë²»µ½µÄµ÷¶ÈÓ°Ïì¡£

¸ºÔØÔ¤²âºÍÒµÎñQPS¡¢RT¹ØÁªÆðÀ´£¬ÉõÖÁºÍÄÜÔ´ÏûºÄ¡¢³É±¾¹ØÁªÆðÀ´£¬³ýÁËÇ÷ÊÆÆÀ¹À£¬»¹¿ÉÒÔ°ïÖú¾ö²ß¡£Óɴ˶ÔÊý¾ÝµÄЭͬ·ÖÎö£¬Ò²ÐèҪרҵµÄÍŶӽøÐиú½ø¡£[12,13,14,15,16,17]

4.2Ç¨ÒÆ×îÉÙ

ÔÚ×ÊÔ´µ÷¶ÈϵͳÉõÖÁÈκÎϵͳÖУ¬¶¼»á´æÔÚÀýÍ⣬´æÔÚϵͳ¹æÔò»òÕßÄ£ÐÍÎÞ·¨Ó¦¶Ô»òÕß֮ǰûÓÐÔ¤¹Àµ½µÄ°¸Àý¡£Ç¨ÒÆ×îÉÙ£¬´óÐÍ×ÊÔ´³Øµ÷¶È¹ý³ÌÖУ¬Ò²ÊÇÐèÒª¿¼Á¿²¢ÓÅ»¯µÄµã¡£Ç¨ÒƳɱ¾£¬°üÀ¨Ç¨ÒƵĴÎÊý¡¢Ç¨ÒƵĹæÄ£¡¢Ç¨ÒƵÄÓ°Ïì¡£

ÎïÀí»ú¹ÊÕϲ»¿É±ÜÃ⣬°´ÕÕÍò·ÖÖ®ÈýµÄ¸ÅÂʼÆË㣬һÍǫ̀·þÎñÆ÷£¬Ã¿Ìì´óÔ¼3̨·þÎñÆ÷´¥·¢Ó²¼þ¹ÊÕÏ£¬ÕâЩӲ¼þ¹ÊÕÏÉÏÃæµÄʵÀýҪôֱ½Ó²»¹¤×÷£¬ÒªÃ´´Óд´½¨¡£ÎÞ״̬µÄ£¬Ö±½ÓÀ©ÈÝ£¬ÓÐ״̬µÄÉæ¼°µ½Êý¾Ý°áǨ¡£

¼¯ÈºË鯬ÕûÀí»òÕ߸ºÔØÕûÀí£¬¶¼ÐèÒª¶ÔʵÀý½øÐÐÉÏÏß¡¢ÏÂÏß²Ù×÷¡£Ç¨ÒƵĹý³Ì£¬Æäʵ¾ÍÊÇ·þÎñ×ÊÔ´¡°ÔÝÍ£¡±·þÎñµÄ¹ý³Ì¡£Ç¨ÒÆ´ÎÊý¡¢¹æÄ£²»µÃ²»¿¼ÂÇ¡£

ÓÐʱºò¾ÍÊÇ´¿´âµÄ×ÊÔ´Ìæ»»£¬ÒòÎªÍøÂç»òÕß»úÐÍ»òÕßÒµÎñÐèÒª£¬×öµ½Ç¨ÒÆ×îÉÙ£¬ÔÚ×ÊÔ´Ô¤Ëã»òÕßÒµÎñ¹æ»®Ê±ºò±ØÐ뿼Á¿¡£¿´ÆðÀ´²»ÊÇ×ÊÔ´µ÷¶ÈÆ÷µÄÔðÈΣ¬µ«ÊÇ£¬³õÆÚÐèÒª×ÊÔ´µ÷¶ÈÆ÷µÄ½¨Ò飬´Ó¶ø½µµÍ¶þ´ÎÊáÀí³É±¾¡£

¶ÔÓÚÒÀÀµÐÔµÄJOBs,ÔÚÒµÎñ¿ªÊ¼Ê±ºò£¬¾ÍÓ¦¸Ã¿¼ÂÇÒÀÀµ¹ØÏµ¡£µäÐ͵ÄÊý¾Ý°áǨ¡¢·þÎñµ÷Óã¬×öµ½Í¬Ò»»ú¼Ü»òÕß½»»»»ú¶¼´øÀ´ÐÔÄÜÌáÉý¡£Ò»ÖÖÇ¨ÒÆ×îÉٵķ½°¸²Î¿¼ÂÛÎÄ[10]¡£

4.3µÈ´ý×î¶Ì

ÔÚ΢¹Û²ãÃæ£¬×ÊÔ´µ÷¶ÈÆ÷×ÊÔ´µ÷¶È£¬ÌرðÊÇ´ó¹æÄ£Jobsµ÷¶È£¬ÅŶÓÒÔ¼°ÅŶӿªÏú¿Í¹Û´æÔÚ¡£ÅŶӵij¤¶ÈºÍ¹«Æ½ÐÔ£¬ÓÐʱºòºÜì¶ÜµÄ¡£½µµÍÅŶÓʱ¼ä£¬Ò»·½ÃæÌáÉýÒµÎñÌåÑ飬ÁíÍâÒ»·½Ãæ×ÊÔ´·ÖÅäЧÂʸü¸ß£¬×ÊÔ´ÔÚÏß¹¤×÷ʱ¼äƬ¸ü¶à£¬×ÊÔ´ÀûÓÃÂÊÒ²¾Í¸üºÃ¡£ ¸÷ÖÖÓ¦¶ÔµÈ´ýµÄ¶ÓÁÐËã·¨£¬ÀýÈçÂÖѯ¡¢´øÈ¨Öµ¡¢ÓÅÏȼ¶£¬¶¼Óи÷×ÔµÄÓÅȱµã¡£¾ßÌ峡¾°ÐèÒª¾ßÌåÑ¡Ôñ[8,9]¡£

4.4Ë鯬×îÉÙ

Ë鯬×îÉÙÊÇĬÈϵģ¬Êµ¼ÊÑ¡ÔñÖ´ÐеÄ·¾¶ÓÐËù²»Í¬¡£¿ÕÏÐÓÅÏÈ£¬Ò²¾ÍÊÇÆÌ¿ªÓÅÏÈ¡£ÁíÍâÒ»ÖÖÊDZ¥ºÍÓÅÏÈ£¬Ò²¾ÍÊǽô´ÕÓÅÏÈ¡£ÔÚÏàͬ×ÊÔ´¡¢ÏàͬË鯬µÄʱºò£¬ÊÇÓÅÏÈÏò¿ÕÏнáµã²¿Ê𣬻¹Êǽ«ÒÑÓнáµã´ò±¥ºÍ£¬Ã»Óоø¶ÔµÄ±ê×¼¡£·½±ã´ó¹æ¸ñ×ÊÔ´µÄÉêÇ룬ÄÇô´ò±¥ºÍ±È½ÏÍ×µ±£¬ÕâÑùÏàͬË鯬Á¿µÄÇé¿öÏ£¬´ó¿é×ÊÔ´±È½Ï¶à¡£

ÔÚ¼ÆËãË鯬µÄʱºò£¬ÐèÒª×ÛºÏÆÀ¹ÀCPU¡¢Memory¡¢DiskµÈά¶È£¬Í¨³£CPUÊǺËÐľºÕù×ÊÔ´£¬ÓÅÏÈÆÀ¹ÀCPUµÄË鯬¡£È·±£CPU¹Ø¼ü×ÊÔ´µÄ³ä·ÖÀûÓã¬CPU×ÊÔ´ÔÚÈÝÆ÷»òÕßʵÀý²ãÃæ£¬ºÜÈÝÒ×¶¯Ì¬µ÷Õû¶ø²»ÐèÒªÖØÐÂʵÀý»¯µÈ¡£Ò»Ð©Ë鯬×îÉÙµÄËã·¨²Î¿¼ÂÛÎÄ[11]¡£

Èç¹ûʵ¼Ê·ÖÅä¹ý³ÌÖУ¬È·Êµ´æÔÚË鯬ÎÞ·¨·ÖÅä³öÒ»¸ö×ÊԴ룬ÄÇô¿ÉÒÔ½«ÓàϵÄCPUºË°ó¶¨µ½ÒÑ֪ʵÀýÉÏ¡£ËäÈ»CPU×ÊÔ´ÀûÓÃÆðÀ´ÁË£¬Èç¹ûÉϲãÁ÷Á¿¾ùºâµ÷¶È£¬ÄÇô£¬ÕâÖÖÏà¶ÔÆäËûʵÀý¶à³öµÄCPU×ÊÔ´£¬¿ÉÒÔÌáÉýÏìӦʱ¼ä£¬µ«ÊDz¢Ã»ÓÐÌáÉýQPS£¬Ö»¶ÔÎȶ¨ÐÔÓаïÖú¡£

4.5×ÊËð×îÉÙ

VM´ú¼Û¼ÆËãÄ£Ð͵±ÖУ¬³ýÁË×ÊÔ´Á£¶È¡¢Ê±¼äƬµÈÒòËØÍ⣬»¹ÐèÒª¿¼ÂÇ×ÊËð£¬ÓÈÆäÊǵçÉ̽»Ò×ÀàÔÚÏß·þÎñ¡£·þÎñÆ÷״̬Òì³£»òÕß¹ÊÕÏ£¬ÓÐʱºò»áÓÐÔì³ÉÓû§»òÕßÉ̼һòÕ߯óÒµµÄ²ÆÎñËðʧ¡£¾¡¹ÜÒµÎñ¼Ü¹¹²ãÃæ»á¼«´ó³Ì¶È¹æ±ÜÕâÖÖÇé¿öµÄ³öÏÖ£¬Êµ¼Ê¹ý³ÌÖУ¬Èç¹û°Ñ×ÊËð×îÉÙÈÚÈë³£¹æµ÷¶È²ßÂÔÖУ¬ÄÇô£¬Ò»µ©·¢Éú¾Ö²¿¼¯ÈºµÄ´óÃæ»ý¹ÊÕÏ£¬×ÊËðÀíÂÛÉϾͽµµ½×îµÍ¡£ÔÚÒÑÖªµÄ×ÊÔ´µ÷¶ÈÆ÷ÖУ¬´ú¼Û¸ü¶àµÄ¼¯ÖÐÔÚ×ÊÔ´±¾Éí£¬Ò²¾ÍÊÇIAAS²ã¿¼Á¿£¬¶ø°ÑÒµÎñ²ãµÄÐèÇó£¬ÀýÈ磬×ÊËð×îÉÙ½»¸øPAAS»òÕßSAAS²ã½â¾ö¡£´Ó×î³õµÄСÐÍ»ú¡¢ÉÌÓÃÊý¾Ý¿â¡¢×¨Óм¯ÈºµÈ£¬µ½·Ö²¼Ê½ÆÕͨ»úÆ÷£¬×ÔÑз¢ÏµÍ³£¬²»Í¬½×¶ÎµÄ¼¼ÊõÐÎ̬ºÍͶÈëÊDz»Ò»ÑùµÄ¡£Õû¸öÁ´Â·²ãÃæ£¬²ã²ã°Ñ¿Ø×ÊËð£¬Æäʵ×îºóÂäµ½×ÊÔ´µ÷¶ÈÆ÷²ãÃæµÄÓ°ÏìÏà¶Ô½ÏÉÙ¡£

ÁíÍâÒ»¸ö½Ç¶È¾ÍÊÇÒµÎñÐԼ۱ȣ¬×ÜÊÇÆÚÍû½«ÒµÎñÊÕÒæ×î´ó¡¢¹ÊÕÏÓ°Ïì×îÃô¸ÐµÄϵͳ£¬¶ÀÁ¢²¿Êð£¬×ÊÔ´ÓÅÏȱ£ÕÏ¡£ÀýÈç¹ã¸æÏµÍ³¡£

4.6¿ìËÙ»Ö¸´

ÔÚÓÐÏÞ×ÊÔ´µÄϵͳÀïÃæ£¬»òÕ߸߸ºÔØÔË×÷ϵͳÀïÃæ£¬¾Ö²¿¹ÊÕϵÄÓ°Ïì»á±»·Å´ó¡£ÔÚ´ó¹æÄ£µÄ×ÊԴϵͳÀïÃæ£¬Ã¿¸öÓ¦ÓõÄʵÀý¹æÄ£±È½Ï´ó£¬ÖØÆô»òÕßÉÏÏÂÏßʵÀý£¬¼¸ºõûÓÐË¿ºÁÓ°Ï졣ʧ°ÜµÄÁ÷Á¿Õ¼±È¼¸ºõ¿ÉÒÔºöÂÔ£¬Ê§°ÜµÄÇëÇóÖØÐ·ÖÅäµ½ÆäËû½áµã£¬¶ÔÆäËû½áµãµÄѹÁ¦Ôö³¤Ò²ÊÇ΢СµÄ¡£µ«ÊÇ£¬¼¸ºõÿ¸ö½áµãѹÁ¦¶¼´ïµ½ãÐÖµ90%×óÓҵϰ£¬ÄÇô£¬¼´Ê¹ÊǺÜÉÙÁ¿µÄ½áµã¹ÊÕÏ£¬Ó°ÏìÒ²»á·Å´ó¡£ÀýÈ磬Ãëɱ»òÕßÇÀ¹ºÉÌÆ·£¬ÊµÀýµÄÎȶ¨ÐÔÒªÇó·Ç³£¸ß¡£ºÜÄÑ×öµ½»úÆ÷100%ÎÞ¹ÊÕÏ£¬³ýÁËÒµÎñÈÝÁ¿ÈßÓàÖ®Í⣬¹ÊÕÏ¿ìËÙ»Ö¸´¿ÉÒÔ¼õÇá¹ÊÕÏÓ°Ïì¡£

ºÍ×ÊËðÀàËÆ£¬¹ÊÕÏ¿ìËÙ»Ö¸´Âäµ½×ÊÔ´µ÷¶ÈÆ÷²ãÃæµÄÔðÈλòÕßѹÁ¦£¬Æäʵ·Ç³£Î¢Èõ£¬ÉõÖÁ¿ÉÒÔºöÂÔ£¬³ý·ÇÊÇÌØÊâµÄÒµÎñ¡£Õë¶Ô¹ÊÕÏÎïÀí»ú³ÐÔØµÄʵÀýÖØÆôËٶȵķֲ¼£¬½øÐÐÓÐЧµÄ¿ØÖÆ£¬¿ÉÒÔ´Ó΢¹Û²ãÃæ£¬ÌáÉý¹ÊÕϵĿìËÙ»Ö¸´ÄÜÁ¦¡£

5.°¢ÀïµçÉ̵÷¶ÈZeusʵ¼ù

ÔÚµÚÒ»²¿·ÖµÄ¼Ü¹¹¡¢Êý¾Ý¡¢API·ÖÎö×ܽáÀïÃæ£¬ÒѾ­°Ñ°¢ÀïµÄһЩʵ¼ù¾­Ñé¸ÅÒªÃèÊöÁËһϡ£±¾²¿·Ö´ÓÕûÌåÉ϶ÔZeus½øÐиÅÒª×ܽᡣ

5.1ÉÏÏÂÓμܹ¹

°¢ÀïµçÉÌÒµÎñµÄ¸´Ôӳ̶ȣ¬ºÜÄÑÓÃÒ»¸öͼ»òÒ»¾ä»°ÃèÊöÇå³þ¡£´Ó×ÊÔ´µ÷¶ÈµÄ²ãÃæ¿´£¬°¢ÀïµÄÔÚÏß·þÎñ×ÊÔ´µ÷¶ÈϵͳZeusÒÀÀµ»òÕßÅäºÏµÄϵͳ£¬¶à´ïÊ®¼¸¸ö¡£Ã¿Ò»¸ö±»ÒÀÀµµÄϵͳ£¬³ýÁË·þÎñ×ÊÔ´µ÷¶ÈÆ÷Ö®Í⣬»¹·þÎñÆäËû³¡¾°¡£ÏÂÃæÒÔZeusʵ¼ÊÔË×÷¹ý³ÌÖйØÁª»òÕßÒÀÀµµÄÊӽǣ¬¸ø³öÕûÌå³éÏó¼Ü¹¹Ê¾Òâͼ£¬Èçͼ3Ëùʾ¡£

ͼ3°¢ÀïÔÚÏß×ÊÔ´µ÷¶È¼Ü¹¹Í¼

ZeusÏòÏ£¬ÒÀÍа¢Àï×ÔÓÐIAAS·þÎñ£¬ÀýÈçºËÐĵÄÈÝÆ÷¼¼Êõ£¬ÔËά¼à¿ØµÄµ×²ãͨµÀϵͳ¡£¶ÔÉÏ£¬ÏνÓÔËά·¢²¼ÏµÍ³¡¢¼à¿ØÊÓͼ¡¢»·¾³Ñ²¼ì¡¢´ò±êϵͳµÈµÈ¡£ZeusÌṩ×ÊÔ´µ÷¶È¹ý³ÌºÍ½á¹ûµÄ¿ÉÊÓ»¯Êý¾ÝÊÓͼ¡£¶Ô½Ó³É±¾ÈÝÁ¿¹Ü¿Ø£¬ÔÚ×ÊÔ´ÉêÇë¡¢»ØÊÕ¡¢³É±¾ºËËãµÈÕû¸ö×ÊÔ´ÉúÃüÖÜÆÚ£¬ÌṩÏà¹ØÊý¾Ý·þÎñ

ͨ¹ýÄ£ÄâÑÝÁ·£¬ÅäºÏÁ÷Á¿Ñ¹²â¡¢×·×Ùµ÷¶Èϵͳ£¬Ìáǰ·¢ÏÖ²»ºÏÀí²¿Êð²¢×Ô¶¯µ÷Åä¡£×öµ½´ó´Ù¸ß·åÁ÷Á¿³¡¾°Ï£¬ÒµÎñµÄ¸ß¿ÉÓ㬵ͳɱ¾¿ªÏú¡£

5.2µ÷¶È²ßÂÔ

»ùÓÚÔ¤ËãµÄͳ³ï°²ÅÅ£¬ÕâÒâζ×Å×ÊÔ´´æÔÚijÖ̶ֳȵġ°±ß½ç¡±£º¾ÍÊÇ¡°Ô¤Ë㡱¡£³¬³öÔ¤Ëã¾Í±äµÃºÜ±»¶¯¡£ÎªÁËÌáÉý×ÊÔ´ÀûÓÃÂÊ£¬¸ºÔؾùºâ£¬ÐèÒª¿ç×ÊÔ´±ß½çµÄ¹²Ïí£¬ÒÔ¹²Ó®ºÏ×÷·½Ê½À´Íƶ¯¡£¶øGoogle BorgµÄ¾ºÅÄģʽ£¬´ÓÒ»¿ªÊ¼×ÊÔ´ÊÇÃæÏòËùÓÐ×éÖ¯ÒµÎñ¡¢Ïà¶Ô¹«Æ½µÄ¡£Á½ÖÖģʽѡÔñ¶¼²»ÊÇÆ¾¿ÕµÄ£¬¶¼ÊǰéËæÆóÒµ×ÔÉí¼¼Êõ·¢Õ¹¡¢ÌùºÏ¸÷×Ôʵ¼ÊÒµÎñÌØÕ÷²úÉúµÄ¡£Ã»ÓÐÓÅÁÓ£¬Ö»ÓкÏÊÊÓë·ñ¡£

ZesuÖ§³ÖÔÚÏß¡¢ÀëÏß»ìºÏ²¿Êð¡£Ò»ÖÖ£¬ÔÚÀëÏßÈÎÎñ¹Ì¶¨Åä¶î£¬ÔÚµ¥»ú»òÕß¼¯Èº²ãÃæ¹Ì¶¨Åä¶î£¬´Ëʱ£¬ÔÚÀëÏßÖ®¼äµÄ×ÊÔ´ÕùÇÀÊÇ¿ÉÒÔÔ¤ÖªµÄ£¬»òÕß˵×ÊÔ´µÄ±ß½ç²»´òÆÆ£¬ÀíÂÛÉϾͲ»´æÔÚ×ÊÔ´µÄ¸ÉÈÅ¡£ÕâÖÖģʽ£¬ÓÐʵ¼ù¹ý¡£ÁíÍâÒ»ÖÖ£¬ÔÚÏßÀëÏßÈÎÎñµÄÔËÐÐʱ×ÊÔ´ÇÀÕ¼£¬µ±ÔÚÏßÈÎÎñ×ÊÔ´½ôÕÅ£¬µ¥½ÚµãÀëÏßÈÎÎñ¾ÍÐèÒªÊÍ·ÅCPU»òÕß´ÅÅÌIO»òÕßÍøÂç´ø¿í×ÊÔ´¡£

ÇÀÕ¼·¢ÉúµÄʱ¿Ì£¬³ýÁ˳õʼ·ÖÅä¡¢Ò²°üÀ¨ÔËÐÐʱʱ¿Ì¡£ÀýÈ磬ÔÚÏߺÍÀëÏßÖ®¼äÇÀÕ¼£¬ÉõÖÁ°üÀ¨ÔÚÏßÈÎÎñÖ®¼äµÄ×ÊÔ´ÇÀÕ¼¡£

ÁíÍâÒ»ÖÖÇÀÕ¼£¬»òÕß˵×ÊÔ´Çãб£¬»òÕß˵ҵÎñ¹ÜÀíÐèÇó°É¡£ÔÚÏßÈÎÎñÓÖϸ·ÖÖмä¼þ»ù´¡·þÎñ¡¢ÔËά¼à¿Ø»ù´¡·þÎñ¡¢°²È«·çÏÕ¿ØÖƵÈÒµÎñÄ£¿é£¬ÕâÐ©ÖØÒªµÄÒµÎñ×ÊÔ´ÓÅÏȱ£ÕÏ£¬²»±»ÇÀÕ¼¡£

¶Ô´ýË鯬£¬×ÜÌåÉÏË鯬×îÉÙ¡£ºòÑ¡×ÊÔ´½áµãÅÅÐòÉÏ£¬ÆÌ¿ªÓÅÏȺͽô´ÕÓÅÏȶ¼ÓС£¿´¾ßÌå×ÊÔ´³ØºÍ¶ÔÓ¦ÒµÎñµÄÐèÇó¶ø¶¨¡£ÓÃÓÚÌØÊⳡ¾°Ï£¬ÉõÖÁ´æÔÚÔËÐÐʱ¶¯Ì¬È·¶¨×ÊÔ´µÄ²ßÂÔ£¬ÀýÈçÃë¼¶±ðÏìÓ¦×ÊÔ´·þÎñÐèÇó¡£

¹ÊÕÏÔ¤¾¯¡¢¹ÊÕϼì²â¡¢»·¾³Ñ²¼ì¡¢´ò±ê¡¢ÌáÉý×ÊÔ´ÔÚÏßÂÊ¡¢Á÷³ÌÊý¾ÝÒ»ÖÂÐԵȣ¬Ò²ÓÐÏàÓ¦µÄ²ßÂÔ¡£ÀýÈ磺»ùÓÚGolangʵÏֵĶÓÁУ¬Ö§³ÖÅäÖõÄÅúÁ¿¸üС¢²É¼¯µÈ¡£»ùÓÚGolang Э³ÌºÍMap£¬ÊµÏֶ༶²¢·¢µÄ»úÆ÷Ñ¡ÔñºÍ¼ÆËãµÃ·ÖÅÅÐòµÈ¡£

5.3ÀûÓÃÂʺÍÔ¤²â

×ÊÔ´ÀûÓÃÂÊÏà¶Ô°¢Àï¹ýÈ¥Óв»ÉÙÌáÉý£¬Ã¿Äê½ÚÔ¼³É±¾ÒÚΪµ¥Î»¡£Ïà¶ÔÒµ½ç£¬Ìض¨µÄ×ÊÔ´³ØÀûÓÃÂÊ´ïµ½ÉõÖÁ³¬¹ýÒµ½çˮƽ£¬×ÜÌå´òƽµÄÀûÓÃÂÊ£¬ÓëÒµ½ç»¹ÓÐһЩ²î¾à¡£ÕâЩ²î¾àºÍÒµÎñ³¡¾°¡¢ÄÚ²¿ÒÀÀµÅäºÏµÄϵͳ¹¤¾ßµÄ³ÉÊì¶È¡¢·¢Õ¹¼Æ»®¶¼ÓйØÁª¡£

Ô¤²âÄ¿±êÊÇijÖ̶ֳȰÑÕû¸öϵͳµÄÁ÷ת¹ý³Ì£¬Êý¾Ý»¯¡¢Ä£ÐÍ»¯¡¢×Ô¶¯»¯¡£Ô¤²âµÄÄÜÁ¦Ä³Ö̶ֳȾö¶¨ÁË×ÊÔ´µ÷¶Èϵͳ×îÖÕÄÜ´ïµ½µÄÀíÏë״̬¡£ÔÚ°¢ÀïÄÚ²¿£¬Õë¶ÔÔÚÏß»òÕßÀëÏßÈÎÎñµÄ¸ºÔØÔ¤²â¡¢ÈÝÁ¿Ë®Î»Ô¤²â¡¢È«Á´Â·Ä£Ð͵ȣ¬¶¼ÓÐÏà¹ØµÄÍŶÓÔÚ¸ºÔ𣬲¢¾­ÀúÁ˼¸½ìË«11µÄ¿¼Ñ飬ԽÀ´Ô½Îȶ¨¡¢¸ßЧ¡¢×¼È·¡£¾ßÌåÔ¤²âÄ£ÐÍ¡¢Ëã·¨ÉÏÃæ£¬ÑÓÐø×ÅÒµ½çÒѹ«¿ªµÄÂÛÎÄ£¬²¢½áºÏ°¢ÀïÒµÎñ³¡¾°£¬×öÊʺÏÒµÎñ·¢Õ¹ÐèÒª²Ã¼ôʵ¼ù¡£

5.4ÔÆ¶Ëµ÷¶È

Ëæ×ÅÔÆ¼ÆËãµÄ·¢Õ¹£¬µçÉÌ»ìºÏÔÆ²¿Êð¼Ü¹¹µÄ³ÉÊì¡£¼¸ºõËùÓÐÆóҵδÀ´¶¼ÃæÁÙÔÆ¶Ëµ÷¶ÈµÄÎÊÌâ¡£ÔÚÔÆ¶ËµÄ×ÊÔ´µ÷¶È¡¢»ìºÏÔÆµ÷¶È£¬¶ÔϵͳµÄЭͬÄÜÁ¦¡¢¿ìËÙÉÏÏÂÏßÄÜÁ¦Ìá³öÁ˸ü¸ßµÄÒªÇó¡£2015ÄêË«11£¬³ä·ÖÀûÓÃÁ˰¢ÀïÔÆµÄ¹«¹²ÔƼÆËã×ÊÔ´À´·Öµ£Ò»²¿·ÖÁ÷Á¿£¬°¢Àï¡¢ÌÔ±¦¡¢Ö§¸¶±¦ÔÚ½ñÄêË«11×öµ½ÁËÕâÒ»µã£¬²¢ÇÒ¿¸×¡ÁËÑÏ¿áµÄÁ÷Á¿¿¼Ñ顣ʵÏÖÁ˽»Ò×ÉÏÔÆµÄ¹Ø¼ü¼¼ÊõµÄÍ»ÆÆ¡£Î´À´£¬ÔÚÔÆ¶ËµÄ½»Ò׸ü¼ÓÆÕ±é£¬ÔƶË×ÊÔ´µ÷¶ÈµÄ¼¼Êõ¡¢¾­Ñé¸ü¼Ó·á¸»¡£ÔÚ¼¼Êõ¡¢¾­ÑéÍêÉÆºó£¬µçÉÌ»á·ÖÏí¸øÒµ½ç£¬Èôó¼ÒÏíÊÜÔÆ´øÀ´µÄµÍ³É±¾¡¢±ã½Ý¡¢¸ßЧ¡£

   
1519 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ