ÕªÒª
ΪÁËÂú×ãäÖȾ¡¢»ùÒò²âÐòµÈ¼ÆËãÃܼ¯ÐÍ·þÎñµÄÐèÇó£¬UCloud ÍÆ³öÁË¡°¼ÆË㹤³§¡±²úÆ·£¬ÈÃÓû§¿ÉÒÔ¿ìËÙ´´½¨´óÁ¿µÄ¼ÆËã×ÊÔ´£¨ÐéÄâ»ú£©¡£¸Ã²úÆ·µÄ±³ºó£¬ÊÇÒ»Ì×»ùÓÚ
Mesos µÄ¼ÆËã×ÊÔ´¹ÜÀíϵͳ¡£±¾ÎļòÒª½éÉܸÃϵͳµÄ½á¹¹¡¢Mesos ÔÚ UCloud µÄʹÓÃÒÔ¼°ÎÒÃÇÓöµ½µÄÎÊÌâ¡£
ÒµÎñÐèÇó
ÎÒÃǵÄÐèÇóÖ÷ÒªÊÇÁ½·½Ã棺
ͬʱ֧³ÖÐéÄâ»úºÍÈÝÆ÷¡£
ÔÚ¡°ÈÝÆ÷»¯¡±µÄÀ˳±Ï£¬ÎªÊ²Ã´ÎÒÃÇ»¹ÐèÒªÖ§³ÖÐéÄâ»úÄØ£¿Ê×ÏÈ£¬Ò»Ð©ÒµÎñÓÐÑϸñµÄ°²È«¸ôÀëÒªÇó£¬ÈÝÆ÷ËäºÃ£¬µ«»¹×ö²»µ½ºÍÐéÄâ»úͬµÈ¼¶µÄ¸ôÀëÐÔ¡£Æä´Î£¬Ò»Ð©ÒµÎñ³ÌÐò²»ÄÜÔËÐÐÔÚ
Linux ÉÏ£¬±ÈÈçͼƬ¡¢¶¯»µÄäÖȾÈí¼þ´ó¶¼ÊÇ Windows ³ÌÐò¡£
ÕûºÏ¶àµØÓò¶àÊý¾ÝÖÐÐÄ¡£
ÎÒÃǵÄ×ÊÔ´À´Ô´ÓÚһЩӵÓÐÏÐÖÃ×ÊÔ´µÄºÏ×÷»ï°é£¬ÕâЩ×ÊÔ´É¢²¼ÓÚ¶à¸öµØÓòµÄ¶à¸öÊý¾ÝÖÐÐÄÖС£ÎÒÃÇµÄÆ½Ì¨ÐèÒªÄܹ»Ö§³ÖÈ«¾ÖµÄµ÷¶È£¬Í¬Ê±¾¡¿ÉÄܼõСÔËÓª¡¢ÔËάµÄ³É±¾¡£
¼òµ¥µØËµ£¬ÎÒÃÇÐèÒªÓÐÒ»¸öƽ̨£¬Í³Ò»·â×°¶à¸öÊý¾ÝÖÐÐĵļÆËã×ÊÔ´£¬²¢ÇÒͬʱ֧³ÖÐéÄâ»ú¡¢ÈÝÆ÷µÈ¶àÖÖÐÎʽµÄ×ÊԴʹÓ÷½Ê½¡£

