ÕªÒª£ºDocker¼°ÆäÏà¹Ø¼¼ÊõµÄ³öÏֺͷ¢Õ¹£¬ÓÖ¸ø´ó¹æÄ£¼¯Èº¹ÜÀí´øÀ´ÁËеÄÏëÏó¿Õ¼ä¡£ÈçºÎ½«¶þÕß½øÐÐÓÐЧµØ½áºÏ£¿±¾ÎĽ«½éÉÜÊýÈ˿Ƽ¼»ùÓÚMesosºÍDockerµÄ·Ö²¼Ê½¼ÆËãÆ½Ì¨µÄʵ¼ù¡£
Õë¶Ô¡°»¥ÁªÍø+¡±Ê±´úµÄÒµÎñÔö³¤¡¢±ä»¯Ëٶȼ°´ó¹æÄ£¼ÆËãµÄÐèÇó£¬Á®¼ÛµÄ¡¢¸ß¿ÉÀ©Õ¹µÄ·Ö²¼Ê½x86¼¯ÈºÒѳÉΪ±ê×¼½â¾ö·½°¸£¬ÈçGoogleÒѾÔÚ¼¸Ç§Íǫ̀·þÎñÆ÷Éϲ¿Êð·Ö²¼Ê½ÏµÍ³¡£Docker¼°ÆäÏà¹Ø¼¼ÊõµÄ³öÏֺͷ¢Õ¹£¬ÓÖ¸ø´ó¹æÄ£¼¯Èº¹ÜÀí´øÀ´ÁËеÄÏëÏó¿Õ¼ä¡£ÈçºÎ½«¶þÕß½øÐÐÓÐЧµØ½áºÏ£¿±¾ÎĽ«½éÉÜÊýÈ˿Ƽ¼»ùÓÚMesosºÍDockerµÄ·Ö²¼Ê½¼ÆËãÆ½Ì¨µÄʵ¼ù¡£
·Ö²¼Ê½ÏµÍ³Éè¼Æ×¼Ôò
¿ÉÉìËõÐÔ
Ê×ÏÈ·Ö²¼Ê½ÏµÍ³Ò»¶¨ÊÇ´ó¹æÄ£µÄϵͳ£¬ÓкܺõÄScalability¡£³öÓڳɱ¾µÄ¿¼ÂÇ£¬ºÜ¶à´ó¹æÄ£µÄ·Ö²¼Ê½ÏµÍ³Ò»°ã²ÉÓÃÁ®¼ÛµÄPC·þÎñÆ÷£¬¶ø²»ÊÇ´óÐ͵ĸßÐÔÄÜ·þÎñÆ÷¡£
ûÓе¥µãʧЧ
Á®¼ÛµÄPC·þÎñÆ÷ÔÚ´ó¹æÄ£Ê¹ÓÃÖо³£»áÓöµ½¸÷ÖÖ¸÷ÑùµÄÎÊÌ⣬PC·þÎñÆ÷µÄÓ²¼þ²»¿ÉÄÜÊǸ߿ɿ¿µÄ£¬±ÈÈçGoogleµÄÊý¾ÝÖÐÐÄÿÌì¶¼»áÓдóÁ¿µÄÓ²ÅÌʧЧ£¬ËùÒÔ·Ö²¼Ê½ÏµÍ³Ò»¶¨Òª¶ÔÓ²¼þÈÝ´í£¬±£Ö¤Ã»ÓÐÈκεĵ¥µãʧЧ¡£ÔÚÕâÖֺܲ»Îȶ¨¡¢ºÜ²»¿É¿¿µÄÓ²¼þ¼ÆËã»·¾³Ï£¬´î½¨Ò»¸ö·Ö²¼Ê½ÏµÍ³Ìṩ¸ß¿É¿¿·þÎñ£¬±ØÐëҪͨ¹ýÈí¼þÀ´ÈÝ´í¡£·Ö²¼Ê½ÏµÍ³Õë¶Ô²»ÔÊÐíÓе¥µãʧЧµÄÒªÇóÓÐÁ½·½ÃæµÄÉè¼Æ¿¼ÂÇ£¬Ò»ÖÖÊÇ·þÎñÀàµÄÆóÒµ¼¶Ó¦Óã¬Ã¿¸ö·þÎñºǫ́ʵÀý¶¼ÒªÓжà¸ö¸±±¾£¬Ò»Á½Ì¨Ó²¼þ¹ÊÕϲ»ÖÁÓÚÓ°ÏìËùÓзþÎñʵÀý£»ÁíÍâÒ»ÖÖÊý¾Ý´æ´¢µÄÓ¦Óã¬Ã¿·ÝÊý¾ÝÒ²±ØÐëÒªÓжà¸ö±¸·Ý£¬±£Ö¤¼´Ê¹Ä³¼¸¸öÓ²¼þ»µµôÁËÊý¾ÝÒ²²»»á¶ªÊ§¡£
¸ß¿É¿¿ÐÔ
³ýÁ˵¥µãʧЧ£¬»¹Òª±£Ö¤¸ß¿É¿¿ÐÔ¡£ÔÚ·Ö²¼Ê½»·¾³Ï£¬Õë¶ÔÆóÒµ¼¶·þÎñÓ¦Óã¬Òª×ö¸ºÔؾùºâºÍ·þÎñ·¢ÏÖÀ´±£Ö¤¸ß¿É¿¿ÐÔ£»Õë¶ÔÊý¾Ý·þÎñ£¬ÎªÁË×öµ½¸ß¿É¿¿ÐÔ£¬Ê×ÏÈÒª°´ÕÕijÖÖËã·¨À´°ÑÕûÌåÊý¾Ý·ÖƬ£¨ÒòΪһ̨·þÎñÆ÷×°²»Ï£©£¬È»ºó°´ÕÕͬÑùµÄËã·¨À´½øÐÐ·ÖÆ¬²éÕÒ¡£
Êý¾Ý±¾µØÐÔ
ÔÙÒ»¸ö·Ö²¼Ê½Éè¼ÆÀíÄîÊÇÊý¾Ý±¾µØÐÔ£¬ÒòÎªÍøÂçͨÐÅ¿ªÏúÊÇ·Ö²¼Ê½ÏµÍ³µÄÆ¿¾±£¬Òª¼õÉÙÍøÂ翪Ïú£¬Ó¦µ±ÈüÆËãÈÎÎñÈ¥ÕÒÊý¾Ý£¬¶ø²»ÊÇÈÃÊý¾ÝÈ¥ÕÒ¼ÆËã¡£
·Ö²¼Ê½ÏµÍ³ÓëLinux²Ù×÷ϵͳµÄ±È½Ï
ÓÉÓÚ×ÝÏòÍØÕ¹¿ÉÓÅ»¯¿Õ¼ä̫С£¨µ¥Ì¨·þÎñÆ÷µÄÐÔÄÜÉÏÏÞºÜÃ÷ÏÔ£©£¬·Ö²¼Ê½ÏµÍ³Ç¿µ÷ºáÏòÀ©Õ¹¡¢ºáÏòÓÅ»¯£¬µ±·Ö²¼Ê½¼¯Èº¼ÆËã×ÊÔ´²»×ãʱ£¬¾ÍÒªÍù¼¯ÈºÀïÃæÌí¼Ó·þÎñÆ÷£¬À´²»Í£µØÌáÉý·Ö²¼Ê½¼¯ÈºµÄ¼ÆËãÄÜÁ¦¡£·Ö²¼Ê½ÏµÍ³Òª×öµ½Í³Ò»¹ÜÀí¼¯ÈºµÄËùÓзþÎñÆ÷£¬ÆÁ±Îµ×²ã¹ÜÀíϸ½Ú£¬ÖîÈçÈÝ´í¡¢µ÷¶È¡¢Í¨Ðŵȣ¬Èÿª·¢ÈËÔ±¾õµÃ·Ö²¼Ê½¼¯ÈºÔÚÂß¼ÉÏÊÇһ̨·þÎñÆ÷¡£
ºÍµ¥»úLinux²Ù×÷ϵͳÏà±È£¬ËäÈ»·Ö²¼Ê½ÏµÍ³»¹Ã»ÓгÉÊìµ½³ÉΪ¡°·Ö²¼Ê½²Ù×÷ϵͳ¡±£¬µ«ËüºÍµ¥»úLinuxÒ»ÑùÒª½â¾öÎå´óÀà²Ù×÷ϵͳ±ØÐèµÄ¹¦ÄÜ£¬¼´×ÊÔ´·ÖÅä¡¢½ø³Ì¹ÜÀí¡¢ÈÎÎñµ÷¶È¡¢½ø³Ì¼äͨÐÅ£¨IPC£©ºÍÎļþϵͳ£¬¿É·Ö±ðÓÉMesos¡¢Docker¡¢Marathon/Chronos¡¢RabbitMQºÍHDFS/CephÀ´½â¾ö£¬¶ÔÓ¦ÓÚLinuxϵÄLinux Kernel¡¢Linux Kernel¡¢init.d/cron¡¢Pipe/SocketºÍext4£¬Èçͼ1Ëùʾ¡£

