ÏûÏ¢¶ÓÁÐ
ÏûÏ¢¶ÓÁм¼ÊõÊÇ·Ö²¼Ê½Ó¦Óü佻»»ÐÅÏ¢µÄÒ»ÖÖ¼¼Êõ¡£ÏûÏ¢¶ÓÁпÉפÁôÔÚÄÚ´æ»ò´ÅÅÌÉÏ, ¶ÓÁд洢ÏûÏ¢Ö±µ½ËüÃDZ»Ó¦ÓóÌÐò¶Á×ß¡£Í¨¹ýÏûÏ¢¶ÓÁУ¬Ó¦ÓóÌÐò¿É¶ÀÁ¢µØÖ´ÐÐ--ËüÃDz»ÐèÒªÖªµÀ±Ë´ËµÄλÖᢻòÔÚ¼ÌÐøÖ´ÐÐǰ²»ÐèÒªµÈ´ý½ÓÊÕ³ÌÐò½ÓÊÕ´ËÏûÏ¢¡£ÔÚ·Ö²¼Ê½¼ÆËã»·¾³ÖУ¬ÎªÁ˼¯³É·Ö²¼Ê½Ó¦Ó㬿ª·¢ÕßÐèÒª¶ÔÒì¹¹ÍøÂç»·¾³Ïµķֲ¼Ê½Ó¦ÓÃÌṩÓÐЧµÄͨÐÅÊֶΡ£ÎªÁ˹ÜÀíÐèÒª¹²ÏíµÄÐÅÏ¢£¬¶ÔÓ¦ÓÃÌṩ¹«¹²µÄÐÅÏ¢½»»»»úÖÆÊÇÖØÒªµÄ¡£³£ÓõÄÏûÏ¢¶ÓÁм¼ÊõÊÇ
Message Queue¡£
Message Queue µÄͨѶģʽ
µã¶ÔµãͨѶ£ºµã¶Ôµã·½Ê½ÊÇ×îΪ´«Í³ºÍ³£¼ûµÄͨѶ·½Ê½£¬ËüÖ§³ÖÒ»¶ÔÒ»¡¢Ò»¶Ô¶à¡¢¶à¶Ô¶à¡¢¶à¶ÔÒ»µÈ¶àÖÖÅäÖ÷½Ê½£¬Ö§³ÖÊ÷×´¡¢Íø×´µÈ¶àÖÖÍØÆË½á¹¹¡£
¶àµã¹ã²¥£ºMQ ÊÊÓÃÓÚ²»Í¬ÀàÐ͵ÄÓ¦Óá£ÆäÖÐÖØÒªµÄ£¬Ò²ÊÇÕýÔÚ·¢Õ¹ÖеÄÊÇ"¶àµã¹ã²¥"Ó¦Ó㬼´Äܹ»½«ÏûÏ¢·¢Ë͵½¶à¸öÄ¿±êÕ¾µã
(Destination List)¡£¿ÉÒÔʹÓÃÒ»Ìõ MQ Ö¸Áµ¥Ò»ÏûÏ¢·¢Ë͵½¶à¸öÄ¿±êÕ¾µã£¬²¢È·±£ÎªÃ¿Ò»Õ¾µã¿É¿¿µØÌṩÐÅÏ¢¡£MQ
²»½öÌṩÁ˶àµã¹ã²¥µÄ¹¦ÄÜ£¬¶øÇÒ»¹ÓµÓÐÖÇÄÜÏûÏ¢·Ö·¢¹¦ÄÜ£¬ÔÚ½«Ò»ÌõÏûÏ¢·¢Ë͵½Í¬Ò»ÏµÍ³ÉϵĶà¸öÓû§Ê±£¬MQ
½«ÏûÏ¢µÄÒ»¸ö¸´Öư汾ºÍ¸ÃϵͳÉϽÓÊÕÕßµÄÃûµ¥·¢Ë͵½Ä¿±ê MQ ϵͳ¡£Ä¿±ê MQ ϵͳÔÚ±¾µØ¸´ÖÆÕâЩÏûÏ¢£¬²¢½«ËüÃÇ·¢Ë͵½Ãûµ¥ÉϵĶÓÁУ¬´Ó¶ø¾¡¿ÉÄܼõÉÙÍøÂçµÄ´«ÊäÁ¿¡£
·¢²¼/¶©ÔÄ (Publish/Subscribe) ģʽ£º·¢²¼/¶©ÔŦÄÜʹÏûÏ¢µÄ·Ö·¢¿ÉÒÔÍ»ÆÆÄ¿µÄ¶ÓÁеØÀíÖ¸ÏòµÄÏÞÖÆ£¬Ê¹ÏûÏ¢°´ÕÕÌØ¶¨µÄÖ÷ÌâÉõÖÁÄÚÈݽøÐзַ¢£¬Óû§»òÓ¦ÓóÌÐò¿ÉÒÔ¸ù¾ÝÖ÷Ìâ»òÄÚÈݽÓÊÕµ½ËùÐèÒªµÄÏûÏ¢¡£·¢²¼/¶©ÔŦÄÜʹµÃ·¢ËÍÕߺͽÓÊÕÕßÖ®¼äµÄñîºÏ¹ØÏµ±äµÃ¸üΪËÉÉ¢£¬·¢ËÍÕß²»±Ø¹ØÐĽÓÊÕÕßµÄÄ¿µÄµØÖ·£¬¶ø½ÓÊÕÕßÒ²²»±Ø¹ØÐÄÏûÏ¢µÄ·¢Ë͵ØÖ·£¬¶øÖ»ÊǸù¾ÝÏûÏ¢µÄÖ÷Ìâ½øÐÐÏûÏ¢µÄÊÕ·¢¡£
Ⱥ¼¯ (Cluster)£ºÎªÁ˼ò»¯µã¶ÔµãͨѶģʽÖеÄϵͳÅäÖã¬MQ Ìṩ Cluster(Ⱥ¼¯) µÄ½â¾ö·½°¸¡£Èº¼¯ÀàËÆÓÚÒ»¸öÓò
(Domain)£¬Èº¼¯ÄÚ²¿µÄ¶ÓÁйÜÀíÆ÷Ö®¼äͨѶʱ£¬²»ÐèÒªÁ½Á½Ö®¼ä½¨Á¢ÏûϢͨµÀ£¬¶øÊDzÉÓÃȺ¼¯ (Cluster)
ͨµÀÓëÆäËü³ÉԱͨѶ£¬´Ó¶ø´ó´ó¼ò»¯ÁËϵͳÅäÖᣴËÍ⣬Ⱥ¼¯ÖеĶÓÁйÜÀíÆ÷Ö®¼äÄܹ»×Ô¶¯½øÐиºÔؾùºâ£¬µ±Ä³Ò»¶ÓÁйÜÀíÆ÷³öÏÖ¹ÊÕÏʱ£¬ÆäËü¶ÓÁйÜÀíÆ÷¿ÉÒÔ½Ó¹ÜËüµÄ¹¤×÷£¬´Ó¶ø´ó´óÌá¸ßϵͳµÄ¸ß¿É¿¿ÐÔ¡£
Apache Kafka ÔÀí
Kafka ÊÇÒ»¸öÏûϢϵͳ£¬Ô±¾¿ª·¢×Ô LinkedIn£¬ÓÃ×÷ LinkedIn µÄ»î¶¯Á÷£¨Activity
Stream£©ºÍÔËÓªÊý¾Ý´¦Àí¹ÜµÀ£¨Pipeline£©µÄ»ù´¡¡£ÏÖÔÚËüÒѱ»¶à¼Ò¹«Ë¾×÷Ϊ¶àÖÖÀàÐ͵ÄÊý¾Ý¹ÜµÀºÍÏûϢϵͳʹÓ᣻Á÷Êý¾ÝÊǼ¸ºõËùÓÐÕ¾µãÔÚ¶ÔÆäÍøÕ¾Ê¹ÓÃÇé¿ö×ö±¨±íʱ¶¼ÒªÓõ½µÄÊý¾ÝÖÐ×î³£¹æµÄ²¿·Ö¡£»î¶¯Êý¾Ý°üÀ¨Ò³Ãæ·ÃÎÊÁ¿£¨Page
View£©¡¢±»²é¿´ÄÚÈÝ·½ÃæµÄÐÅÏ¢ÒÔ¼°ËÑË÷Çé¿öµÈÄÚÈÝ¡£ÕâÖÖÊý¾Ýͨ³£µÄ´¦Àí·½Ê½ÊÇÏȰѸ÷ÖֻÒÔÈÕÖ¾µÄÐÎʽдÈëijÖÖÎļþ£¬È»ºóÖÜÆÚÐԵضÔÕâЩÎļþ½øÐÐͳ¼Æ·ÖÎö¡£ÔËÓªÊý¾ÝÖ¸µÄÊÇ·þÎñÆ÷µÄÐÔÄÜÊý¾Ý£¨CPU¡¢IO
ʹÓÃÂÊ¡¢ÇëÇóʱ¼ä¡¢·þÎñÈÕÖ¾µÈµÈÊý¾Ý)£¬×ܵÄÀ´Ëµ£¬ÔËÓªÊý¾ÝµÄͳ¼Æ·½·¨ÖÖÀà·±¶à¡£
Kafka רÓÃÊõÓï
Broker£ºKafka ¼¯Èº°üº¬Ò»¸ö»ò¶à¸ö·þÎñÆ÷£¬ÕâÖÖ·þÎñÆ÷±»³ÆÎª broker¡£
Topic£ºÃ¿Ìõ·¢²¼µ½ Kafka ¼¯ÈºµÄÏûÏ¢¶¼ÓÐÒ»¸öÀà±ð£¬Õâ¸öÀà±ð±»³ÆÎª Topic¡££¨ÎïÀíÉϲ»Í¬
Topic µÄÏûÏ¢·Ö¿ª´æ´¢£¬Âß¼ÉÏÒ»¸ö Topic µÄÏûÏ¢ËäÈ»±£´æÓÚÒ»¸ö»ò¶à¸ö broker ÉÏ£¬µ«Óû§Ö»ÐèÖ¸¶¨ÏûÏ¢µÄ
Topic ¼´¿ÉÉú²ú»òÏû·ÑÊý¾Ý¶ø²»±Ø¹ØÐÄÊý¾Ý´æÓں䦣©¡£
Partition£ºPartition ÊÇÎïÀíÉϵĸÅÄÿ¸ö Topic °üº¬Ò»¸ö»ò¶à¸ö Partition¡£
Producer£º¸ºÔð·¢²¼ÏûÏ¢µ½ Kafka broker¡£
Consumer£ºÏûÏ¢Ïû·ÑÕߣ¬Ïò Kafka broker ¶ÁÈ¡ÏûÏ¢µÄ¿Í»§¶Ë¡£
Consumer Group£ºÃ¿¸ö Consumer ÊôÓÚÒ»¸öÌØ¶¨µÄ Consumer Group£¨¿ÉΪÿ¸ö
Consumer Ö¸¶¨ group name£¬Èô²»Ö¸¶¨ group name ÔòÊôÓÚĬÈ쵀 group£©¡£
Kafka ½»»¥Á÷³Ì
Kafka ÊÇÒ»¸ö»ùÓÚ·Ö²¼Ê½µÄÏûÏ¢·¢²¼-¶©ÔÄϵͳ£¬Ëü±»Éè¼Æ³É¿ìËÙ¡¢¿ÉÀ©Õ¹µÄ¡¢³Ö¾ÃµÄ¡£ÓëÆäËûÏûÏ¢·¢²¼-¶©ÔÄϵͳÀàËÆ£¬Kafka
ÔÚÖ÷Ìâµ±Öб£´æÏûÏ¢µÄÐÅÏ¢¡£Éú²úÕßÏòÖ÷ÌâдÈëÊý¾Ý£¬Ïû·ÑÕß´ÓÖ÷Ìâ¶ÁÈ¡Êý¾Ý¡£ÓÉÓÚ Kafka µÄÌØÐÔÊÇÖ§³Ö·Ö²¼Ê½£¬Í¬Ê±Ò²ÊÇ»ùÓÚ·Ö²¼Ê½µÄ£¬ËùÒÔÖ÷ÌâÒ²ÊÇ¿ÉÒÔÔÚ¶à¸ö½ÚµãÉϱ»·ÖÇøºÍ¸²¸ÇµÄ¡£
ÐÅÏ¢ÊÇÒ»¸ö×Ö½ÚÊý×飬³ÌÐòÔ±¿ÉÒÔÔÚÕâЩ×Ö½ÚÊý×éÖд洢ÈκζÔÏó£¬Ö§³ÖµÄÊý¾Ý¸ñʽ°üÀ¨ String¡¢JSON¡¢Avro¡£Kafka
ͨ¹ý¸øÃ¿Ò»¸öÏûÏ¢°ó¶¨Ò»¸ö¼üÖµµÄ·½Ê½À´±£Ö¤Éú²úÕß¿ÉÒÔ°ÑËùÓеÄÏûÏ¢·¢Ë͵½Ö¸¶¨Î»Öá£ÊôÓÚijһ¸öÏû·ÑÕßȺ×éµÄÏû·ÑÕß¶©ÔÄÁËÒ»¸öÖ÷Ì⣬ͨ¹ý¸Ã¶©ÔÄÏû·ÑÕß¿ÉÒÔ¿ç½ÚµãµØ½ÓÊÕËùÓÐÓë¸ÃÖ÷ÌâÏà¹ØµÄÏûÏ¢£¬Ã¿Ò»¸öÏûÏ¢Ö»»á·¢Ë͸øÈº×éÖеÄÒ»¸öÏû·ÑÕߣ¬ËùÓÐÓµÓÐÏàͬ¼üÖµµÄÏûÏ¢¶¼»á±»È·±£·¢¸øÕâÒ»¸öÏû·ÑÕß¡£
Kafka Éè¼ÆÖн«Ã¿Ò»¸öÖ÷Ìâ·ÖÇøµ±×÷Ò»¸ö¾ßÓÐ˳ÐòÅÅÁеÄÈÕÖ¾¡£Í¬´¦ÓÚÒ»¸ö·ÖÇøÖеÄÏûÏ¢¶¼±»ÉèÖÃÁËÒ»¸öΨһµÄÆ«ÒÆÁ¿¡£Kafka
Ö»»á±£³Ö¸ú×Ùδ¶ÁÏûÏ¢£¬Ò»µ©ÏûÏ¢±»ÖÃΪÒѶÁ״̬£¬Kafka ¾Í²»»áÔÙÈ¥¹ÜÀíËüÁË¡£Kafka µÄÉú²úÕ߸ºÔðÔÚÏûÏ¢¶ÓÁÐÖжÔÉú²ú³öÀ´µÄÏûÏ¢±£Ö¤Ò»¶¨Ê±¼äµÄÕ¼ÓУ¬Ïû·ÑÕ߸ºÔð×·×Ùÿһ¸öÖ÷Ìâ
(¿ÉÒÔÀí½âΪһ¸öÈÕ־ͨµÀ) µÄÏûÏ¢²¢¼°Ê±»ñÈ¡ËüÃÇ¡£»ùÓÚÕâÑùµÄÉè¼Æ£¬Kafka ¿ÉÒÔÔÚÏûÏ¢¶ÓÁÐÖб£´æ´óÁ¿µÄ¿ªÏúºÜСµÄÊý¾Ý£¬²¢ÇÒÖ§³Ö´óÁ¿µÄÏû·ÑÕß¶©ÔÄ¡£
ÀûÓà Apache Kafka ϵͳ¼Ü¹¹µÄÉè¼ÆË¼Â·
ʾÀý£ºÍøÂçÓÎÏ·
¼ÙÉèÎÒÃÇÕýÔÚ¿ª·¢Ò»¸öÔÚÏßÍøÂçÓÎϷƽ̨£¬Õâ¸öƽ̨ÐèÒªÖ§³Ö´óÁ¿µÄÔÚÏßÓû§ÊµÊ±²Ù×÷£¬Íæ¼ÒÔÚÒ»¸öÐéÄâµÄÊÀ½çÀïͨ¹ý»¥ÏàÐ×÷µÄ·½Ê½Ò»ÆðÍê³Éÿһ¸öÈÎÎñ¡£ÓÉÓÚÓÎÏ·µ±ÖÐÔÊÐíÍæ¼Ò»¥ÏཻÒ×½ð±Ò¡¢µÀ¾ß£¬ÎÒÃDZØÐëÈ·±£Íæ¼ÒÖ®¼äµÄ³ÏÐŹØÏµ£¬¶øÎªÁËÈ·±£Íæ¼ÒÖ®¼äµÄ³ÏÐż°ÕË»§°²È«£¬ÎÒÃÇÐèÒª¶ÔÍæ¼ÒµÄ
IP µØÖ·½øÐÐ×·×Ù£¬µ±³öÏÖÒ»¸ö³¤ÆÚ¹Ì¶¨ IP µØÖ·ºöȻ֮¼ä³öÏÖÒ춯Çé¿ö£¬ÎÒÃÇÒªÄܹ»Ô¤¾¯£¬Í¬Ê±£¬Èç¹û³öÏÖÍæ¼ÒËù³ÖÓеĽð±Ò¡¢µÀ¾ß³öÏÖÖØ´ó±ä¸üµÄÇé¿ö£¬Ò²ÒªÄܹ»¼°Ê±Ô¤¾¯¡£´ËÍ⣬ΪÁËÈÿª·¢×éµÄÊý¾Ý¹¤³ÌʦÄܹ»²âÊÔеÄËã·¨£¬ÎÒÃÇÒªÔÊÐíÕâÐ©Íæ¼ÒÊý¾Ý½øÈëµ½
Hadoop ¼¯Èº£¬¼´¼ÓÔØÕâЩÊý¾Ýµ½ Hadoop ¼¯ÈºÀïÃæ¡£
¶ÔÓÚÒ»¸öʵʱÓÎÏ·£¬ÎÒÃDZØÐëÒª×öµ½¶Ô´æ´¢ÔÚ·þÎñÆ÷ÄÚ´æÖеÄÊý¾Ý½øÐпìËÙ´¦Àí£¬ÕâÑù¿ÉÒÔ°ïÖúʵʱµØ·¢³öÔ¤¾¯µÈ¸÷Àද×÷¡£ÎÒÃǵÄϵͳ¼ÜÉèÓµÓжą̀·þÎñÆ÷£¬ÄÚ´æÖеÄÊý¾Ý°üÀ¨ÁËÿһ¸öÔÚÏßÍæ¼Ò½ü
30 ´Î·ÃÎʵĸ÷Àà¼Ç¼£¬°üÀ¨µÀ¾ß¡¢½»Ò×ÐÅÏ¢µÈµÈ£¬²¢ÇÒÕâЩÊý¾Ý¿ç·þÎñÆ÷´æ´¢¡£
ÎÒÃǵķþÎñÆ÷ÓµÓÐÁ½¸ö½ÇÉ«£ºÊ×ÏÈÊǽÓÊÜÓû§·¢ÆðµÄ¶¯×÷£¬ÀýÈç½»Ò×ÇëÇ󣬯ä´ÎÊÇʵʱµØ´¦ÀíÓû§·¢ÆðµÄ½»Òײ¢¸ù¾Ý½»Ò×ÐÅÏ¢·¢Æð±ØÒªµÄÔ¤¾¯¶¯×÷¡£ÎªÁ˱£Ö¤¿ìËÙ¡¢ÊµÊ±µØ´¦ÀíÊý¾Ý£¬ÎÒÃÇÐèÒªÔÚÿһ̨»úÆ÷µÄÄÚ´æÖб£ÁôÀúÊ·½»Ò×ÐÅÏ¢£¬ÕâÒâζ×ÅÎÒÃDZØÐëÔÚ·þÎñÆ÷Ö®¼ä´«µÝÊý¾Ý£¬¼´Ê¹½ÓÊÕÓû§ÇëÇóµÄÕą̂»úÆ÷ûÓиÃÓû§µÄ½»Ò×ÐÅÏ¢¡£ÎªÁ˱£Ö¤½ÇÉ«µÄËÉñîºÏ£¬ÎÒÃÇʹÓÃ
Kafka ÔÚ·þÎñÆ÷Ö®¼ä´«µÝÐÅÏ¢ (Êý¾Ý)¡£
Kafka ÌØÐÔ
Kafka µÄ¼¸¸öÌØÐԷdz£Âú×ãÎÒÃǵÄÐèÇ󣺿ÉÀ©Õ¹ÐÔ¡¢Êý¾Ý·ÖÇø¡¢µÍÑÓ³Ù¡¢´¦Àí´óÁ¿²»Í¬Ïû·ÑÕßµÄÄÜÁ¦¡£Õâ¸ö°¸ÀýÎÒÃÇ¿ÉÒÔÅäÖÃÔÚ
Kafka ÖÐΪµÇ½ºÍ½»Ò×ÅäÖÃͬһ¸öÖ÷Ìâ¡£ÓÉÓÚ Kafka Ö§³ÖÔÚµ¥Ò»Ö÷ÌâÄÚµÄÅÅÐò£¬¶ø²»ÊÇ¿çÖ÷ÌâµÄÅÅÐò£¬ËùÒÔÎÒÃÇΪÁ˱£Ö¤Óû§ÔÚ½»Ò×ǰʹÓÃʵ¼ÊµÄ
IP µØÖ·µÇ½ϵͳ£¬ÎÒÃDzÉÓÃÁËͬһ¸öÖ÷ÌâÀ´´æ´¢µÇ½ÐÅÏ¢ºÍ½»Ò×ÐÅÏ¢¡£
µ±Óû§µÇ½»òÕß·¢Æð½»Ò×¶¯×÷ºó£¬¸ºÔð½ÓÊյķþÎñÆ÷Á¢¼´·¢Ê¼þ¸ø Kafka¡£ÕâÀïÎÒÃDzÉÓÃÓû§ id ×÷ΪÏûÏ¢µÄÖ÷¼ü£¬¾ßÌåʼþ×÷Ϊֵ¡£Õâ±£Ö¤ÁËͬһ¸öÓû§µÄËùÓеĽ»Ò×ÐÅÏ¢ºÍµÇ½ÐÅÏ¢±»·¢Ë͵½
Kafka ·ÖÇø¡£Ã¿Ò»¸öʼþ´¦Àí·þÎñ±»µ±×÷Ò»¸ö Kafka Ïû·ÑÕßÀ´ÔËÐУ¬ËùÓеÄÏû·ÑÕß±»ÅäÖõ½ÁËͬһ¸öÏû·ÑÕßȺ×飬ÕâÑùÿһ̨·þÎñÆ÷´ÓһЩ
Kafka ·ÖÇø¶ÁÈ¡Êý¾Ý£¬Ò»¸ö·ÖÇøµÄËùÓÐÊý¾Ý±»Ë͵½Í¬Ò»¸öʼþ´¦Àí·þÎñÆ÷ (¿ÉÒÔÓë½ÓÊÕ·þÎñÆ÷²»Í¬)¡£µ±Ê¼þ´¦Àí·þÎñÆ÷´Ó
Kafka ¶ÁÈ¡ÁËÓû§½»Ò×ÐÅÏ¢£¬Ëü¿ÉÒ԰ѸÃÐÅÏ¢¼ÓÈëµ½±£´æÔÚ±¾µØÄÚ´æÖеÄÀúÊ·ÐÅÏ¢ÁбíÀïÃæ£¬ÕâÑù¿ÉÒÔ±£Ö¤Ê¼þ´¦Àí·þÎñÆ÷ÔÚ±¾µØÄÚ´æÖе÷ÓÃÓû§µÄÀúÊ·ÐÅÏ¢²¢×ö³öÔ¤¾¯£¬¶ø²»ÐèÒª¶îÍâµÄÍøÂç»ò´ÅÅÌ¿ªÏú¡£
>
ͼ 1. ÓÎÏ·Éè¼ÆÍ¼
ΪÁ˶àÏ̴߳¦Àí£¬ÎÒÃÇΪÿһ¸öʼþ´¦Àí·þÎñÆ÷»òÕßÿһ¸öºË´´½¨ÁËÒ»¸ö·ÖÇø¡£Kafka
ÒѾÔÚÓµÓÐ 1 Íò¸ö·ÖÇøµÄ¼¯ÈºÀï²âÊÔ¹ý¡£
Çл»»Ø Kafka
ÉÏÃæµÄÀý×ÓÌýÆðÀ´ÓеãÈÆ¿Ú£ºÊ×ÏÈ´ÓÓÎÏ··þÎñÆ÷·¢ËÍÐÅÏ¢µ½ Kafka£¬È»ºóÁíһ̨ÓÎÏ··þÎñÆ÷µÄÏû·ÑÕß´ÓÖ÷ÌâÖжÁÈ¡¸ÃÐÅÏ¢²¢´¦ÀíËü¡£È»¶ø£¬ÕâÑùµÄÉè¼Æ½âñîÁËÁ½¸ö½ÇÉ«²¢ÇÒÔÊÐíÎÒÃǹÜÀíÿһ¸ö½ÇÉ«µÄ¸÷ÖÖ¹¦ÄÜ¡£´ËÍ⣬ÕâÖÖ·½Ê½²»»áÔö¼Ó¸ºÔص½
Kafka¡£²âÊÔ½á¹ûÏÔʾ£¬¼´Ê¹ 3 ¸ö½áµã×é³ÉµÄ¼¯ÈºÒ²¿ÉÒÔ´¦ÀíÿÃë½Ó½ü°ÙÍò¼¶µÄÈÎÎñ£¬Æ½¾ùÿ¸öÈÎÎñ´Ó×¢²áµ½Ïû·ÑºÄʱ
3 ºÁÃë¡£
ÉÏÃæÀý×Óµ±·¢ÏÖÒ»¸öʼþ¿ÉÒɺ󣬷¢ËÍÒ»¸öÔ¤¾¯±êÖ¾µ½Ò»¸öÐ嵀 Kafka Ö÷Ì⣬ͬÑùµÄÓÐÒ»¸öÏû·ÑÕß·þÎñ»á¶ÁÈ¡Ëü£¬²¢½«Êý¾Ý´æÈë
Hadoop ¼¯ÈºÓÃÓÚ½øÒ»²½µÄÊý¾Ý·ÖÎö¡£
ÒòΪ Kafka ²»»á×·×ÙÏûÏ¢µÄ´¦Àí¹ý³Ì¼°Ïû·ÑÕß¶ÓÁУ¬ËùÒÔËüÔÚÏûºÄ¼«Ð¡µÄǰÌáÏ¿ÉÒÔͬʱ´¦ÀíÊýǧ¸öÏû·ÑÕß¡£Kafka
ÉõÖÁ¿ÉÒÔ´¦ÀíÅúÁ¿¼¶±ðµÄÏû·ÑÕߣ¬ÀýÈçÿСʱ»½ÐÑÒ»´ÎÒ»Åú˯ÃßµÄÏû·ÑÕßÀ´´¦ÀíËùÓеÄÐÅÏ¢¡£
Kafka ÈÃÊý¾Ý´æÈë Hadoop ¼¯Èº±äµÃ·Ç³£¼òµ¥¡£µ±ÓµÓжà¸öÊý¾ÝÀ´Ô´ºÍ¶à¸öÊý¾ÝÄ¿µÄµØÊ±£¬ÎªÃ¿Ò»¸öÀ´Ô´ºÍÄ¿µÄµØÅä¶ÔµØ±àдһ¸öµ¥¶ÀµÄÊý¾ÝͨµÀ»áµ¼Ö»ìÂÒ·¢Éú¡£Kafka
°ïÖú LinkedIn ¹æ·¶ÁËÊý¾ÝͨµÀ¸ñʽ£¬²¢ÇÒÔÊÐíÿһ¸öϵͳ»ñÈ¡Êý¾ÝºÍдÈëÊý¾Ý¸÷Ò»´Î£¬ÕâÑù¼«´óµØ¼õÉÙÊý¾ÝͨµÀµÄ¸´ÔÓÐԺͲÙ×÷ºÄʱ¡£
LinkedIn µÄ¼Ü¹¹Ê¦ Jay Kreps ˵£º¡°ÎÒ×î³õÊÇÔÚ 2008 ÄêÍê³É¼üÖµ¶ÔÊý¾Ý´æ´¢·½Ê½ºó¿ªÊ¼µÄ£¬ÎÒµÄÏîÄ¿Êdz¢ÊÔÔËÐÐ
Hadoop£¬½«ÎÒÃǵÄһЩ´¦Àí¹ý³ÌÒÆ¶¯µ½ Hadoop ÀïÃæÈ¥¡£ÎÒÃÇÔÚÕâ¸öÁìÓò¼¸ºõûÓоÑ飬»¨Á˼¸¸öÐÇÆÚ³¢ÊÔ°ÑÊý¾Ýµ¼Èë¡¢µ¼³ö£¬ÁíÍâһЩʼþ»¨ÔÚÁ˳¢ÊÔ¸÷ÖÖ¸÷ÑùµÄÔ¤²âÐÔË㷨ʹÓÃÉÏÃæ£¬È»ºó£¬ÎÒÃÇ¿ªÊ¼ÁËÂþÂþ³¤Â·¡±¡£
Óë Flume µÄÇø±ð
Kafka Óë Flume ºÜ¶à¹¦ÄÜȷʵÊÇÖØ¸´µÄ¡£ÒÔÏÂÊÇÆÀ¹ÀÁ½¸öϵͳµÄһЩ½¨Ò飺
Kafka ÊÇÒ»¸öͨÓÃÐÍϵͳ¡£Äã¿ÉÒÔÓÐÐí¶àµÄÉú²úÕߺÍÏû·ÑÕß·ÖÏí¶à¸öÖ÷Ìâ¡£Ïà·´µØ£¬Flume ±»Éè¼Æ³ÉÌØ¶¨ÓÃ;µÄ¹¤×÷£¬Ìض¨µØÏò
HDFS ºÍ HBase ·¢ËͳöÈ¥¡£Flume ΪÁ˸üºÃµØÎª HDFS ·þÎñ¶ø×öÁËÌØ¶¨µÄÓÅ»¯£¬²¢ÇÒÓë
Hadoop µÄ°²È«ÌåϵÕûºÏÔÚÁËÒ»Æð¡£»ùÓÚÕâÑùµÄ½áÂÛ£¬Hadoop ¿ª·¢ÉÌ Cloudera ÍÆ¼öÈç¹ûÊý¾ÝÐèÒª±»¶à¸öÓ¦ÓóÌÐòÏû·ÑµÄ»°£¬ÍƼöʹÓÃ
Kafka£¬Èç¹ûÊý¾ÝÖ»ÊÇÃæÏò Hadoop µÄ£¬¿ÉÒÔʹÓà Flume¡£
Flume ÓµÓÐÐí¶àÅäÖõÄÀ´Ô´ (sources) ºÍ´æ´¢³Ø (sinks)¡£È»ºó£¬Kafka ÓµÓеÄÊǷdz£Ð¡µÄÉú²úÕߺÍÏû·ÑÕß»·¾³Ìåϵ£¬Kafka
ÉçÇø²¢²»ÊǷdz£Ö§³ÖÕâÑù¡£Èç¹ûÄãµÄÊý¾ÝÀ´Ô´ÒѾȷ¶¨£¬²»ÐèÒª¶îÍâµÄ±àÂ룬ÄÇÄã¿ÉÒÔʹÓà Flume ÌṩµÄ
sources ºÍ sinks£¬·´Ö®£¬Èç¹ûÄãÐèҪ׼±¸×Ô¼ºµÄÉú²úÕߺÍÏû·ÑÕߣ¬ÄÇÄãÐèҪʹÓà Kafka¡£
Flume ¿ÉÒÔÔÚÀ¹½ØÆ÷ÀïÃæÊµÊ±´¦ÀíÊý¾Ý¡£Õâ¸öÌØÐÔ¶ÔÓÚ¹ýÂËÊý¾Ý·Ç³£ÓÐÓá£Kafka ÐèÒªÒ»¸öÍⲿϵͳ°ïÖú´¦ÀíÊý¾Ý¡£
ÎÞÂÛÊÇ Kafka »òÊÇ Flume£¬Á½¸öϵͳ¶¼¿ÉÒÔ±£Ö¤²»¶ªÊ§Êý¾Ý¡£È»ºó£¬Flume ²»»á¸´ÖÆÊ¼þ¡£ÏàÓ¦µØ£¬¼´Ê¹ÎÒÃÇÕýÔÚʹÓÃÒ»¸ö¿ÉÒÔÐÅÀµµÄÎļþͨµÀ£¬Èç¹û
Flume agent ËùÔÚµÄÕâ¸ö½Úµãå´»úÁË£¬Äã»áʧȥËùÓеÄʼþ·ÃÎÊÄÜÁ¦Ö±µ½ÄãÐÞ¸´Õâ¸öÊÜËðµÄ½Úµã¡£Ê¹ÓÃ
Kafka µÄ¹ÜµÀÌØÐÔ²»»áÓÐÕâÑùµÄÎÊÌâ¡£
Flume ºÍ Kafka ¿ÉÒÔÒ»Æð¹¤×÷µÄ¡£Èç¹ûÄãÐèÒª°ÑÁ÷ʽÊý¾Ý´Ó Kafka ×ªÒÆµ½ Hadoop£¬¿ÉÒÔʹÓÃ
Flume ´úÀí (agent)£¬½« kafka µ±×÷Ò»¸öÀ´Ô´ (source)£¬ÕâÑù¿ÉÒÔ´Ó Kafka
¶ÁÈ¡Êý¾Ýµ½ Hadoop¡£Äã²»ÐèҪȥ¿ª·¢×Ô¼ºµÄÏû·ÑÕߣ¬Äã¿ÉÒÔʹÓà Flume Óë Hadoop¡¢HBase
Ïà½áºÏµÄÌØÐÔ£¬Ê¹Óà Cloudera Manager ƽ̨¼à¿ØÏû·ÑÕߣ¬²¢ÇÒͨ¹ýÔö¼Ó¹ýÂËÆ÷µÄ·½Ê½´¦ÀíÊý¾Ý¡£
½áÊøÓï
×ÛÉÏËùÊö£¬Kafka µÄÉè¼Æ¿ÉÒÔ°ïÖúÎÒÃǽâ¾öºÜ¶à¼Ü¹¹ÉϵÄÎÊÌâ¡£µ«ÊÇÏëÒªÓúà Kafka µÄ¸ßÐÔÄÜ¡¢µÍñîºÏ¡¢¸ß¿É¿¿ÐÔ¡¢Êý¾Ý²»¶ªÊ§µÈÌØÐÔ£¬ÎÒÃÇÐèÒª·Ç³£Á˽â
Kafka£¬ÒÔ¼°ÎÒÃÇ×ÔÉíµÄÓ¦ÓÃϵͳʹÓó¡¾°£¬²¢²»ÊÇÈκλ·¾³ Kafka ¶¼ÊÇ×î¼ÑÑ¡Ôñ¡£
|