±à¼ÍƼö: |
±¾ÎļòÊöÁËLambdaºÍKappa¼Ü¹¹ÕâÁ½ÖÖ´ó¹æÄ£Êý¾Ý´¦Àí¼Ü¹¹£¬·ÖÎöÁËÆäµÄÓÅȱµã£¬ºÍÈçºÎÔÚʵ¼ÊÒµÎñÇé¿öÖÐÓ¦ÔõÑùÑ¡Ôñ¼Ü¹¹µÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×Ôcnblogs£¬ÓÉ»ðÁú¹ûÈí¼þLuca±à¼¡¢ÍƼö¡£ |
|
Ê×ÏÈÎÒÃÇÀ´¿´Ò»¸öµäÐ͵Ļ¥ÁªÍø´óÊý¾Ýƽ̨µÄ¼Ü¹¹£¬ÈçÏÂͼËùʾ£º

ÔÚÕâÕżܹ¹Í¼ÖУ¬´óÊý¾Ýƽ̨ÀïÃæÏòÓû§µÄÔÚÏßÒµÎñ´¦Àí×é¼þÓúÖÉ«±êʾ³öÀ´£¬Õⲿ·ÖÊÇÊôÓÚ»¥ÁªÍøÔÚÏßÓ¦ÓõIJ¿·Ö£¬ÆäËûÀ¶É«µÄ²¿·ÖÊôÓÚ´óÊý¾ÝÏà¹Ø×é¼þ£¬Ê¹ÓÿªÔ´´óÊý¾Ý²úÆ·»òÕß×Ô¼º¿ª·¢Ïà¹Ø´óÊý¾Ý×é¼þ¡£
Äã¿ÉÒÔ¿´µ½£¬´óÊý¾Ýƽ̨ÓÉÉϵ½Ï£¬¿É·ÖΪÈý¸ö²¿·Ö£ºÊý¾Ý²É¼¯¡¢Êý¾Ý´¦Àí¡¢Êý¾ÝÊä³öÓëչʾ¡£
Êý¾Ý²É¼¯
½«Ó¦ÓóÌÐò²úÉúµÄÊý¾ÝºÍÈÕÖ¾µÈͬ²½µ½´óÊý¾ÝϵͳÖУ¬ÓÉÓÚÊý¾ÝÔ´²»Í¬£¬ÕâÀïµÄÊý¾Ýͬ²½ÏµÍ³Êµ¼ÊÉÏÊǶà¸öÏà¹ØÏµÍ³µÄ×éºÏ¡£Êý¾Ý¿âͬ²½Í¨³£ÓÃ
Sqoop£¬ÈÕ־ͬ²½¿ÉÒÔÑ¡Ôñ Flume£¬´òµã²É¼¯µÄÊý¾Ý¾¹ý¸ñʽ»¯×ª»»ºóͨ¹ý Kafka µÈÏûÏ¢¶ÓÁнøÐд«µÝ¡£
²»Í¬µÄÊý¾ÝÔ´²úÉúµÄÊý¾ÝÖÊÁ¿¿ÉÄܲî±ðºÜ´ó£¬Êý¾Ý¿âÖеÄÊý¾ÝÒ²Ðí¿ÉÒÔÖ±½Óµ¼Èë´óÊý¾Ýϵͳ¾Í¿ÉÒÔʹÓÃÁË£¬¶øÈÕÖ¾ºÍÅÀ³æ²úÉúµÄÊý¾Ý¾ÍÐèÒª½øÐдóÁ¿µÄÇåÏ´¡¢×ª»¯´¦Àí²ÅÄÜÓÐЧʹÓá£
Êý¾Ý´¦Àí
Õⲿ·ÖÊÇ´óÊý¾Ý´æ´¢Óë¼ÆËãµÄºËÐÄ£¬Êý¾Ýͬ²½ÏµÍ³µ¼ÈëµÄÊý¾Ý´æ´¢ÔÚ HDFS¡£MapReduce¡¢Hive¡¢Spark
µÈ¼ÆËãÈÎÎñ¶ÁÈ¡ HDFS ÉϵÄÊý¾Ý½øÐмÆË㣬ÔÙ½«¼ÆËã½á¹ûдÈë HDFS¡£
MapReduce¡¢Hive¡¢Spark µÈ½øÐеļÆËã´¦Àí±»³Æ×÷ÊÇÀëÏß¼ÆË㣬HDFS ´æ´¢µÄÊý¾Ý±»³ÆÎªÀëÏßÊý¾Ý¡£ÔÚ´óÊý¾ÝϵͳÉϽøÐеÄÀëÏß¼ÆËãͨ³£Õë¶Ô£¨Ä³Ò»·½ÃæµÄ£©È«ÌåÊý¾Ý£¬±ÈÈçÕë¶ÔÀúÊ·ÉÏËùÓж©µ¥½øÐÐÉÌÆ·µÄ¹ØÁªÐÔÍÚ¾ò£¬ÕâʱºòÊý¾Ý¹æÄ£·Ç³£´ó£¬ÐèÒª½Ï³¤µÄÔËÐÐʱ¼ä£¬ÕâÀà¼ÆËã¾ÍÊÇÀëÏß¼ÆËã¡£
³ýÁËÀëÏß¼ÆË㣬»¹ÓÐһЩ³¡¾°£¬Êý¾Ý¹æÄ£Ò²±È½Ï´ó£¬µ«ÊÇÒªÇó´¦ÀíµÄʱ¼äÈ´±È½Ï¶Ì¡£±ÈÈçÌÔ±¦ÒªÍ³¼ÆÃ¿Ãë²úÉúµÄ¶©µ¥Êý£¬ÒÔ±ã½øÐÐ¼à¿ØºÍÐû´«¡£ÕâÖÖ³¡¾°±»³ÆÎª´óÊý¾ÝÁ÷ʽ¼ÆË㣬ͨ³£ÓÃ
Storm¡¢Spark Steaming µÈÁ÷ʽ´óÊý¾ÝÒýÇæÀ´Íê³É£¬¿ÉÒÔÔÚÃë¼¶ÉõÖÁºÁÃ뼶ʱ¼äÄÚÍê³É¼ÆËã¡£
Êý¾ÝÊä³öÓëչʾ
´óÊý¾Ý¼ÆËã²úÉúµÄÊý¾Ý»¹ÊÇдÈëµ½ HDFS ÖУ¬µ«Ó¦ÓóÌÐò²»¿ÉÄܵ½ HDFS ÖжÁÈ¡Êý¾Ý£¬ËùÒÔ±ØÐëÒª½«
HDFS ÖеÄÊý¾Ýµ¼³öµ½Êý¾Ý¿âÖС£Êý¾Ýͬ²½µ¼³öÏà¶Ô±È½ÏÈÝÒ×£¬¼ÆËã²úÉúµÄÊý¾Ý¶¼±È½Ï¹æ·¶£¬ÉÔ×÷´¦Àí¾Í¿ÉÒÔÓÃ
Sqoop Ö®ÀàµÄϵͳµ¼³öµ½Êý¾Ý¿â¡£
Õâʱ£¬Ó¦ÓóÌÐò¾Í¿ÉÒÔÖ±½Ó·ÃÎÊÊý¾Ý¿âÖеÄÊý¾Ý£¬ÊµÊ±Õ¹Ê¾¸øÓû§£¬±ÈÈçչʾ¸øÓû§¹ØÁªÍƼöµÄÉÌÆ·¡£
³ýÁ˸øÓû§·ÃÎÊÌṩÊý¾Ý£¬´óÊý¾Ý»¹ÐèÒª¸øÔËÓªºÍ¾ö²ß²ãÌṩ¸÷ÖÖͳ¼Æ±¨¸æ£¬ÕâЩÊý¾ÝҲдÈëÊý¾Ý¿â£¬±»ÏàÓ¦µÄºǫ́ϵͳ·ÃÎÊ¡£ºÜ¶àÔËÓªºÍ¹ÜÀíÈËÔ±£¬Ã¿ÌìÒ»Éϰ࣬¾ÍÊǵǼºǫ́Êý¾Ýϵͳ£¬²é¿´Ç°Ò»ÌìµÄÊý¾Ý±¨±í£¬¿´ÒµÎñÊÇ·ñÕý³£¡£Èç¹ûÊý¾ÝÕý³£ÉõÖÁÉÏÉý£¬¾Í¿ÉÒÔÉÔ΢ÇáËÉÒ»µã£»Èç¹ûÊý¾Ýϵø£¬½¹Ôê¶øÃ¦ÂµµÄÒ»ÌìÂíÉϾÍÒª¿ªÊ¼ÁË¡£
½«ÉÏÃæÈý¸ö²¿·ÖÕûºÏÆðÀ´µÄÊÇÈÎÎñµ÷¶È¹ÜÀíϵͳ£¬²»Í¬µÄÊý¾ÝºÎʱ¿ªÊ¼Í¬²½£¬¸÷ÖÖ MapReduce¡¢Spark
ÈÎÎñÈçºÎºÏÀíµ÷¶È²ÅÄÜʹ×ÊÔ´ÀûÓÃ×îºÏÀí¡¢µÈ´ýµÄʱ¼äÓÖ²»ÖÁÓÚÌ«¾Ã£¬Í¬Ê±ÁÙʱµÄÖØÒªÈÎÎñ»¹Äܹ»¾¡¿ìÖ´ÐУ¬ÕâЩ¶¼ÐèÒªÈÎÎñµ÷¶È¹ÜÀíϵͳÀ´Íê³É¡£
ÉÏÃæ½²µÄÕâÖÖ´óÊý¾Ýƽ̨¼Ü¹¹Ò²½Ð Lambda ¼Ü¹¹£¬Êǹ¹½¨´óÊý¾Ýƽ̨µÄÒ»ÖÖ³£¹æ¼Ü¹¹ÔÐÍ·½°¸¡£Lambda
¼Ü¹¹ÔÐÍÇë¿´ÏÂÃæµÄͼ¡£
Lambda ¼Ü¹¹
Lambda ¼Ü¹¹£¨Lambda Architecture£©ÊÇÓÉ Twitter ¹¤³ÌʦÄÏÉ¡¤Âí´Ä£¨Nathan
Marz£©Ìá³öµÄ´óÊý¾Ý´¦Àí¼Ü¹¹¡£ÕâÒ»¼Ü¹¹µÄÌá³ö»ùÓÚÂí´ÄÔÚ BackType ºÍ Twitter Éϵķֲ¼Ê½Êý¾Ý´¦ÀíϵͳµÄ¾Ñé¡£
Lambda ¼Ü¹¹Ê¹¿ª·¢ÈËÔ±Äܹ»¹¹½¨´ó¹æÄ£·Ö²¼Ê½Êý¾Ý´¦Àíϵͳ¡£Ëü¾ßÓкܺõÄÁé»îÐԺͿÉÀ©Õ¹ÐÔ£¬Ò²¶ÔÓ²¼þ¹ÊÕϺÍÈËΪʧÎóÓкܺõÄÈÝ´íÐÔ¡£