ͼ1 ·Ö²¼Ê½ÏµÍ³ÓëLinux²Ù×÷ϵͳµÄ±È½Ï
»ùÓÚMesosµÄ·Ö²¼Ê½¼ÆËãÆ½Ì¨
Mesos×ÊÔ´·ÖÅäÔÀí
ĿǰÎÒÃǵÄMesos¼¯Èº²¿ÊðÔÚ¹«ÓÐÔÆ·þÎñÉÏ£¬ÓÃ100¶ą̀ÐéÄâ»ú×é³ÉMesos¼¯Èº¡£Mesos²»ÒªÇó¼ÆËã½ÚµãÊÇÎïÀí·þÎñÆ÷»¹ÊÇÐéÄâ·þÎñÆ÷£¬Ö»ÒªÊÇLinux²Ù×÷ϵͳ¾Í¿ÉÒÔ¡£Mesos¿ÉÒÔÀí½â³ÉÒ»¸ö·Ö²¼Ê½µÄKernel£¬Ö»·ÖÅ伯Ⱥ¼ÆËã×ÊÔ´£¬²»¸ºÔðÈÎÎñµ÷¶È¡£»ùÓÚMesosÖ®ÉÏ¿ÉÒÔÔËÐв»Í¬µÄ·Ö²¼Ê½¼ÆËãÆ½Ì¨£¬ÈçSpark¡¢Storm¡¢Hadoop¡¢MarathonºÍChronosµÈ¡£Spark¡¢StormºÍHadoopÕâÑùµÄ¼ÆËãÆ½Ì¨ÓÐÈÎÎñµ÷¶È¹¦ÄÜ£¬¿ÉÒÔÖ±½ÓʹÓÃMesos SDK¸úMesosÇëÇó×ÊÔ´£¬È»ºó×ÔÐе÷¶È¼ÆËãÈÎÎñ£¬²¢¶ÔÓ²¼þÈÝ´í¡£MarathonÕë¶Ô·þÎñÐÍ·Ö²¼Ê½Ó¦ÓÃÌṩÈÎÎñµ÷¶È£¬±ÈÈçÆóÒµÍøÕ¾µÈÕâÀàÐèÒª³¤Ê±¼äÔËÐеķþÎñ¡£Í¨³£ÍøÕ¾Ó¦ÓóÌÐòûÓÐÈÎÎñµ÷¶ÈºÍÈÝ´íÄÜÁ¦£¬ÒòÎªÍøÕ¾³ÌÐò²»Ì«»á´¦Àíij¸öºǫ́ʵÀý¹ÒµôÒÔºóÒªÔÚÄĄ̈»úÆ÷ÉÏÖØÐ»ָ´µÈÕâÀิÔÓÎÊÌâ¡£ÕâÀàûÓÐÈÎÎñµ÷¶ÈÄÜÁ¦µÄ·þÎñÐÍ·Ö²¼Ê½Ó¦Ó㬿ÉÒÔÓÉMarathonÀ´¸ºÔðµ÷¶È¡£±ÈÈ磬Marathonµ÷¶ÈÖ´ÐÐÁËÍøÕ¾·þÎñµÄÒ»°Ù¸öºǫ́ʵÀý£¬Èç¹ûij¸öʵÀý¹ÒµôÁË£¬Marathon»áÔÚÆäËû·þÎñÆ÷ÉϰÑÕâ¸öʵÀý»Ö¸´ÆðÀ´¡£ChronosÊÇÕë¶Ô·Ö²¼Ê½Åú´¦ÀíÓ¦ÓÃÌṩÈÎÎñµ÷¶È£¬±ÈÈ綨ÆÚ´¦ÀíÈÕÖ¾»òÕß¶¨ÆÚµ÷HadoopµÈÀëÏßÈÎÎñ¡£
Mesos×î´óµÄºÃ´¦ÊÇÄܹ»¶Ô·Ö²¼Ê½¼¯Èº×öϸÁ£¶È×ÊÔ´·ÖÅä¡£Èçͼ2Ëùʾ£¬×ó±ßÊÇ´ÖÁ£µÄ×ÊÔ´·ÖÅ䣬ÓÒ±ßÊÇϸÁ£µÄ×ÊÔ´·ÖÅä¡£
 ͼ2 Mesos×ÊÔ´µ÷¶ÈµÄÁ½ÖÖ·½Ê½