£¨Í¼1£º¼ÆËã×ÊÔ´¹ÜÀíÆ½Ì¨µÄÐèÇóʾÒâͼ£©
˵µ½ÐéÄâ»ú£¬Ê×ÏÈÏëµ½µÄ¾ÍÊÇ UCloud ×Ô¼ºµÄ ÔÆÖ÷»úUHost ºÍ¿ªÔ´µÄ OpenStack£¬È»¶ø£¬ÕâÁ½Ì×ϵͳ¶¼ÊÇÕë¶Ô´óÐ͹«ÓÐÔÆµÄ³¡¾°£¬¶øÇÒÖ÷ÒªÖ»Õë¶ÔÓÚÐéÄâ»úÕâÒ»ÖÖÒµÎñ¡£ËüÃǹ¦Äܷḻ¡¢Ä£¿éÖڶ࣬ÔËάÔËÓªÉ϶¼ÐèÒªºÜ´óµÄ³É±¾¡£È»¶øÎÒÃǵÄÒµÎñ²¢²»ÐèÒªÕâô¶à¹¦ÄÜ¡£
×îÖÕ£¬ÎÒÃÇÑ¡Ôñ»ùÓÚ Mesos À´ÊµÏÖÕâÌׯ½Ì¨¡£
ΪʲôѡÔñ Mesos
MesosÊÇApacheϵĿªÔ´·Ö²¼Ê½×ÊÔ´¹ÜÀí¿ò¼Ü£¬ËüÊÇÒ»¸ö·Ö²¼Ê½ÏµÍ³µÄÄںˡ£
ͨ¹ý Mesos£¬Ò»¸öÊý¾ÝÖÐÐÄËùÌṩµÄ²»ÔÙÊÇһ̨̨·þÎñÆ÷£¬¶øÊÇÒ»·Ý·ÝµÄ×ÊÔ´¡£×ÊÔ´¿ÉÒÔÊÇ CPU ºËÊý¡¢ÄÚ´æ¡¢´æ´¢¡¢GPU
µÈµÈ¡£Èç¹û°ÑÒ»¸öÊý¾ÝÖÐÐĵ±×öÒ»¸ö²Ù×÷ϵͳµÄ»°£¬Mesos ¾ÍÊÇÕâ¸ö²Ù×÷ϵͳµÄÄںˡ£
ÎÒÃÇÑ¡Ôñ Mesos µÄÔÒòÔÚÓÚËüÓµÓи߶ȿÉÀ©Õ¹ÐÔ£¬Í¬Ê±ÓÖ×ã¹»¼òµ¥¡£
×÷ΪÄںˣ¬Mesos Ö»Ìṩ×î»ù´¡µÄ¹¦ÄÜ£º×ÊÔ´¹ÜÀí¡¢ÈÎÎñ¹ÜÀí¡¢µ÷¶ÈµÈ¡£²¢ÇÒÿһÖÖ¹¦ÄÜ£¬¶¼ÒÔÄ£¿éµÄ·½Ê½ÊµÏÖ£¬·½±ã½øÐж¨ÖÆ¡£¼Ü¹¹ÉÏ£¬Master
ºÍ Agent Á½¸öÄ£¿é¾ÍʵÏÖÁË×ÊÔ´Ïà¹ØµÄËùÓй¤×÷£¬Óû§Ö»Ðè¸ù¾Ý×Ô¼ºµÄÒµÎñÂ߼ʵÏÖ Framework
ºÍ Executor ¼´¿É¡£ÕâÑù¾ÍÖ§³ÖÎÒÃÇÄܹ»°Ñ¼ÆËã×ÊÔ´·â×°³ÉÐéÄâ»ú¡¢ÈÝÆ÷µÈ¸÷ÖÖÐÎʽ¡£
²ÉÓà Mesos À´½øÐÐÈÝÆ÷±àÅŵķ½°¸ÒѾ±»ºÜ¶à³§ÉÌʹÓã¬Ïà¹ØµÄ×ÊÁÏÎĵµÒ²±È½Ï·á¸»¡£È»¶øÓà Mesos
À´¹ÜÀíÐéÄâ»ú£¬ÒµÄÚ²¢Ã»ÓÐÓ¦ÓÃÓÚÉú²ú»·¾³µÄʵ¼ù¡£±¾ÎĵÄÓàÏÂÄÚÈÝ£¬Ö÷ÒªÏò¶ÁÕß·ÖÏíһϠUCloud Óà Mesos
¹ÜÀíÐéÄâ»úµÄ˼·ºÍʵ¼ù¾Ñé¡£
Mesos ¼ò½é
Mesos ²ÉÓà Master-Agent ¼Ü¹¹¡£Master ¸ºÔðÕûÌå×ÊÔ´µÄµ÷¶È²¢¶ÔÍâÌṩ API¡£Agent
²¿ÊðÔÚËùÓлúÆ÷ÉÏ£¬¸ºÔðµ÷Óà Executor Ö´ÐÐÈÎÎñ¡¢Ïò Master »ã±¨×´Ì¬µÈ¡£
Mesos ÌṩÁËÒ»¸öË«²ãµ÷¶ÈÄ£ÐÍ£º
Master ÔÚ Framework Ö®¼ä½øÐÐ×ÊÔ´µ÷¶È¡£
ÿ¸ö Framework ÄÚ²¿ÊµÏÖ¸÷×ÔÒµÎñµÄ×ÊÔ´µ÷¶È¡£
ÕûÌå¼Ü¹¹ÈçÏÂͼ£º