Lambda ¼Ü¹¹×ܹ²ÓÉÈý²ãϵͳ×é³É£ºÅú´¦Àí²ã£¨Batch Layer£©£¬ËÙ¶È´¦Àí²ã£¨Speed
Layer£©£¬ÒÔ¼°ÓÃÓÚÏìÓ¦²éѯµÄ·þÎñ²ã£¨Serving Layer£©¡£
ÔÚ Lambda ¼Ü¹¹ÖУ¬Ã¿²ã¶¼ÓÐ×Ô¼ºËù¼ç¸ºµÄÈÎÎñ¡£
Åú´¦Àí²ã´æ´¢¹ÜÀíÖ÷Êý¾Ý¼¯£¨²»¿É±äµÄÊý¾Ý¼¯£©ºÍÔ¤ÏÈÅú´¦Àí¼ÆËãºÃµÄÊÓͼ¡£
Åú´¦Àí²ãʹÓÿɴ¦Àí´óÁ¿Êý¾ÝµÄ·Ö²¼Ê½´¦ÀíϵͳԤÏȼÆËã½á¹û¡£Ëüͨ¹ý´¦ÀíËùÓеÄÒÑÓÐÀúÊ·Êý¾ÝÀ´ÊµÏÖÊý¾ÝµÄ׼ȷÐÔ¡£ÕâÒâζ×ÅËüÊÇ»ùÓÚÍêÕûµÄÊý¾Ý¼¯À´ÖØÐ¼ÆËãµÄ£¬Äܹ»ÐÞ¸´ÈκδíÎó£¬È»ºó¸üÐÂÏÖÓеÄÊý¾ÝÊÓͼ¡£Êä³öͨ³£´æ´¢ÔÚÖ»¶ÁÊý¾Ý¿âÖУ¬¸üÐÂÔòÍêȫȡ´úÏÖÓеÄÔ¤ÏȼÆËãºÃµÄÊÓͼ¡£
ËÙ¶È´¦Àí²ã»áʵʱ´¦ÀíÐÂÀ´µÄ´óÊý¾Ý¡£
ËٶȲãͨ¹ýÌṩ×îÐÂÊý¾ÝµÄʵʱÊÓͼÀ´×îС»¯ÑÓ³Ù¡£ËٶȲãËùÉú³ÉµÄÊý¾ÝÊÓͼ¿ÉÄܲ»ÈçÅú´¦Àí²ã×îÖÕÉú³ÉµÄÊÓͼÄÇÑù׼ȷ»òÍêÕû£¬µ«ËüÃǼ¸ºõÔÚÊÕµ½Êý¾ÝºóÁ¢¼´¿ÉÓ᣶øµ±Í¬ÑùµÄÊý¾ÝÔÚÅú´¦Àí²ã´¦ÀíÍê³Éºó£¬ÔÚËٶȲãµÄÊý¾Ý¾Í¿ÉÒÔ±»Ìæ´úµôÁË¡£
±¾ÖÊÉÏ£¬ËٶȲãÃÖ²¹ÁËÅú´¦Àí²ãËùµ¼ÖµÄÊý¾ÝÊÓͼÖͺ󡣱ÈÈç˵£¬Åú´¦Àí²ãµÄÿ¸öÈÎÎñ¶¼ÐèÒª 1 ¸öСʱ²ÅÄÜÍê³É£¬¶øÔÚÕâ
1 ¸öСʱÀÎÒÃÇÊÇÎÞ·¨»ñÈ¡Åú´¦Àí²ãÖÐ×îÐÂÈÎÎñ¸ø³öµÄÊý¾ÝÊÓͼµÄ¡£¶øËٶȲãÒòΪÄܹ»ÊµÊ±´¦ÀíÊý¾Ý¸ø³ö½á¹û£¬¾ÍÃÖ²¹ÁËÕâ
1 ¸öСʱµÄÖͺó¡£
ËùÓÐÔÚÅú´¦Àí²ãºÍËٶȲ㴦ÀíÍêµÄ½á¹û¶¼Êä³ö´æ´¢ÔÚ·þÎñ²ãÖУ¬·þÎñ²ãͨ¹ý·µ»ØÔ¤ÏȼÆËãµÄÊý¾ÝÊÓͼ»ò´ÓËٶȲ㴦Àí¹¹½¨ºÃÊý¾ÝÊÓͼÀ´ÏìÓ¦²éѯ¡£
ÀýÈç¹ã¸æÍ¶·ÅÔ¤²âÕâÖÖÍÆ¼öϵͳһ°ã¶¼»áÓõ½Lambda¼Ü¹¹¡£Ò»°ãÄÜ×ö¾«×¼¹ã¸æÍ¶·ÅµÄ¹«Ë¾¶¼»áÓµÓк£Á¿Óû§ÌØÕ÷¡¢Óû§ÀúÊ·ä¯ÀÀ¼Ç¼ºÍÍøÒ³ÀàÐÍ·ÖÀàÕâЩÀúÊ·Êý¾ÝµÄ¡£Òµ½ç±È½ÏÁ÷ÐеÄ×ö·¨ÓÐÔÚÅú´¦Àí²ãÓÃAlternating
Least Squares (ALS)Ëã·¨£¬Ò²¾ÍÊÇCollaborative FilteringÐͬ¹ýÂËËã·¨£¬¿ÉÒԵóöÓëÓû§ÌØÐÔÒ»ÖÂÆäËûÓû§¸ÐÐËȤµÄ¹ã¸æÀàÐÍ£¬Ò²¿ÉÒԵóöºÍÓû§¸ÐÐËȤÀàÐÍµÄ¹ã¸æÏàËÆµÄ¹ã¸æ£¬¶øÓÃk-meansÒ²¿ÉÒÔ¶Ô¿Í»§¸ÐÐËȤµÄ¹ã¸æÀàÐͽøÐзÖÀà¡£
ÕâÀïµÄ½á¹ûÊÇÅú´¦Àí²ãµÄ½á¹û¡£ÔÚËٶȲãÖиù¾ÝÓû§µÄʵʱä¯ÀÀÍøÒ³ÀàÐÍÔÚ֮ǰ·ÖºÃÀàµÄ¹ã¸æÖÐѰÕÒһЩtop
KµÄ¹ã¸æ³öÀ´¡£×îÖÕ·þÎñ²ã¿ÉÒÔ½áºÏËٶȲãµÄtop K¹ã¸æºÍÅú´¦Àí²ãÖзÖÀàºÃµÄµã»÷ÂʸߵÄÏàËÆ¹ã¸æ£¬×ö³öÑ¡ÔñͶ·Å¸øÓû§¡£
Lambda ¼Ü¹¹µÄ²»×ã
ËäÈ» Lambda ¼Ü¹¹Ê¹ÓÃÆðÀ´Ê®·ÖÁé»î£¬²¢ÇÒ¿ÉÒÔÊÊÓÃÓںܶàµÄÓ¦Óó¡¾°£¬µ«ÔÚʵ¼ÊÓ¦ÓõÄʱºò£¬Lambda
¼Ü¹¹Ò²´æÔÚ×ÅһЩ²»×㣬Ö÷Òª±íÏÖÔÚËüµÄά»¤ºÜ¸´ÔÓ¡£
ʹÓà Lambda ¼Ü¹¹Ê±£¬¼Ü¹¹Ê¦ÐèҪά»¤Á½¸ö¸´Ôӵķֲ¼Ê½ÏµÍ³£¬²¢ÇÒ±£Ö¤ËûÃÇÂß¼ÉϲúÉúÏàͬµÄ½á¹ûÊä³öµ½·þÎñ²ãÖС£
ÎÒÃǶ¼ÖªµÀ£¬ÔÚ·Ö²¼Ê½¿ò¼ÜÖнøÐбà³ÌÆäʵÊÇÊ®·Ö¸´Ôӵģ¬ÓÈÆäÊÇÎÒÃÇ»¹»áÕë¶Ô²»Í¬µÄ¿ò¼Ü½øÐÐרÃŵÄÓÅ»¯¡£ËùÒÔ¼¸ºõÿһ¸ö¼Ü¹¹Ê¦¶¼ÈÏͬ£¬Lambda
¼Ü¹¹ÔÚʵսÖÐά»¤ÆðÀ´¾ßÓÐÒ»¶¨µÄ¸´ÔÓÐÔ¡£
ÄÇÒªÔõô½â¾öÕâ¸öÎÊÌâÄØ£¿ÎÒÃÇÏÈÀ´Ë¼¿¼Ò»Ï£¬Ôì³ÉÕâ¸ö¼Ü¹¹Î¬»¤ÆðÀ´Èç´Ë¸´Ôӵĸù±¾ÔÒòÊÇÊ²Ã´ÄØ£¿
ά»¤ Lambda ¼Ü¹¹µÄ¸´ÔÓÐÔÔÚÓÚÎÒÃÇҪͬʱά»¤Á½Ì×ϵͳ¼Ü¹¹£ºÅú´¦Àí²ãºÍËٶȲ㡣ÎÒÃÇÒѾ˵¹ýÁË£¬Ôڼܹ¹ÖмÓÈëÅú´¦Àí²ãÊÇÒòΪ´ÓÅú´¦Àí²ãµÃµ½µÄ½á¹û¾ßÓиß׼ȷÐÔ£¬¶ø¼ÓÈëËٶȲãÊÇÒòΪËüÔÚ´¦Àí´ó¹æÄ£Êý¾Ýʱ¾ßÓеÍÑÓʱÐÔ¡£
ÄÇÎÒÃÇÄܲ»ÄܸĽøÆäÖÐijһ²ãµÄ¼Ü¹¹£¬ÈÃËü¾ßÓÐÁíÍâÒ»²ã¼Ü¹¹µÄÌØÐÔÄØ£¿
ÀýÈ磬¸Ä½øÅú´¦Àí²ãµÄϵͳÈÃËü¾ßÓиüµÍµÄÑÓʱÐÔ£¬ÓÖ»òÕßÊǸĽøËٶȲãµÄϵͳ£¬ÈÃËü²úÉúµÄÊý¾ÝÊÓͼ¸ü¾ß׼ȷÐԺ͸ü¼Ó½Ó½üÀúÊ·Êý¾ÝÄØ£¿
ÁíÍâÒ»ÖÖÔÚ´ó¹æÄ£Êý¾Ý´¦ÀíÖг£Óõļܹ¹¡ª¡ªKappa ¼Ü¹¹£¨Kappa Architecture£©£¬±ãÊÇÔÚÕâÑùµÄ˼¿¼Ïµ®ÉúµÄ¡£
Kappa ¼Ü¹¹
Kappa ¼Ü¹¹ÊÇÓÉ LinkedIn µÄǰÊ×ϯ¹¤³Ìʦ½ÜÒÁ¡¤¿ËÀׯÕ˹£¨Jay Kreps£©Ìá³öµÄÒ»Öּܹ¹Ë¼Ïë¡£¿ËÀׯÕ˹ÊǼ¸¸öÖøÃû¿ªÔ´ÏîÄ¿£¨°üÀ¨
Apache Kafka ºÍ Apache Samza ÕâÑùµÄÁ÷´¦Àíϵͳ£©µÄ×÷ÕßÖ®Ò»£¬Ò²ÊÇÏÖÔÚ Confluent
´óÊý¾Ý¹«Ë¾µÄ CEO¡£
¿ËÀׯÕ˹Ìá³öÁËÒ»¸ö¸Ä½ø Lambda ¼Ü¹¹µÄ¹Ûµã£º
ÎÒÃÇÄܲ»ÄܸĽø Lambda ¼Ü¹¹ÖÐËٶȲãµÄϵͳÐÔÄÜ£¬Ê¹µÃËüÒ²¿ÉÒÔ´¦ÀíºÃÊý¾ÝµÄÍêÕûÐÔºÍ׼ȷÐÔÎÊÌâÄØ£¿ÎÒÃÇÄܲ»ÄܸĽø
Lambda ¼Ü¹¹ÖеÄËٶȲ㣬ʹËü¼ÈÄܹ»½øÐÐʵʱÊý¾Ý´¦Àí£¬Í¬Ê±Ò²ÓÐÄÜÁ¦ÔÚÒµÎñÂß¼¸üеÄÇé¿öÏÂÖØÐ´¦ÀíÒÔǰ´¦Àí¹ýµÄÀúÊ·Êý¾ÝÄØ£¿
Ëû¸ù¾Ý×ÔÉí¶àÄêµÄ¼Ü¹¹¾Ñé·¢ÏÖ£¬ÎÒÃÇÊÇ¿ÉÒÔ×öµ½ÕâÑùµÄ¸Ä½øµÄ¡£
Ïñ Apache Kafka ÕâÑùµÄÁ÷´¦ÀíÆ½Ì¨ÊǾßÓÐÓÀ¾Ã±£´æÊý¾ÝÈÕÖ¾µÄ¹¦Äܵģ¬Í¨¹ýƽ̨µÄÕâÒ»ÌØÐÔ£¬ÎÒÃÇ¿ÉÒÔÖØÐ´¦Àí²¿ÊðÓÚËٶȲã¼Ü¹¹ÖеÄÀúÊ·Êý¾Ý¡£
ÏÂÃæ¾ÍÒÔ Apache Kafka ΪÀýÀ´½²ÊöÕû¸öȫмܹ¹µÄ¹ý³Ì¡£