ͼ2×ó±ßÓÐÈý¸ö¼¯Èº£¬Ã¿¸ö¼¯ÈºÈý̨·þÎñÆ÷£¬·Ö±ð×°ÈýÖÖ·Ö²¼Ê½¼ÆËãÆ½Ì¨£¬±ÈÈçÉÏÃæ×°Èý̨Hadoop£¬ÖмäÈý̨ÊÇSpark£¬ÏÂÃæÈý̨ÊÇStorm£¬Èý¸ö²»Í¬µÄ¿ò¼Ü·Ö±ð½øÐйÜÀí¡£ÓÒ±ßÊÇMesos¼¯ÈºÍ³Ò»¹ÜÀí9̨·þÎñÆ÷£¬ËùÓÐÀ´×ÔSpark¡¢Hadoop»òStormµÄÈÎÎñ¶¼ÔÚ9̨·þÎñÆ÷ÉÏ»ìºÏÔËÐС£MesosÊ×ÏÈÌá¸ßÁË×ÊÔ´ÈßÓàÂÊ¡£´ÖÁ£×ÊÔ´¹ÜÀí¿Ï¶¨´øÀ´Ò»¶¨µÄÀË·Ñ£¬Ï¸Á£µÄ×ÊÔ´Ìá¸ß×ÊÔ´¹ÜÀíÄÜÁ¦¡£Hadoop»úÆ÷ºÜÇåÏУ¬SparkûÓа²×°£¬µ«Mesos¿ÉÒÔÖ»ÒªÈκÎÒ»¸öµ÷¶ÈÂíÉÏÏìÓ¦¡£×îºóÒ»¸ö»¹ÓÐÊý¾ÝÎȶ¨ÐÔ£¬ÒòΪËùÓÐ9̨¶¼±»Mesosͳһ¹ÜÀí£¬¼ÙÈç˵װµÄHadoop£¬Mesos»á¼¯Èºµ÷¶È¡£Õâ¸ö¼ÆËã×ÊÔ´¶¼²»¹²Ïí£¬´æ´¢Ö®¼äÒ²²»ºÃ¹²Ïí¡£Èç¹ûÕâÉÏÃæÅÜÁËSpark×öÍøÂçÊý¾ÝÇ¨ÒÆ£¬ÏÔÈ»ºÜÓ°ÏìËÙ¶È¡£È»ºó×ÊÔ´·ÖÅäµÄ·½·¨¾ÍÊÇresource offers£¬ÊÇÔÚ´°¿ÚµÄ¿Éµ÷¶ÈµÄ×ÊÔ´×Ô¼ºÈ¥Ñ¡£¬MesosÊÇSpark»òÕßÊÇHadoopµÈµÈ¡£ÕâÖÖ·½·¨£¬MesosµÄ·ÖÅäÂß¼¾ÍºÜ¼òµ¥£¬Ö»Òª²»Í£µØ±¨¸æÄÄЩÊÇ¿ÉÓÃ×ÊÔ´¾Í¿ÉÒÔÁË¡£Mesos×ÊÔ´·ÖÅä·½·¨Ò²ÓÐÒ»¸öDZÔÚµÄȱµã£¬¾ÍÊÇÎÞÖÐÐÄ»¯µÄ·ÖÅ䷽ʽ£¬ËùÒÔÓпÉÄܲ»»á´øÀ´È«¾Ö×îÓŵķ½Ê½¡£µ«Õâ¸öÊý¾Ý×ÊԴȱµã¶ÔĿǰÀ´½²²¢²»ÊǺÜÑÏÖØ¡£ÏÖÔÚÒ»¸ö¼ÆËãÖÐÐÄ×ÊÔ´¹±Ï×ÂʺÜÄÑ´ïµ½50%£¬¾ø´ó²¿·Ö¼ÆËãÖÐÐͼÊǺÜÏеÄ״̬¡£
Mesos×ÊÔ´·ÖÅäʾÀý
ÏÂÃæ¾ßÌå¾ÙÀý˵Ã÷ÔõôÓÃMesos×ÊÔ´·ÖÅä¡£Èçͼ3Ëùʾ£¬ÖмäÊÇMesos Master£¬ÏÂÃæÊÇMesos Slave£¬ÉÏÃæÊÇSparkºÍHadoopÔËÐÐÔÚMesosÖ®ÉÏ¡£Mesos Master°Ñ¿ÉÓÃ×ÊÔ´±¨¸æ¸øSpark»òHadoop¡£¼Ù¶¨HadoopÓÐÒ»¸öÈÎÎñÏëÔËÐУ¬Hadoop´ÓMesos MasterÉϱ¨µÄ¿ÉÓÃ×ÊÔ´ÖÐÑ¡Ôñij¸öMesos Slave½Úµã£¬È»ºóÕâ¸öÈÎÎñ¾Í»áÔÚÕâ¸öMesos Slave½ÚµãÉÏÖ´ÐУ¬ÕâÊÇÈÎÎñÍê³ÉÒ»´Î×ÊÔ´·ÖÅ䣬½ÓÏÂÀ´Mesos Master¼ÌÐø½øÐÐ×ÊÔ´·ÖÅä¡£
 ͼ3 Mesos×ÊÔ´·ÖÅäʾÀý