£¨Í¼2£ºMesos µÄË«²ãµ÷¶È½á¹¹Í¼£©
¼Ü¹¹Éè¼Æ
ÕûÌå¼Ü¹¹
ÔÚ Mesos µÄË«²ãµ÷¶ÈÄ£ÐÍÉÏ£¬Æ½Ì¨µÄÕûÌå¼Ü¹¹ÈçÏÂͼ£º

£¨Í¼3£º»ùÓÚMesosµÄ×ÊÔ´¹ÜÀíÆ½Ì¨ÕûÌå¼Ü¹¹Í¼£©
½á¹¹ÈçÏ£º
ÿ¸ö IDC Ò»Ì×»ò¶àÌ× Mesos ¼¯Èº
ÿ¸ö Mesos ¼¯ÈºÒ»¸ö Cluster Server£¬Óë Mesos Master ÒÔ¼° Framework
½»»¥£¬¸ºÔð¼¯ÈºÄÚ²¿µÄµ÷¶È¡¢×´Ì¬ÊÕ¼¯ºÍÈÎÎñÏ·¢
Ò»¸öMesos¼¯ÈºÉÏÓжà¸öFramework£¬Ò»¸ö Framework ¸ºÔðÒ»ÖÖÒµÎñ£¬±ÈÈç VM Scheduler
¹ÜÀíÐéÄâ»ú£¬Marathon Framework ¹ÜÀíDockerÈÎÎñ
VM Framework¿ò¼ÜʵÏÖ¹ÜÀíµÄ Excutor »ùÓÚLibvirt£¬ÊµÏÖÐéÄâ»úµÄ´´½¨£¬ÖØÆô£¬É¾³ýµÈ²Ù×÷
ËùÓÐ Cluster Server ͳһÏò API Server »ã±¨£¬Éϱ¨×´Ì¬¡¢»ñÈ¡ÈÎÎñ
API Server ¸ºÔðÖ÷ÒªÒµÎñÂß¼£¬ÒÔ¼°¼¯Èº¼äµÄµ÷¶È¡¢×ÊÔ´ºÍÈÎÎñµÄ¹ÜÀíµÈµÈ
API Gateway Ìṩ API ¸ø UCloud ¿ØÖÆÌ¨£¨Console£©
»ùÓÚ HTTP µÄͨÐÅ
ϵͳÄÚµÄËùÓÐͨÐŶ¼»ùÓÚ HTTP¡£
Ê×ÏÈ£¬Mesos ÄÚ²¿»ùÓÚ libprocess ¸÷×é¼þÖ®¼äµÄͨÐŶ¼¶¼ÒÀÀµ libprocess ¿â£¬¸Ã¿âÓÃ
C++ ʵÏÖÁË Actor ģʽ¡£Ã¿¸ö Actor »á¼àÌý HTTP ÇëÇó£¬Ïò Actor ·¢ÏûÏ¢µÄ¹ý³Ì¾ÍÊǰÑÏûÏ¢ÌåÐòÁл¯ºó·ÅÔÚ
HTTP ±¨ÎÄÖУ¬È»ºóÇëÇóÕâ¸ö Actor¡£
Æä´Î£¬ÒµÎñÏà¹ØµÄ¸÷¸ö×é¼þ£¬API Server¡¢Cluster Server µÈÒ²¶¼Í¨¹ý Restful
µÄ API Ìṩ·þÎñ¡£
HTTP µÄÓŵãÔÚÓÚ¼òµ¥¿É¿¿¡¢Ò×ÓÚ¿ª·¢µ÷ÊÔºÍÀ©Õ¹¡£
VM Scheduler
¶ÔÓÚ Docker ÈÝÆ÷£¬ÎÒÃDzÉÓà Marathon Framework ½øÐйÜÀí¡£¶ø¶ÔÓÚÐéÄâ»ú£¬ÎÒÃÇÔò²ÉÓÃ×Ô¼º¿ª·¢µÄ
VM Scheduler Framework ¡£
VM Scheduler ´Ó Master »ñȡһ¸ö¸öµÄ×ÊÔ´ offer ¡£Ò»¸ö×ÊÔ´ offer °üº¬ÁËij¸ö
Agent ÉÏ¿ÉÓõÄ×ÊÔ´¡£µ±ÓÐÐéÄâ»úÈÎÎñÐèÒªÖ´ÐÐÊÇ£¬Cluster Server »á°ÑÈÎÎñµÄ¾ßÌåÐÅÏ¢·¢Ë͸ø
VM Scheduler¡£
ÈÎÎñ·ÖΪÁ½Àࣺ
´´½¨/ɾ³ýÒ»¸öÐéÄâ»ú¡£´ËʱÐèÒª´«ÈëÐéÄâ»úµÄÅäÖÃÐÅÏ¢¡¢°üÀ¨¾µÏñ¡¢ÍøÂç¡¢´æ´¢µÈ¡£VM Scheduler
¸ù¾ÝÕâЩÐÅÏ¢£¬Æ¥ÅäÂú×ãÒªÇóµÄ Resource Offer£¬È»ºóÉú³É Task Ìá½»¸ø Mesos Master
È¥Ö´ÐС£
²Ù×÷Ò»¸öÐéÄâ»ú£¬È翪¹Ø»ú¡¢ÖØÆô¡¢¾µÏñÖÆ×÷µÈ¡£´Ëʱ VM Scheduler »áºÍ VM Executor
ͨ¹ý Framework Message ͨÐÅ£¬¸æËߺóÕßÈ¥Ö´ÐоßÌåµÄ²Ù×÷¡£
VM Executor
Task ÊÇ Mesos ÖÐ×ÊÔ´·ÖÅäµÄ×îСµ¥Î»¡£Master »á¸æËß Agent ÐèÒªÖ´ÐÐÄÄЩ Task£¬Agent
Ò²»á°Ñ Task µÄ״̬»ã±¨¸ø Master¡£¸ù¾Ý Task µÄÐÅÏ¢£¬Agent »áÏÂÔØ²¢Æô¶¯ËùÐèµÄ Executor£¬È»ºó°Ñ¾ßÌåµÄ
Task ÃèÊö´«¸øËü¡£
VM Executor ÊÇÎÒÃÇ¿ª·¢µÄ¶ÔÐéÄâ»úµÄÉúÃüÖÜÆÚ½øÐйÜÀíµÄ Executor£¬ÊµÏÖÁ˶ÔÐéÄâ»ú´´½¨¡¢É¾³ý¡¢¿ª¹Ø»ú¡¢¾µÏñÖÆ×÷µÈ¹¦ÄÜ¡£
VM Executor Æô¶¯ºó£¬¸ù¾Ý Task µÄÃèÊö£¬¶¯Ì¬Éú³ÉÐéÄâ»úÐèÒªµÄÅäÖÃÎļþ£¬È»ºóµ÷Óà libvirt
½øÐÐÐéÄâ»ú´´½¨¡£µ±ÊÕµ½À´×Ô VM Scheduler µÄ Framework Message ʱ£¬ÓÖµ÷ÓÃ
libvirt ½øÐпª¹Ø»úµÈ²Ù×÷¡£
״̬µÄ¹ÜÀíÊÇʵÏÖÐéÄâ»ú¹ÜÀíµÄ¹Ø¼ü²¿·Ö¡£Í¨¹ý Mesos ÎÒÃÇÖ»ÄÜÄõ½ Task µÄ״̬£¬RUNING
±íʾÐéÄâ»ú´´½¨³É¹¦£¬FAILED ±íʾÐéÄâ»úʧ°Ü£¬FINISHED ±íʾÐéÄâ»ú³É¹¦Ïú»Ù¡£
È»¶ø³ý´ËÖ®Í⣬һ¸öÐéÄâ»ú»¹´æÔÚ¡°¿ª»úÖС±¡¢¡°¹Ø»úÖС±¡¢¡°¹Ø»ú¡±¡¢¡°¾µÏñÖÆ×÷ÖС±µÈÆäËû״̬¡£ÎÒÃÇͨ¹ýÔÚ
VM Executor ºÍ VM Scheduler Ö®¼ä½øÐÐÐÄÌø£¬°ÑÕâЩ״̬ͬ²½¸ø VM Scheduler¡£
ºóÕß¶Ô״̬½øÐÐÅжϣ¬Èç¹û·¢ÏÖ״̬¸Ä±äÁË£¬¾Í·¢ËÍÒ»Ìõ״̬¸üеÄÏûÏ¢¸ø Cluster Server£¬È»ºóÔÙת·¢¸ø
API Server£¬×îÖÕ¸üе½Êý¾Ý¿â¡£
ÐéÄâ»úµÄµ÷¶È
Ê×ÏÈ¿´Ò»ÏÂÒ»¸ö Task ÔÚ Mesos ÖÐÊÇÔõôµ÷¶ÈµÄ£º