¼°Ê±»ñÈ¡¸ü¶à´óÊý¾Ý¼¼Êõ·ÖÏí£¬Çë¹Ø×¢ÎÒµÄ΢ÐŹ«Öںš¶´óÊý¾Ý¼¼Êõ½ø½×¡·
µÚÒ»²½£¬²¿Êð Apache Kafka£¬²¢ÉèÖÃÊý¾ÝÈÕÖ¾µÄ±£ÁôÆÚ£¨Retention Period£©¡£ÕâÀïµÄ±£ÁôÆÚÖ¸µÄÊÇÄãÏ£ÍûÄܹ»ÖØÐ´¦ÀíµÄÀúÊ·Êý¾ÝµÄʱ¼äÇø¼ä¡£
ÀýÈ磬Èç¹ûÄãÏ£ÍûÖØÐ´¦Àí×î¶àÒ»ÄêµÄÀúÊ·Êý¾Ý£¬ÄǾͿÉÒÔ°Ñ Apache Kafka Öеı£ÁôÆÚÉèÖÃΪ
365 Ìì¡£Èç¹ûÄãÏ£ÍûÄܹ»´¦ÀíËùÓеÄÀúÊ·Êý¾Ý£¬ÄǾͿÉÒÔ°Ñ Apache Kafka Öеı£ÁôÆÚÉèÖÃΪ¡°ÓÀ¾Ã£¨Forever£©¡±¡£
µÚ¶þ²½£¬Èç¹ûÎÒÃÇÐèÒª¸Ä½øÏÖÓеÄÂß¼Ëã·¨£¬ÄǾͱíʾÎÒÃÇÐèÒª¶ÔÀúÊ·Êý¾Ý½øÐÐÖØÐ´¦Àí¡£
ÎÒÃÇÐèÒª×öµÄ¾ÍÊÇÖØÐÂÆô¶¯Ò»¸ö Apache Kafka ×÷ҵʵÀý£¨Instance£©¡£Õâ¸ö×÷ҵʵÀý½«´ÓÍ·¿ªÊ¼£¬ÖØÐ¼ÆËã±£ÁôºÃµÄÀúÊ·Êý¾Ý£¬²¢½«½á¹ûÊä³öµ½Ò»¸öеÄÊý¾ÝÊÓͼÖС£ÎÒÃÇÖªµÀ
Apache Kafka µÄµ×²ãÊÇʹÓà Log Offset À´ÅжÏÏÖÔÚÒѾ´¦Àíµ½ÄĸöÊý¾Ý¿éÁË£¬ËùÒÔÖ»ÐèÒª½«
Log Offset ÉèÖÃΪ 0£¬ÐµÄ×÷ҵʵÀý¾Í»á´ÓÍ·¿ªÊ¼´¦ÀíÀúÊ·Êý¾Ý¡£
µÚÈý²½£¬µ±Õâ¸öеÄÊý¾ÝÊÓͼ´¦Àí¹ýµÄÊý¾Ý½ø¶È¸ÏÉÏÁ˾ɵÄÊý¾ÝÊÓͼʱ£¬ÎÒÃǵÄÓ¦Óñã¿ÉÒÔÇл»µ½´ÓеÄÊý¾ÝÊÓͼÖжÁÈ¡¡£
µÚËIJ½£¬Í£Ö¹¾É°æ±¾µÄ×÷ҵʵÀý£¬²¢É¾³ý¾ÉµÄÊý¾ÝÊÓͼ¡£
Óë Lambda ¼Ü¹¹²»Í¬µÄÊÇ£¬Kappa ¼Ü¹¹È¥µôÁËÅú´¦Àí²ãÕâÒ»Ìåϵ½á¹¹£¬¶øÖ»±£ÁôÁËËٶȲ㡣ÄãÖ»ÐèÒªÔÚÒµÎñÂß¼¸Ä±äÓÖ»òÕßÊÇ´úÂë¸ü¸ÄµÄʱºò½øÐÐÊý¾ÝµÄÖØÐ´¦Àí¡£
ÔÚ½²ÊöÍê Kappa ¼Ü¹¹Ö®ºó£¬ÎÒÏëÇ¿µ÷һϣ¬Kappa ¼Ü¹¹Ò²ÊÇÓÐ×ÅËü×ÔÉíµÄ²»×ãµÄ¡£
ÒòΪ Kappa ¼Ü¹¹Ö»±£ÁôÁËËÙ¶È²ã¶øÈ±ÉÙÅú´¦Àí²ã£¬ÔÚËٶȲãÉÏ´¦Àí´ó¹æÄ£Êý¾Ý¿ÉÄÜ»áÓÐÊý¾Ý¸üгö´íµÄÇé¿ö·¢Éú£¬Õâ¾ÍÐèÒªÎÒÃÇ»¨·Ñ¸ü¶àµÄʱ¼äÔÚ´¦ÀíÕâЩ´íÎóÒì³£ÉÏÃæ¡£
»¹ÓÐÒ»µã£¬Kappa ¼Ü¹¹µÄÅú´¦ÀíºÍÁ÷´¦Àí¶¼·ÅÔÚÁËËٶȲãÉÏ£¬Õâµ¼ÖÂÁËÕâÖּܹ¹ÊÇʹÓÃͬһÌ×´úÂëÀ´´¦ÀíËã·¨Âß¼µÄ¡£ËùÒÔ
Kappa ¼Ü¹¹²¢²»ÊÊÓÃÓÚÅú´¦ÀíºÍÁ÷´¦Àí´úÂëÂß¼²»Ò»Öµij¡¾°¡£
С½á
ÔÚ±¾ÎÄÖУ¬ÎÒÃǼòÊöÁË Lambda ¼Ü¹¹ºÍ Kappa ¼Ü¹¹ÕâÁ½ÖÖ´ó¹æÄ£Êý¾Ý´¦Àí¼Ü¹¹£¬ËüÃǶ¼¸÷×ÔÓÐ×Å×ÔÉíµÄÓÅȱµã¡£ÎÒÃÇÐèÒª°´ÕÕʵ¼ÊÇé¿öÀ´È¨ºâÀû±×£¬¿´¿´ÔÚÒµÎñÖе½µ×ÐèҪʹÓõ½ÄÄÖּܹ¹¡£
Èç¹ûÄãËùÃæ¶ÔµÄÒµÎñÂß¼ÊÇÉè¼ÆÒ»ÖÖÎȽ¡µÄ»úÆ÷ѧϰģÐÍÀ´Ô¤²â¼´½«·¢ÉúµÄÊÂÇ飬ÄÇôÄãÓ¦¸ÃÓÅÏÈ¿¼ÂÇʹÓà Lambda
¼Ü¹¹£¬ÒòΪËüÓµÓÐÅú´¦Àí²ãºÍËٶȲãÀ´È·±£¸üÉٵĴíÎó¡£
Èç¹ûÄãËùÃæ¶ÔµÄÒµÎñÂß¼ÊÇÏ£ÍûʵʱÐԱȽϸߣ¬¶øÇÒ¿Í»§¶ËÓÖÊǸù¾ÝÔËÐÐʱ·¢ÉúµÄʵʱʼþÀ´×ö³ö»ØÓ¦µÄ£¬ÄÇôÄã¾ÍÓ¦¸ÃÓÅÏÈ¿¼ÂÇʹÓÃ
Kappa ¼Ü¹¹¡£
|