ÈÎÎñµ÷¶È
MesosÖ»×öÒ»¼þÊÂÇ飬¾ÍÊÇ·Ö²¼Ê½¼¯Èº×ÊÔ´·ÖÅ䣬²»¹ÜÈÎÎñµ÷¶È¡£MarathonºÍChonosÊÇ»ùÓÚMesosÀ´×öÈÎÎñµ÷¶È¡£Èçͼ4Ëùʾ£¬Mesos¼¯Èº»ìºÏÔËÐÐÀ´×ÔMarathonºÍChronosµÄ²»Í¬ÀàÐ͵ÄÈÎÎñ¡£MarathonºÍChonos»ùÓÚMesos×öÈÎÎñµ÷¶Èʱ£¬Ò»¶¨ÊǶ¯Ì¬µ÷¶È£¬Ò²¾ÍÊÇÿ¸öÈÎÎñÔÚÖ´ÐÐ֮ǰÊDz»ÖªµÀËü½«À´ÔÚÄÄһ̨·þÎñÆ÷ÉÏÖ´ÐкͰó¶¨ÄÄÒ»¸ö¶Ë¿Ú¡£Èçͼ5Ëùʾ£¬9̨·þÎñÆ÷×é³ÉµÄMesos¼¯ÈºÉÏ»ìºÏÔËÐи÷ÖÖMarathonµ÷¶ÈµÄÈÎÎñ£¬Öмäһ̨·þÎñÆ÷»µµôÒÔºó£¬Õą̂·þÎñÆ÷ÉϵÄÁ½¸öÈÎÎñ¾ÍÊÜÓ°Ï죬ȻºóMarathon°ÑÕâÁ½¸öÈÎÎñÇ¨ÒÆµ½ÆäËû·þÎñÆ÷ÉÏ£¬Õâ¾ÍÊǶ¯Ì¬ÈÎÎñµ÷¶È´øÀ´µÄºÃ´¦£¬·Ç³£ÈÝÒ×ʵÏÖÈÝ´í¡£
 ͼ4 Mesos¼¯ÈºÔËÐв»Í¬ÀàÐ͵ÄÈÎÎñ
 ͼ5 Marathon¶¯Ì¬ÈÎÎñµ÷¶È