£¨Í¼4£ºMesos ×ÊÔ´µ÷¶È¹ý³ÌʾÒâͼ£©
ÉÏÃæµÄʾÀýÖУº
Agent Ïò Master »ã±¨×Ô¼ºËùÓµÓеÄ×ÊÔ´
Master ¸ù¾Ý Dominant Resource Fairness(DRF) µ÷¶ÈËã·¨£¬°ÑÕâ·Ý×ÊÔ´×÷Ϊһ¸ö
resource offer Ìṩ¸ø Framework 1
Framework 1 ¸ù¾Ý×Ô¼ºµÄÒµÎñÂß¼£¬¸æËß Master Ëü×¼±¸ÓÃÕâ·Ý×ÊÔ´Æô¶¯Á½¸ö Task
Master ֪ͨ Agent Æô¶¯ÕâÁ½¸ö Task
¶ÔÓ¦µ½ÐéÄâ»úµÄÇé¿ö£¬µ÷¶È·ÖÁ½¸ö²¿·Ö£º
Ñ¡Ôñ¼¯Èº¡£Ä¬ÈÏÇé¿öÏ£¬API Server ¸ù¾Ý×ÊÔ´ÐèÇ󣬴Ó×¢²áÉÏÀ´µÄ¼¯ÈºÖÐÑ¡ÔñÒ»¸öÓµ×ã¹»×ÊÔ´µÄ¼¯Èº£¬È»ºó°Ñ×ÊÔ´ÐèÇó·ÖÅ䏸¸Ã¼¯Èº¡£ÁíÍ⣬»¹¿ÉÒÔÕë¶Ô²»Í¬µÄ¹«Ë¾¡¢ÏîÄ¿µÈά¶ÈÖÆ¶¨ÔÚij¸ö¼¯ÈºÔËÐУ»
¼¯ÈºÄÚµ÷¶È¡£Cluster Server ´Ó API Server ´¦»ñÈ¡µ½×ÊÔ´ÐèÇ󣬱ÈÈç˵ÐèÒª 200
¸öºË£¬ÓÚÊǸù¾Ý Mesos µ±Ç°×ÊԴʹÓÃÇé¿ö£¬´´½¨³öÒ»¸ö¡°×ÊÔ´¼Æ»®¡±£¬200¸öºË±»·ÖÅäΪ4¸ö48ºËÐéÄâ»úºÍ1¸ö8ºËÐéÄâ»ú¡£È»ºó֪ͨ
Framework °´ÕÕÕâ·Ý¼Æ»®À´´´½¨5¸öTask¡£
×ÊÔ´µÄ±êʶ
·þÎñÆ÷Ö®¼ä³ýÁË CPU¡¢ÄÚ´æ¡¢Ó²Å̵ȿÉÄܲ»Í¬Í⣬»¹»á´æÔÚÆäËûµÄ²î±ð¡£±ÈÈçÓÐʱºòÒµÎñÒªÇóÒ»¶¨ÒªÓÃij¸öÐͺŵÄ
CPU£¬ÓÐʱºòÒªÇóÒ»¶¨ÒªÓµÓÐ SSDµÈµÈ¡£ÎªÁËÖ§³Ö¸ü¶àά¶ÈµÄµ÷¶È£¬ÎÒÃÇÀûÓÃÁË Mesos µÄ Resource
ºÍ Attribute À´±êʶ²»Í¬µÄ×ÊÔ´¡£
ResourceÊÇ Mesos ÖеÄÒ»¸ö¸ÅÄ±íʾһÇÐÓû§ÐèҪʹÓõĶ«Î÷¡£Agent ĬÈÏ»á×Ô¶¯Ìí¼Ó
cpus, gpus, mem, ports ºÍ disk Õâ5ÖÖ×ÊÔ´¡£ÁíÍ⻹¿ÉÒÔÔÚ Agent Æô¶¯Ê±£¬Í¨¹ý²ÎÊýÖ¸¶¨ÆäËû×ÊÔ´¡£
Attribute ÒÔ Key-Value ÐÎʽµÄ±êÇ©£¬±êʶһ¸ö Agent ÓµÓеÄÊôÐÔ£¬Í¬Ñù¿ÉÒÔÔÚÆô¶¯Ê±Í¨¹ý²ÎÊýÖ¸¶¨¡£
ͨ¹ý Resource ºÍ Attribute µÄÁé»îÔËÓ㬿ÉÒÔ±êʶ³ö¸ü¶àµÄ×ÊÔ´Çé¿ö£¬Âú×ã¸÷ÖÖ×ÊÔ´µ÷¶ÈÐèÇó¡£±ÈÈçͨ¹ý
Resource Ö¸¶¨ SSD ´óС¡¢CPUÐͺţ¬Í¨¹ý Attribute ±êʶ»ú¼Üλ¡¢ÊÇ·ñÓµÓÐÍâÍø IP£¬ÊÇ·ñÖ§³Ö³¬Ï̵߳ȵȡ£
Framework ÊÕµ½Ò»¸ö resource offer ºó£¬Óë´ýÖ´ÐеÄÈÎÎñÐèÇó½øÐÐÆ¥Å䣬ͨ¹ý resource
ÅжÏ×ÊÔ´ÊÇ·ñ¹»Óã¬ÔÙͨ¹ý Attribute ÅжÏÊÇ·ñÂú×ãÆäËûά¶ÈµÄÐèÇó£¬×îÖÕ¾ö¶¨ÊÇ·ñÓÃÕâ¸ö offer
À´´´½¨ Task¡£
¾µÏñ¡¢´æ´¢ºÍÍøÂç¹ÜÀí
ƽ̨ÌṩÁËһЩ»ù´¡¾µÏñ£¬ÁíÍâÓû§Ò²¿ÉÒÔ»ùÓÚ×Ô¼ºµÄÐéÄâ»ú´´½¨×Ô¼ºµÄ¾µÏñ¡£ÕâЩ¾µÏñÎļþͳһ´æ´¢ÔÚÒ»¸ö»ùÓÚ
GlusterFS µÄ·Ö²¿Êð´æ´¢·þÎñÖУ¬¸Ã·þÎñ¹ÒÔØÔÚÿ̨ÎïÀí»úÉÏ¡£
ÓÐЩҵÎñ³¡¾°ÐèÒª²¿·ÖÐéÄâ»úÄܹ»¹²Ïíͬһ·Ý´æ´¢£¬ÓÚÊÇÎÒÃÇ»¹ÊÇ»ùÓÚ GlusterFS ¿ª·¢ÁËÓû§´æ´¢·þÎñ£¬Äܹ»¸ù¾ÝÓû§µÄÅäÖã¬ÔÚÐéÄâ»ú´´½¨Ê±×Ô¶¯¹ÒÔØºÃ¡£
ÍøÂç·½Ãæ£¬Ã¿¸öÓû§¿ÉÒÔ´´½¨¶à¸ö×ÓÍø£¬¸÷¸ö×ÓÍøÖ®¼ä×öÁËÍøÂç¸ôÀë¡£´´½¨ÐéÄâ»úʱ£¬ÐèÒªÖ¸¶¨Ê¹ÓÃÄĸö×ÓÍø¡£
ÆäËûÎÊÌâ
ÔÚʹÓà Mesos µÄ¹ý³ÌÖУ¬ÎÒÃÇÒ²Óöµ½ÁËÆäËûһЩÎÊÌâ¡£
ÎÊÌâÒ»£ºMarathonÑ¡Ö÷Òì³£
µ±»úÆ÷¸ºÔرȽϸߣ¬ÓÈÆäÊÇ IO ½Ï¸ßʱ£¬ÎÒÃÇ·¢ÏÖ Marathon ¼¯ÈºÓиÅÂʳöÏÖ²»ÄÜÑ¡Ö÷µÄÇé¿ö¡£
ÎÒÃÇ»³ÒÉÊÇÓÉÓÚMarathon½ÚµãºÍZKµÄÍøÂç²»Îȶ¨£¬´¥·¢ÁËMarathon»òMesosµÄbugµ¼Ö¡£ÓÚÊÇͨ¹ýiptablesÖ÷¶¯ÆÁ±ÎLeader
ZK¶Ë¿ÚµÄ·½Ê½£¬³É¹¦¸´ÏÖ³öÎÊÌâ¡£
ͨ¹ýÔÚMarathonµÄ´úÂëÖмÓÉÏһЩLeaderÑ¡¾ÙÏà¹ØµÄ×îÖÕÈÕÖ¾£¬³É¹¦¶¨Î»µ½ÁËÎÊÌ⣬ÔÀ´ÊÇÓÉÓÚMesos
DriverµÄstop() ·½·¨Ã»Óгɹ¦ÒýÆð start() ·½·¨Í˳ö×èÈûµ¼Ö¡£
ÓÉÓÚÎÒÃǵÄËùÓгÌÐò¶¼ÊÇͨ¹ýÊØ»¤½ø³ÌÆô¶¯µÄ£¬ËùÒÔÎÒÃDzÉÓÃÁËÒ»¸ö×î¼òµ¥µÄ½â¾ö·½°¸£ºÐÞ¸ÄMarathon´úÂ룬µ±ZKÒì³£·¢Éúʱ£¬Ö±½Ó×Ôɱ¡£×ÔɱºóÊØ»¤½ø³Ì»á°Ñ³ÌÐòÔÙÆô¶¯ÆðÀ´¡£
ÎÊÌâ¶þ£ºgo-marathonÎÊÌâ
ÎÒÃǵķþÎñ²ÉÓà Golang ¿ª·¢£¬Ê¹Óà go-marathon ¿âÓë Marathon ½øÐн»»¥¡£Ê¹Óùý³ÌÖз¢ÏָÿâÓÐһЩÎÊÌ⣺
²»Ö§³Ö¶àMarathon½Úµã¡£ÓÚÊÇÎÒÃÇ×Ô¼º´´½¨ÁËÒ»¸ö·ÖÖ§£¬²ÉÓýڵãÖ÷¶¯Ì½²âµÄ·½Ê½£¬ÊµÏÖÁ˶à½ÚµãµÄÖ§³Ö¡££¨Ô¿âv5.0°æ±¾ÒÔºóÒ²Ö§³ÖÁ˸ù¦ÄÜ£©
ʹÓÃÉèÓÐ Timeout µÄ http.Client ½øÐÐ go-marathon µÄ³õʼ»¯Ê±£¬¶©ÔÄ
SSE »á²úÉú³¬Ê±ÎÊÌâ¡£ÓÚÊÇÎÒÃÇ×öÁËÐ޸쬯ÕͨµÄ HTTP API ºÍ SSE ²»Ê¹ÓÃͬһ¸ö http.Client£¬²Ù×÷
SSE µÄ http.Client ²»ÉèÖà Timeout¡£
ÍøÂçÒ쳣ʱ£¬go-marathon µÄ·½·¨µ÷Óûá Hang ס¡£ÓÚÊÇÎÒÃÇËùÓÐ¶Ô go-marathon
·½·¨µÄµ÷Óö¼¼ÓÉϳ¬Ê±¿ØÖÆ¡£
½áÓï
Mesos ÔÚ UCloud ÓÐ׏㷺µÄÓ¦Ó㬶ÔÍâÓС°¼ÆË㹤³§¡±ºÍ UDocker µÈ²úÆ·£¬¶ÔÄÚÔòÖ§³Å׏«Ë¾ÄÚÍøÐéÄâ»ú¹ÜÀíÆ½Ì¨¡£°éËæ×ųÖÐøµÄʵ¼ù£¬ÎÒÃǶÔ
Mesos µÄÀí½âºÍÕÆ¿ØÒ²Ô½À´Ô½ÉîÈë¡£°éËæ×ųÖÐøµÄʵ¼ù£¬ÎÒÃÇ¶Ô Mesos µÄÀí½âºÍÕÆ¿ØÒ²Ô½À´Ô½ÉîÈ룬ÎÒÃÇ»á³ÖÐøÊä³öÎÒÃǵÄʹÓþÑ飬ÆÚ´ýµÃµ½¸÷λ¶ÁÕߵķ´À¡¡£
|