ÕâÆªÎÄÕÂÊÇϵÁÐÎÄÕµĵÚһƪ£¬Êý¾Ý¹¤½³ÍŶӻáÔÚÕâÀïΪ´ó¼ÒչʾһЩApache
FlinkµÄºËÐŦÄÜ¡£
Á÷´¦Àíͨ³£±»´ó¼ÒÓë¡°¶¯Ì¬Êý¾Ý¡±¹ØÁªÆðÀ´£¬ÏàÓ¦µÄϵͳ²î²»¶à»áÔÚÊý¾Ý±»´´Ôì³öÀ´µÄÄÇÒ»¿Ì¾ÍÁ¢¿Ì¶ÔÆä½øÐд¦Àí»òÏìÓ¦¡£ÏñÑÓ³Ù¡¢ÍÌÍÂÁ¿¡¢Ë®Ó¡ºÍ´¦Àí³Ùµ½µÄÊý¾ÝµÈµÈ¶¼ÊÇ´ó¼ÒÌÖÂÛµÃ×î¶àµÄÁ÷´¦Àí»°Ì⣬ͨ³£ÊǹØ×¢ÏÖÔÚ£¬¶ø²»ÊǹýÈ¥¡£
¿ÉÔÚʵ¼ÊÏîÄ¿ÖУ¬È´ÓÐÐí¶àÖÖ³¡¾°ÐèÒªÄãµÄÁ÷´¦Àí³ÌÐò°ÑÒÔǰ´¦Àí¹ýµÄÊý¾ÝÔÙÖØÐ´¦ÀíÒ»±é¡£ÕâÀïÓÐЩÀý×Ó£º
ΪÄãµÄ³ÌÐò²¿ÊðÒ»¸öа汾£¬¿ÉÄÜÊÇÓÐй¦ÄÜ¡¢ÐÞ¸´ÁËÎÊÌâ¡¢»òÕß²ÉÓÃÁ˸üºÃµÄ»úÆ÷ѧϰģÐÍ£»
ʹÓÃÏàͬµÄÔ´Êý¾ÝÁ÷¶ÔÓ¦ÓóÌÐòµÄ²»Í¬°æ±¾½øÐÐA/B²âÊÔ£¬Á½±ß¶¼´Óͬһ¸öµã¿ªÊ¼²âÊÔ£¬ÕâÑù¾Í²»»áÎþÉü֮ǰµÄ״̬£»
ÆÀ¹À»ò¿ªÕ¹½«Ó¦ÓóÌÐòÇ¨ÒÆµ½¸üа汾µÄ´¦Àí¿ò¼ÜÉÏ£¬»òÊÇÒ»¸ö²»Í¬µÄ¼¯ÈºÉÏ£»
Apache FlinkµÄ±£´æµã£¨Savepoint£©¹¦ÄÜ¿ÉÒÔÖ§³ÖÉÏÃæµÄËùÓг¡¾°£¬²¢ÇÒÒ²ÊÇÈÃFlinkÓëÆäËü·Ö²¼Ê½¿ªÔ´Á÷´¦ÀíÆ÷²»Í¬µÄÒ»¸öÏÔÖøÇø±ðµã¡£
ÔÚ±¾ÎÄÖУ¬ÎÒÃǻὲÊöÈçºÎʹÓñ£´æµã¹¦ÄÜÀ´ÖØÐ´¦ÀíÊý¾Ý£¬²¢Ò»¶¨³Ì¶ÈµØÉîÈëµ×²ã£¬½²ÊöÕâ¸ö¹¦ÄÜÔÚFlinkÖÐÊÇÔõôʵÏֵġ£
¡°ÖØÐ´¦Àí¡±µ½µ×ÊÇʲôÒâ˼£¿
ΪÁ˱£Ö¤´ó¼Ò¶ÔÖØÐ´¦ÀíÊý¾ÝµÄÀí½âÊÇÒ»Öµģ¬ÎÒÃÇÏÈÌÖÂÛÒ»¸öÄã¿ÉÄÜÐèÒªÖØÐ´¦ÀíÊý¾ÝµÄÒµÎñÀý×Ó¡£ÏëÏñÒ»¸öÉ罻ýÌ幫˾£¬Ëý³ýÁË»ù±¾µÄ·¢Ìù¹¦ÄÜÖ®Í⣬»¹·¢²¼ÁËÒ»ÖÖ¸¶·ÑµÄ¡¢»òÕß˵ÊÇÍÆ¹ã·¢ÌùµÄ¹¦ÄÜ¡£
¹«Ë¾µÄÓû§¿ÉÒÔ·ÃÎÊÒ»¸ö¼òµ¥µÄ¡¢»ùÓÚFlinkʵÏÖµÄÒDZí°å£¬ÏÔʾËûÃǵÄËùÓÐÎÄÕ£¨²»¹ÜÊÇÆÕͨµÄ»¹ÊǸ¶·ÑµÄ£©±»´ó¼Ò²é¿´¡¢µã»÷µÈµÈµÄ´ÎÊý¡£¼¸¸öÐÇÆÚÖ®ºó£¬´ÓÓû§µÄ·´À¡ÖоͿÉÒÔÇåÎúµØ¿´µ½£¬Õâ¸öÒDZí°åÈç¹ûÄÜ°ÑÆÕͨµÄ·¢ÌùÊý¾ÝºÍ¸¶·ÑµÄ·¢ÌùÊý¾ÝÇø±ð¿ªÀ´£¬ÄǾͻá¸üºÃÓá£
ҪʵÏÖÕâ¸ö¹¦ÄÜ£¬¾ÍÓбØÒª·µ»Øµ½¸¶·Ñ·¢Ìù¹¦ÄÜ×î³õ·¢²¼µÄÄǸöʱ¿Ì£¬È»ºó´ÓÄǸöʱ¿Ì¿ªÊ¼£¬°ÑËùÓÐÊý¾ÝÈ«¶¼ÖØÐ´¦ÀíÒ»±é¡£ÕâÒ»´ÎÒª°Ñ¸¶·ÑÌùºÍÆÕͨÌùµÄչʾºÍ½»»¥È«¶¼²ð¿ªÀ´¡£Èç¹ûÒª°Ñ´Ó¹«Ë¾´´Á¢ÒÁʼ²úÉúµÄÊý¾ÝÈ«¶¼ÖØÐ´¦ÀíÒ»±é£¬Õâ¾ÍʵÔÚÓеãÇ¿ÈËËùÄÑ£¬ËùÒÔÄܹ»´Ó¸¶·Ñ·¢ÌùµÄ¹¦ÄÜ·¢²¼µÄʱºò¿ªÊ¼ÖØÐ´¦Àí£¬Í¬Ê±»¹±£Áô֮ǰµÄ¼ÆËã½á¹û£¬Õâ¸ö¹¦ÄܾͺÜÓбØÒªÁË¡£
ËùÒÔµ±ÎÒÃÇÓõ½¡°ÖØÐ´¦Àí¡±Õâ¸ö´Êʱ£¬ÎÒÃǵÄÒâ˼¾ÍÊǻص½Ò»¸öϵͳÒÔǰµÄ¡¢Ò»ÖµÄ״̬£¨°´¿ª·¢Õߵ͍Ò壬²»Ò»¶¨·ÇÒªÊÇÁ÷µÄ×îÔç״̬£©£¬È»ºó´ÓÄǸö״̬¿ªÊ¼ÔÙ´¦ÀíÒ»±é£¬¿ÉÄÜÒ²ÒªÔÚ¸ü¸ÄÁËÄãµÄFlink³ÌÐòÖ®ºó¡£
¶ÁÕßÃÇ¿ÉÒÔ¿´µ½µÄºÃÏûÏ¢¾ÍÊÇ£ºFlinkΪ´ó¼ÒÃâ·ÑÌṩÁËÉÏÊöÖØÐ´¦Àí¹¦ÄÜ£¬ÏàÓ¦µÄ¹¦Äܾͽб£´æµã¡£ÎÒÃÇ˵"Ãâ·Ñ"£¬Òâ˼ÊÇÖ»ÒªÄãµÄ³ÌÐòÊÇÈÝ´íµÄ£¬²¢ÇÒ¿ÉÒÔ´Ó´íÎóÖлָ´£¬ÄÇÄã¾Í¿ÉÒÔÔÚFlinkÖд´½¨Ò»¸ö±£´æµã²¢ÖØÐ´¦ÀíÊý¾Ý£¬»¨·ÑµÄ¶îÍâ×¼±¸¹¤×÷Á¿¼¸ºõΪÁã¡£
¼òµ¥ËµËµ±£´æµãµ½µ×ÊÇʲô
¼ò¶øÑÔÖ®£¬Ò»¸öFlink³ÌÐòµÄ±£´æµã¾ÍÊǹØÓÚÒÔÏÂÁ½µãµÄÈ«¾ÖÒ»ÖµľµÏñ£º
ËùÓÐÊý¾ÝÔ´µÄλÖã»
ËùÓв¢ÐвÙ×÷ÕßµÄ״̬£»
¡°È«¾ÖÒ»Ö¡±Òâζ×ÅËùÓв¢ÐеIJÙ×÷ÕßµÄ״̬¶¼ÔÚËùÓÐÊäÈëµÄÏàͬµÄÃ÷È·¶¨ÒåµÄλÖô¦±»¼Ç¼ÏÂÀ´ÁË¡£
Èç¹ûÔÚ¹ýÈ¥µÄij¸öʱ¿Ì£¬ÄãΪij¸öÓ¦ÓóÌÐò¼ÇÏÂÁ˱£´æµã£¬ÄÇÄã¾Í¿ÉÒÔ´ÓÄǸö±£´æµãµÄλÖÿªÊ¼Æô¶¯Ò»¸öгÌÐò¡£ÐµijÌÐò½«Ê¹ÓÃÄǸö±£´æµãλÖñ£´æÏÂÀ´µÄ²Ù×÷ÕßµÄ״̬½øÐгõʼ»¯£¬²¢ÇÒ»á´Ó¼Ç¼µÄ±£´æµãÀï¸÷¸öÊý¾ÝÔ´µÄÏàӦλÖÿªÊ¼£¬ÖØÐ´¦ÀíÈ«²¿Êý¾Ý¡£
ÒòΪFlinkµÄ±£´æµãÖ®¼äÊÇÏ໥ÍêÈ«¶ÀÁ¢µÄ£¬ËùÒÔ¶Ôÿ¸ö³ÌÐòÄã¶¼¿ÉÒÔÓжà¸ö±£´æµã£¬ÕâÑùÄã¾Í¿ÉÒÔ¸ù¾ÝÕâЩ²»Í¬µÄ±£´æµãµÄÐÅÏ¢£¬»Øµ½²»Í¬µÄλÖã¬Æô¶¯¶à´Î¡¢ÉõÖÁ²»Í¬µÄ³ÌÐò£¨ÈçÏÂͼËùʾ£©¡£Õâ¸ö¹¦ÄܶÔÓÚÅÉÉúÄãµÄÁ÷´¦Àí³ÌÐò£¬»òÕßΪËüÃÇ´ò²»Í¬µÄ°æ±¾£¬ÊǷdz£ÓÐÓõġ£