ΪÁ˼õÉÙÓ²¼þ¹ÊÕ϶ÔÓ¦Ó÷þÎñµÄÓ°Ï죬ӦÓóÌÐòÒª¾¡Á¿×öµ½ÎÞ״̬¡£ÎÞ״̬µÄºÃ´¦ÊÇÔÚ³ÌÐòÊܵ½Ó°Ïìʱ²»ÐèÒª½øÐÐÈκλָ´£¬ÕâÑùÕâ¸ö³ÌÐòÖ»ÒªÖØÐµ÷¶ÈÆðÀ´¾Í¿ÉÒÔ¡£ÎÞ״̬ҪÇó°Ñ״̬Êý¾Ý·Åµ½´æ´¢·þÎñÆ÷»òÕßÊÇÏûÏ¢¶ÓÁÐÀïÃæ£¬ÕâÑùµÄºÃ´¦ÊÇÈÝ´íʱ»Ö¸´ÆðÀ´»á±äµÃºÜ·½±ã¡£
·þÎñÀàµÄ¸ß¿É¿¿ÐÔ
¶ÔÓÚ·þÎñÀàÐ͵ÄÈÎÎñ£¬·Ö²¼Ê½»·¾³±£Ö¤·þÎñµÄ¸ß¿É¿¿ÐÔ£¬ÕâÐèÒª¸ºÔؾùºâºÍ·þÎñ·¢ÏÖ¡£ÔÚ·Ö²¼Ê½»·¾³ÏÂ×ö¸ºÔؾùºâÓÐÒ»¸öÄѵã¾ÍÊǺǫ́ÕâЩʵÀýÓпÉÄÜ·¢Éú¶¯Ì¬±ä»¯£¬±ÈÈç˵ijһ¸ö½Úµã»µµôÁË£¬Õâ¸ö½ÚµãÉϵÄʵÀý»áÊܵ½Ó°Ï죬ȻºóÇ¨ÒÆµ½ÆäËû½ÚµãÉÏ¡£È»¶ø´«Í³¸ºÔؾùºâÆ÷µÄºǫ́ʵÀýµØÖ·¶Ë¿Ú¶¼ÊǾ²Ì¬µÄ¡£ËùÒÔÔÚ·Ö²¼Ê½»·¾³Ï£¬ÎªÁË×ö¸ºÔؾùºâÒ»¶¨Òª×ö·þÎñ·¢ÏÖ¡£±ÈÈ磬ij¸ö·þÎñ֮ǰÓÐËĸöÊÂÀý£¬ÏÖÔÚÐÂÌí¼ÓÁËÁ½¸öʵÀý£¬ÐèÒª¸æË߸ºÔؾùºâÆ÷ÐÂÔö¼ÓµÄʵÀýµÄµØÖ·ºÍ¶Ë¿Ú¡£·þÎñ·¢ÏֵĹý³ÌÊÇÓɼ¸¸öÄ£¿éÅäºÏÍê³É£¬±ÈÈç˵Marathon¸øÄ³¸ö·þÎñÔö¼ÓÁËеÄʵÀý£¬°Ñе÷¶ÈµÄʵÀýµØÖ·¶Ë¿Úдµ½Zookeeper£¬È»ºóBamboo°ÑZookeeperÀï´æ·ÅµÄ¸Ã·þÎñеÄʵÀýµÄµØÖ·¶Ë¿ÚÐÅÏ¢¸æË߸ºÔؾùºâÆ÷£¬ÕâÑù¸ºÔؾùºâÆ÷¾ÍÖªµÀеÄʵÀýµØÖ·¶Ë¿Ú£¬Íê³ÉÁË·þÎñ·¢ÏÖ¡£
Êý¾ÝÀàµÄ¸ß¿É¿¿ÐÔ
¶ÔÓÚ·þÎñÀàÐ͵ÄÓ¦Ó㬷ֲ¼Ê½ÏµÍ³ÓøºÔؾùºâÆ÷ºÍ·þÎñ·¢ÏÖÀ´±£Ö¤¸ß¿É¿¿ÐԵķþÎñ¡£¶ÔÓÚÊý¾ÝÀàÐ͵ÄÓ¦Ó㬷ֲ¼Ê½ÏµÍ³Í¬ÑùÒª±£Ö¤¸ß¿É¿¿µÄÊý¾Ý·þÎñ¡£Ê×ÏÈÒª×öÊý¾Ý·ÖƬ£¬Ò»Ì¨·þÎñÆ÷´æ²»ÏÂËùÓÐÊý¾Ý¾Í·Ö³É¶à·ÝÀ´´æ£¬µ«¶ÔÊý¾Ý½øÐÐ·ÖÆ¬±ØÐë°´ÕÕij¸ö¹æÔòÀ´½øÐÐ·ÖÆ¬£¬ºóÃæ²éÕÒʱҪ°´ÕÕͬÑùµÄ¹æÔòÀ´½øÐÐ·ÖÆ¬²éÕÒ£¬¾ÍÊÇÒ»ÖÂÐÔ¡£¼Ù¶¨×îÔʼµÄ·½°¸ÎÒÃÇÓÃHash¼ÆËã×ö³É·½·¨£¬ÔÚÏßÐÔ¿Õ¼äÉÏ·ÖÁËÈý·ÝÒÔºó£¬ÎÒÒªÔÚÊý¾Ý·Ö³ÉÈý¿é»úÆ÷À´´æ£¬Èý̨»úÆ÷¶¼´æÂúÁËʱ£¬ÔÙ°ÑÊý¾Ý½øÐзÖÅäµÄʱºò²»ÔÙ°ÑËü·ÖÅäµ½Ö±ÏßÏßÐÔ¿Õ¼äÉÏ£¬¶øÊǰÑËü·ÖÅäµ½»·×´¿Õ¼äÉÏ£¬°ÑÆðµãºÍÖÕµãÁ¬½ÓÆðÀ´£¬Á¬³ÉÒ»¸öÊý¾Ý»·£¬Èçͼ6Ëùʾ£¬ÕâÑùÏàÓ¦µÄÊý¾Ýµã¾Í·ÅÔÚÕâÒ»¿é¡£Èç¹ûÒªÌí¼ÓÒ»¸öеÄÊý¾ÝÖÐÐľÍÔÚ»·ÉÏÐÂÇгöÀ´Õâ¿é£¬ÕâÑùºÜ·½±ã£¬ÇгöÀ´ÕâÒ»²¿·Ö´ú±íÕâÒ»²¿·ÖÊý¾Ý¶¼Ó¦¸Ã·Åµ½ÐµÄоƬÉÏ£¬ËùÒÔ°ÑÔÀ´×ÓÊý¾Ý·ÖƬŲµ½Ç¶ÈëʽµÄ·ÖƬÉÏ¡£
 ͼ6 Êý¾Ý·ÖƬ
»¹ÓпÉÄÜɾ³ýÊý¾Ý£¬ÎÒÃǰѻÆÉ«µÄÊý¾Ý·Åµ½ºìÉ«µÄÊý¾ÝÉÏ£¬ÕâÊÇ»·µÄºÃ´¦¡£Êµ¼ÊΪÁË×öµ½¸ß¿É¿¿ÐÔ£¬ÈκÎÒ»¸öÊý¾Ý¿ÉÄܼٶ¨Ó³Éäµ½»ÆÉ«²¿·ÖÒÔºó£¬ÕâЩ»ÆÉ«µÄ²¿·ÖÖ»ÒªÓ³Éäµ½ÈκÎÒ»¸ö»ÆÉ«µÄÇøÓò¶¼»á´æÔÚͬһƬ»úÆ÷ÉÏ£¬Í¬Ò»Æ¬»úÆ÷µ×²ã»áÓжà¸ö¸±±¾ºÍ×öÊý¾ÝµÄ±¸·Ý£¬ÕâÊÇʵ¼ÊÊý¾Ý·ÖƬµÄÒ»¸öʵÀý¡£ÕâÊÇÔõô×öÊý¾ÝµÄ¸ß¿É¿¿ÐÔ¡£ÕâЩÊý¾Ý·ÖƬ£¬»¹ÓиºÔؾùºâ£¬¶¼ÊÇΪÁ˶ÔÓ¦·Ö²¼Ê½·ÖƬӲ¼þ´øÀ´µÄ²»¿É¿¿ºÍʧЧ£¬ÕâÊÇÎÒÃÇÓ÷ֲ¼Ê½ÏµÍ³×î´óµÄÌØµã¡£
»ùÓÚDockerµÄ·Ö²¼Ê½¼ÆËãÆ½Ì¨
Docker¹¤×÷Á÷
ÎÒÃÇÖ÷ÒªÓÃDockerÀ´×ö·Ö²¼Ê½»·¾³ÏµĽø³Ì¹ÜÀí¡£Docker¹¤×÷Á÷Èçͼ7Ëùʾ£¬ÎÒÃDz»½ö°ÑDockerÓ¦Óõ½Éú²ú½×¶Î£¬Ò²Ó¦Óõ½¿ª·¢½×¶Î£¬ËùÒÔÎÒÃÇÿÌì±à¼Dockerfile£¬ÌáÉýDocker Images£¬²âÊÔÉÏÏߣ¬·¢Docker¾µÏñ£¬ÔÚÎÒÃÇÄÚ²¿Ë½ÓÐDocker regisÀïÃæ£¬ÔÙµ÷µ½ÎÒÃÇDocker¼¯ÈºÉú²ú»·¾³ÀïÃæ£¬ÕâºÍÆäËûµÄDocker¹¤×÷Á÷ûÓÐÊ²Ã´Çø±ð¡£
 ͼ7 Docker¹¤×÷Á÷