ÎÒÃÇÓ¦¸Ã×¢Ò⣬ÔÚ´Óij¸ö±£´æµã¿ªÊ¼ÖØÐ´¦ÀíÊý¾Ýʱ£¬¶ÔʼþµÄʱ¼ä´¦ÀíÊǷdz£ÖØÒªµÄ¡£ÖØÐ´¦Àí»ù±¾ÉϾÍÒâζ×Å´Ó¹ýÈ¥µ½ÏÖÔÚ½øÐпìËٻطţ¬Ò²¾ÍÊÇ˵£¬ÊÇÈ«ËٵشÓijЩ´æ´¢ÏµÍ³ÖжÁ³öÊý¾Ý£¬Ö±µ½¸ÏÉÏÁ˵±Ç°µÄ״̬£¬È»ºóÔÙ¼ÌÐøÊµÊ±µØ´¦Àíе½´ïµÄÊý¾Ý¡£
ÒòΪ³ÌÐò¶ÔÓÚʱ¼äµÄ´¦Àí»òÕß²åÈëʱ¼ä¶¼ÊÇÒªÒÀÀµµ±Ç°µÄ±¾µØÊ±¼äµÄ£¬ÄÇôÈç¹ûÔÚ¸ù¾Ý±£´æµãÆô¶¯³ÌÐòʱ²»Ê¹ÓÃʼþµÄʱ¼ä£¬¶øÊ¹ÓñðµÄʱ¼ä£¬¶Ô³ÌÐòµÄÂß¼¶øÑԾͺܿÉÄܵ¼Ö´íÎóµÄ½á¹û¡£
ÌýÆðÀ´²»´í£¬ÄÇÎÒ¸Ã×öʲô£¿
²»ÓÃ×öºÜ¶à£¡ÊÂʵÉÏ£¬ËùÓÐÖ§³Ö¹ÊÕϻָ´µÄ³ÌÐò¶¼ÊÇ×Ô¶¯Ö§³Ö±£´æµãµÄ¡£Òò´Ë£¬´ó¶àÊý½øÐÐÓÐ״̬¼ÆËãµÄ³ÌÐòÒѾÂú×ãÁËÐèÒªµÄÌõ¼þ¡£Èç¹ûûÓУ¬¿ÉÒÔ¶ÔËüÃǽøÐпìËÙ¸üУ¬ÈÃËüÃǾ߱¸£º
ÆôÓüì²éµã¹¦ÄÜ£ºÔÚÿÖÖÇé¿öÏ£¬ÎÒÃǶ¼ÍƼöÔÚ¹¹½¨Flink³ÌÐòµÄͬʱ£¬°Ñ¼ì²éµã¹¦ÄÜ´ò¿ª£¬ÊÂʵÉÏÔÚÄãµÄFlink³ÌÐòÖмÓÉϼì²éµãÖ»ÊÇÐèÒªÔö¼Ó¼¸ÐдúÂë¶øÒÑ¡£
¿ÉÒÔÖØÖõÄÊý¾ÝÔ´£¨¼´Apache Kafka¡¢Amazon Kinesis£¬»òÕßÎļþϵͳµÈ£©£ºÊý¾ÝÔ´±ØÐëÄܰ´ÕÕÄãÏëÒªÖØÐ´¦ÀíµÄµã¿ªÊ¼£¬ÖØ·ÅÊý¾Ý¡£
ËùÓеÄ״̬¶¼Í¨¹ýFlinkµÄ¹ÜÀí״̬½Ó¿Ú±£´æ£ºËùÓоßÌåµÄ²Ù×÷ÕßµÄ״̬¶¼±ØÐë±£´æÔÚFlinkµÄÈÝ´í״̬Êý¾Ý½á¹¹ÖУ¬ÕâÈÃËü¿ÉÒÔ°´ÕÕij¸ö֮ǰµÄ±£´æµãλÖñ»ÖØÖá£
ÅäÖÃÒ»¸öºÏÊʵÄ״̬ºǫ́£ºFlinkÌṩÁ˲»Í¬µÄ״̬ºǫ́À´½«¼ì²éµãºÍ±£´æµã³Ö¾Ã»¯¡£Ä¬Èϵأ¬±£´æµã¶¼±£´æÔÚJobManagerÖУ¬µ«ÄãҪΪÄãµÄ³ÌÐòÅäÖÃÒ»¸öÊʵ±µÄºǫ́״̬³ÌÐò£¬±ÈÈçRocksDBµÈ¡£
Èç¹ûÄãÒѾÔÚÔËÐÐÒ»¸öÈÝ´íµÄ³ÌÐòÁË£¬ÄǾʹ´½¨Ò»¸ö±£´æµã£¬È»ºó´Ó±£´æµãµÄλÖÿªÊ¼ÖØÐÂÆô¶¯³ÌÐò£¬ÕâÖ»ÐèÒªÔÚFlinkÃüÁîÐÐÀïÇü¸¸öÃüÁî¾Í¿ÉÒÔÁË¡£ÔÛÃǽÓÏÂÀ´°¤¸ö¿´¿´¡£
µÚÒ»²½£º´´½¨Ò»¸ö±£´æµã
Ê×ÏÈ£¬»ñµÃËùÓÐÔËÐÐÖеÄFlinkÈÎÎñµÄÁÐ±í£º
user$ flink list ------------Running/Restarting Jobs------------ 10.10.2016 16:20:33 : job_id : Sample Job (RUNNING) |
£¨ÔËÐÐÉÏÃæµÄÃüÁîʱ£¬ÄãµÄÕæÊµÈÎÎñID»áÊÇÒ»¸ö°üÀ¨×ÖĸºÍÊý×ÖµÄ×Ö·û´®¡££©
È»ºó£¬ÓÃÏàÓ¦µÄÈÎÎñID´´½¨Ò»¸ö±£´æµã£º
user$ flink savepoint job_id
ÏÖÔÚÄãµÄ±£´æµã¾ÍÒѾ¿ÉÓÃÁË¡£
Èç¹ûÄã×¼±¸ÂíÉϸù¾ÝÄãµÄ±£´æµãÀ´ÖØÐÂÆô¶¯ÈÎÎñ£¬Äãͨ³£»áÏëÒª°ÑÏÖÔÚÕýÔÚÔËÐеÄÈÎÎñÏÈÍ£µô¡£ÄãÒѾÓÐÁËÏàÓ¦ÈÎÎñµÄID£¬ÄǰÑËüÍ£µôÖ»Òª¼¸ÃëÖӾ͹»ÁË£º
user$ flink cancel job_id |
µÚ¶þ²½£º´ÓÒ»¸ö±£´æµã¿ªÊ¼Æô¶¯ÈÎÎñ
µ±Äã¸üÐÂÍê³ÌÐòÖ®ºó£¬¾Í¿ÉÒÔ´ÓÄãµÄ±£´æµã¿ªÊ¼Æô¶¯ÈÎÎñÁË¡£
user$ flink run -d -s hdfs://savepoints/1 directory/your-updated-application.jar |
Èç¹ûÄãÏëÔÚÒ»¸öʾÀý³ÌÐòÖÐ×Ô¼ºÖØ×öÕâЩ²½Ö裬ÎÒÃÇÍÆ¼öÄã¿´¿´Ò»ÆªÖ®Ç°µÄ²©¿ÍÎÄÕ£¬ÎÒÃÇÔÚÄÇÀï½²ÁËÔõô×öÕâ¼þÊ¡£
Èç¹ûÎÒÏëÉý¼¶ÎҵijÌÐò£¬¸ÃÔõÑù×ö£¿
Èç¹ûÄãÏë´ÓÒ»¸ö±£´æµã¿ªÊ¼Æô¶¯Ò»¸öÐ޸ĹýµÄ³ÌÐò£¬Óм¸¼þÊÂÊÇÒª¿¼Âǵġ£ÎÒÃÇ¿ÉÒÔÇø±ðÏÂÃæÕâÁ½ÖÖÇé¿ö£º
¸Ä±äÒ»¸öÓû§¶¨ÒåµÄº¯ÊýµÄÂß¼£¬±ÈÈçMapFunction£»
¸Ä±äÒ»¸ö³ÌÐòµÄ¼Ü¹¹£¬Ò²¾ÍÊÇÔö¼Ó»ò¼õÉÙ²Ù×÷Õߵȣ»
µÚÒ»ÖÖÇé¿öºÜ¼òµ¥£¬²»ÐèÒªÊ²Ã´ÌØ±ðµÄ×¼±¸¡£Äã¿ÉÒÔ°´ÄãµÄÐèҪȥÐ޸ĺ¯Êý´úÂë¡£²»¹ý£¬Èç¹ûÄãÓÃÒ»¸öÐÞ¸ÄÁ˵ļܹ¹´Ó±£´æµã¿ªÊ¼Æô¶¯³ÌÐò£¬ÄÇôΪÁËÄܹ»»Ö¸´²Ù×÷ÕßµÄ״̬£¬Flink±ØÐëÄܹ»½«±£´æµã³ÌÐòµÄ²Ù×÷ÕßÓëʹÓÃÁËмܹ¹µÄгÌÐòµÄ²Ù×÷Õß¶ÔÓ¦ÆðÀ´¡£
ÔÚÕâÖÖÇé¿öÏ£¬Äã¾ÍÒªÊÖ¶¯µØ½«²Ù×÷ÕßID·ÖÅ䏸×î³õµÄºÍ¸üÐÂÁ˵ijÌÐò¡£ÒòΪÈç¹ûûÓвÙ×÷ÕßIDµÄ»°£¬ÊÇû°ì·¨Ð޸ijÌÐòµÄ¼Ü¹¹µÄ¡£ËùÒÔ×î¼Ñʵ¼ù¾Ñé¾ÍÒªÇóÒ»¶¨Òª·ÖÅä²Ù×÷ÕßID¡£
ÏÂÃæµÄ´úÂë¶ÎÏÔʾÁËÈçºÎΪ²Ù×÷ÕßÃÇ·ÖÅäID¡£
DataStream stream = env. // Stateful source (e.g. Kafka) with ID .addSource(new StatefulSource()) .uid(¡°source-id¡±) .shuffle() // The stateful mapper with ID .map(new StatefulMapper()) .uid(¡°mapper-id¡±)
// Stateless sink (no specific ID required)
stream.print() |
Çë²éÔÄÎĵµ£¬Á˽â¸ü¶à¹ØÓÚÉý¼¶³ÌÐòºÍ±£´æµãµÄϸ½Ú¡£
¹ØÓÚ±£´æµãµÄ×î¼Ñʵ¼ù
Òª¸üºÃµÄÀûÓÃÉÏÎÄÖÐÃèÊöµÄFlinkµÄÖØÐ´¦Àí¹¦ÄÜ£¬ÄãÓ¦¸Ã¾³£´¥·¢£¬Éú³Éеı£´æµã¡£ÎÒÃǽ¨ÒéÒª¸ù¾ÝijЩʱ¿Ì±í£¨±ÈÈçÿÌìÒ»´Î£¬Ã¿ÖÜÒ»´Î£¬µÈµÈ£©×Ô¶¯µØÉú³É±£´æµã£¬¶øÇÒÿµ±Äã¹Ø±Õij¸öÈÎÎñ»ò·¢²¼³ÌÐòµÄа汾ʱ£¬Ò²×îºÃÏÈÉú³É±£´æµã¡£
ÒÀ¾ÝÄãÏëÓÃFlink×öµÄʼþ²»Í¬£¬Éú³É±£´æµãµÄ×î¼Ñ·½·¨Ò²»á²»Í¬£¬µ«×ܵÄÀ´Ëµ£¬ÔÚ¹¹½¨ÄãµÄ³ÌÐòʱÄãÓ¦¸Ã»¨Ð©Ê±¼ä¿¼ÂÇÈçºÎʹÓÃÕâЩ±£´æµã¡£
ÕâЩ¶«Î÷ÊÇÔõô¹¤×÷µÄÄØ£¿
±£´æµãÊÂʵÉÏÖ»ÊǼì²éµãµÄÒ»¸öÑÓÉ죬Õâ¾ÍÊÇFlinkµÄÈÝ´í»úÖÆ¡£Èç¹û¿ªÆôÁ˼ì²éµã¹¦ÄÜ£¬Flink¾Í»áÖÜÆÚÐÔµØÎªËùÓеIJÙ×÷Õß״̬Éú³ÉÒ»¸öÒ»Öµļì²éµã¡£ÔÚÎĵµÖÐÏêϸµÄÃèÊöÁ˼ì²éµãµÄϸ½Ú£¬Èç¹ûÄãÊǸöFlinkÐÂÊÖ£¬»¨Ð©Ê±¼äÈ¥¶Á¶ÁÊǷdz£ÖµµÃµÄ¡£
Äã¿ÉÄÜ»áÒÔΪҪÉú³ÉÒ»¸öÒ»Öµļì²éµã£¬¾ÍµÃÔÝÍ£Êý¾Ý´¦Àí£¬ÒòΪFlink±ØÐëÒªµÈ×Å£¬Ö±µ½ËùÓÐû´¦ÀíÍêµÄ¼Ç¼ȫ±»´¦ÀíµôÁË£¬È»ºó×ö¸ö¾µÏñ£¬¾µÏñÉú³ÉÖ®ºóÔÙ»ØÈ¥¼ÌÐø´¦ÀíÊý¾Ý¡£ÊÂʵ²¢·ÇÈç´Ë£¡FlinkÊdzÖÐø´¦ÀíÊý¾ÝµÄ£¬¼´Ê¹ÔÚÉú³É¼ì²éµãµÄʱºòÒ²ÊÇÕâÑù¡£ÎĵµÖеġ°Barriers¡±Ò»½Ú½²ÁËʵÏÖÕâ¸ö¹¦ÄܵÄÔÀí¡£
Á½ÕßÖ®¼äµÄ¹Ø¼üÇø±ð£º¼ì²éµãÊÇ»ùÓÚijЩ¹æ¶¨µÄʱ¼ä¼ä¸ô×Ô¶¯Éú³ÉµÄ£¬¶ø±£´æµãÊÇÓÉÓû§ÏÔʽµØ´¥·¢Éú³ÉµÄ£¬¶øÇÒ²»»áÏó¼ì²éµãÄÇÑù¹ýÁËÒ»¶¨µÄʱ¼äÖ®ºó¾Í»á±»É¾µô¡£
×ܽá
ÎÒÃÇÌÖÂÛÁËApache FlinkµÄ±£´æµãºÍÊý¾ÝÖØ´¦Àí¹¦ÄÜ£¬ÒòΪÎÒÃÇÏàÐÅÕâ¾ÍÊÇFlinkÓ뿪ԴÊÀ½çÖÐÆäËüÁ÷´¦ÀíÆ÷Ö®¼äµÄÖØÒªÇø±ðÖ®Ò»¡£¶øÇÒ×îÖØÒªµÄ£¬ÔÚÈÝ´íµÄFlink³ÌÐòÖлñµÃÖØ´¦Àí¹¦Äܼ¸ºõÊDz»ÐèÒªÈκδú¼ÛµÄ£¬Ö»ÐèÒªºÜÉٵĸ͝¡£
FlinkÉçÇøÏÖÔÚ»¹ÔÚ»ý¼«µØ¹¤×÷×Å£¬Òª°Ñ±£´æµã¹¦ÄÜ×öµÃ¸üºÃ£¬°üÀ¨Ôڸı䲢·¢¶ÈµÄÇé¿öϱ£´æ×´Ì¬µÄ½â¾ö·½°¸µÈ¡£ÓÐЩÏàÓ¦µÄ¹¦ÄÜ£¨±ÈÈçFlink-3755£©ÒѾ·¢²¼µ½Ö÷·ÖÖ§ÉÏÁË£¬¶øÇһᱻ°üº¬µ½ÏÂÒ»¸öС°æ±¾Flink
1.2.0ÖС£
ËùÒÔ£¬µ±ÄãÐèÒª°Ñ³ÌÐò¶à²¿ÊðÒ»·Ý£¬»òÕßÉϸöа汾£¬»òÕßÒª×öA/B²âÊÔ£¬»òÕßÒªÈöà¸ö³ÌÐò´Óͬһ¸öµã¿ªÊ¼´¦ÀíÊý¾Ýʱ£¬Äã¿ÉÒÔÕâô×öÁË£¬¶øÇÒ²»»á¶ªÊ§ÄÇЩ±¦¹óµÄ״̬Êý¾Ý¡£
µ±ÓÐÕæÊµµÄÐèÇóʱ£¬Á÷´¦Àí»ùÓÚʵʱµÄÌØÐÔ²»Ó¦¸Ã×èµ²Äã°Ñʱ¼äµ÷»Ø¹ýÈ¥µÄ¶¯×÷¡£ |