ÔÚMesosÌá½»DockerÈÎÎñ
ÒòΪMesosºÍDockerÒѾÊÇÎÞ·ì½áºÏÆðÀ´¡£Í¨¹ýMarathonºÍChronosÌá½»·þÎñÐÍÓ¦ÓúÍÅú´¦ÀíÐÍÓ¦Óá£MarathonºÍChronosͨ¹ýRESTfulµÄ·½Ê½Ìá½»ÈÎÎñ£¬ÓÃJSON½Å±¾É趨ӦÓõĺǫ́ʵÀý¸öÊý¡¢Ó¦ÓõIJÎÊý¡¢ÒÔ¼°Docker ImagesµÄ·¾¶µÈµÈ¡£
·Ö²¼Ê½»·¾³ÏµĽø³ÌͨÐÅ
ÔÚ·Ö²¼Ê½»·¾³ÏÂÓ¦Ó÷þÎñÖ®¼äͨÐÅ£¬ÊÇÓ÷ֲ¼Ê½ÏûÏ¢¶ÓÁÐÀ´×ö£¬ÎÒÃÇÓõÄÊÇRabbitMQ¡£RabbitMQÒ²ÊÇÒ»¸ö·Ö²¼Ê½ÏµÍ³£¬ËüÒ²Òª±£Ö¤¸ß¿É¿¿ÐÔ¡¢½â¾öÈÝ´íµÄÎÊÌâ¡£Ê×ÏÈRabbitMQÒ²Óм¯Èº£¬Èçͼ8Ëùʾ£¬Áù¸ö½Úµã×é³ÉÁËÒ»¸öRabbitMQµÄ¼¯Èº£¬Ã¿¸ö½ÚµãÖ®¼äÊÇ»¥Îª±¸·ÝµÄ¹ØÏµ£¬ÈκÎÒ»¸ö»µµô£¬ÆäËûÎå¸ö»¹¿ÉÒÔÌṩ·þÎñ£¬Í¨¹ýÈßÓàÀ´±£Ö¤RabbitMQµÄ¸ß¿É¿¿ÐÔ¡£
 ͼ8 RabbitMQ¼¯Èº
Æä´Î£¬RabbitMQÒ²ÓÐÊý¾Ý·ÖƬ»úÖÆ¡£ÒòΪÏûÏ¢¶ÓÁÐÓпÉÄܺܳ¤£¬³¤µ½ËùÓеÄÏûÏ¢²»¿ÉÄܶ¼·Åµ½Ò»¸ö½ÚµãÉÏ£¬Õâʱ¾ÍÒªÓÃ·ÖÆ¬£¬°ÑºÜ³¤µÄÏûÏ¢¶ÓÁзÖΪ¼¸¶Î£¬·Ö±ð·Åµ½²»Í¬µÄ½ÚµãÉÏ¡£Èçͼ9ËùʾÊÇRabbitMQµÄÁªÃË»úÖÆ£¬°ÑÒ»¸öÏûÏ¢¶ÓÁдò³ÉÁ½¶Î£¬Ò»¶Î·ÅÔÚÉÏÓÎÒ»¶Î·ÅÔÚÏÂÓΣ¬¼Ù¶¨ÏÂÓÎÏûÏ¢¶ÓÁеÄÏûÏ¢±»Ïû·ÑÍêÁ˾Í×Ô¶¯°ÑÉÏÓÎÏûÏ¢¶ÓÁÐÀïµÄÏûÏ¢ÒÆµ½ÏÂÓΣ¬ÕâÑùÒ»¸öÏûÏ¢¶ÓÁбä³É·Ç³£³¤µÄʱºòÒ²²»Å£¬·ÖƬµ½¶à¸ö½ÚµãÉϼ´¿É¡£
 ͼ9 ÏûÏ¢¶ÓÁÐ·ÖÆ¬
·Ö²¼Ê½Îļþϵͳ
×îºó½²Ò»Ï·ֲ¼Ê½ÎļþϵͳHDFSºÍCeph¡£HadoopÎļþϵͳHDFS£¬Èçͼ10Ëùʾ£¬Ã¿¸öÊý¾Ý¿éÓÐÈý¸ö±¸·Ý£¬±ØÐë·ÅÔÚ²»Í¬µÄ·þÎñÆ÷ÉÏ£¬¶øÇÒÈý¸ö±¸·ÝÀïÃæÃ¿¸ö»ú¼Ü×î¶à·ÅÁ½·Ý£¬Õâô×öÒ²ÊÇΪÁËÈÝ´í¡£CephÊÇÁíÒ»ÖÖÁ÷ÐеĿªÔ´·Ö²¼Ê½Îļþϵͳ¡£Ceph°ÑÍøÂç´æ´¢É豸³éÏó³ÉÒ»ÕÅÂß¼Ó²ÅÌ£¬È»ºó¡°¹ÒÔØ¡±µ½·Ö²¼Ê½¼¯ÈºµÄÿ̨·þÎñÆ÷ÉÏ£¬ÔÀíÉϷdz£ÏñÊÇLinux²Ù×÷ϵͳMountÒ»¿éÎïÀíÓ²ÅÌ¡£ÕâÑùÒ»À´£¬Óû§³ÌÐò·ÃÎÊCephµÄÎļþϵͳ¾Í¸ú·ÃÎÊLinux±¾µØÂ·¾¶Ò»Ñù£¬·Ç³£·½±ã¡£
 ͼ10 ·Ö²¼Ê½Îļþϵͳ
·Ö²¼Ê½»·¾³ÏÂµÄ¼à¿Ø
·Ö²¼Ê½»·¾³Ï£¬³ÌÐò²»ÊÇÔËÐÐÔÚ±¾µØ£¬¶øÊÇÔÚ¼¯ÈºÉÏÃæ£¬Ã»ÓÐ¼à¿Ø¾ÍµÈÓÚ³ÌÐòÔËÐÐÔÚºÚºÐ×ÓÏ£¬ÎÞ·¨µ÷ÓÅ£¬±ØÐëÒªÓÐ¼à¿Ø¡£·Ö²¼Ê½»·¾³ÏÂµÄ¼à¿Ø·ÖΪÁ½¸ö²¿·Ö£¬Ò»ÊÇÐÔÄÜ¼à¿Ø£¬ÁíÒ»¸öÊDZ¨¾¯¡£ÐÔÄÜ¼à¿ØÒªÖªµÀÿ¸öÓ¦ÓóÌÐòÔËÐÐ״̬ÊÇʲôÑù£¬¼´Ã¿Ò»¸öÓ¦ÓóÌÐòÕ¼Á˶àÉÙCPUÄÚ´æ¡¢·þÎñµÄÇëÇó´¦ÀíÑӳٵȡ£ÎÒÃÇÊÇÓÃGraphiteÀ´×öÓ¦ÓóÌÐòÐÔÄÜ¼à¿Ø£»»¹ÓÐÆäËûϵͳ£¬±ÈÈçMongoDB¡¢HadoopµÈ¿ªÔ´ÏµÍ³£¬ÎÒÃÇÓÃGangliaÀ´×öÐÔÄÜ¼à¿Ø£¬±ÈÈçCPUÄÚ´æÓ²Å̵ÄʹÓÃÇé¿öµÈ¡£±¨¾¯ÊÇÒªÔڹؼü·þÎñ³öÏÖ¹ÊÕÏʱ£¬Í¨Öª¿ª·¢ÔËάÈËÔ±¼°Ê±ÅŽâ¹ÊÕÏ£¬ÎÒÃÇÓÃZabbixÀ´×ö±¨¾¯¡££¨Ôð±à/Öܽ¨¶¡£©
×÷Õß¼ò½é£ºÍõè±£¬ÏȺóÔÚ¹è¹È¹©Ö°ÓÚStumbleUpon¡¢GrouponºÍGoogle£¬É󤺣Á¿Êý¾Ý´¦Àí¡¢·Ö²¼Ê½¼ÆËãÒÔ¼°´ó¹æÄ£»úÆ÷ѧϰ¡£2014Äê»Ø¹ú´´°ìÊýÈ˿Ƽ¼£¬»ùÓÚMesosºÍDocker¹¹½¨·Ö²¼Ê½¼ÆËãÆ½Ì¨£¬ÎªÆóÒµ¿Í»§Ìṩ´óÊý¾Ý·ÖÎö´¦Àíһվʽ½â¾ö·½°¸¡£
|