Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
TA´óÊý¾Ý·ÖÎöϵͳµÄ¸ß¿ÉÓüܹ¹´ÓÉè¼Æµ½ÊµÏÖ
 
 
 
  2484  次浏览      29
2021-11-1
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËTAϵͳ¸ß¿ÉÓüܹ¹¸ÅÊö¡¢TAϵͳ¸ß¿ÉÓøöÐÔ»¯ÅäÖÃ×é¼þ¼°TAϵͳ¸ß¿ÉÓüܹ¹¼¼ÊõʵÏÖ¡£Ï£ÍûÄܹ»¶Ô´ó¼ÒÓÐËùÆô·¢ºÍ°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚ΢ÐŹ«ÖÚºÅÊýÊý¿Æ¼¼£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼­¡¢ÍƼö¡£

Ò»¡¢TAϵͳ¸ß¿ÉÓüܹ¹¸ÅÊö

ÊýÊý¿Æ¼¼×Ô´´Á¢ÒÔÀ´ £¬Ê¼ÖÕ¼á³Ö¡¸¿Í»§Îª±¾¡¹¡£ÈçºÎ×î´óÏ޶ȵØÌá¸ßTAϵͳµÄ¿É¿¿ÐÔ£¬Ê¹ÆäÔÚ¼«¶ËÇé¿öÏÂÈÔÄܱ£ÕÏʹÓã¬È«ÃæÌáÉýÓû§ÌåÑ飬ÊÇÎÒÃDZØÐë½â¾öµÄÎÊÌâ¡£

¶Ô´Ë£¬ÎÒÃǾö¶¨£º³ýÁËÒÑÓµÓеÄÒ»ÕûÌ××Ô¶¯»¯ÔËάϵͳÍ⣬¸üÐèÒªÍÆ³öÒ»Ì×Óû§ÐÐΪ·ÖÎöÁìÓò¶ÀÓеġ¢Ö§³Ö˽Óл¯²¿ÊðµÄ¸ß¿ÉÓüܹ¹·½°¸¡£

TAϵͳ¸ß¿ÉÓüܹ¹Í¼ÈçÏ£º

ʲôÊǸ߿ÉÓã¨HA£©£¿¼òµ¥À´Ëµ£¬¾ÍÊÇÔÚ·þÎñÆ÷ÓÐÓ²¼þ¹ÊÕϵÄÇé¿öÏ£¬·þÎñÈÔÈ»¿ÉÓ᣻»ÑÔÖ®£¬¸ÃϵͳÔÚ×é¼þ»òÕß·þÎñÆ÷å´»úµÄÇé¿öÏÂÈÔÈ»¿ÉÒÔÕý³£Ê¹Ó㬴Ӷø¼«´óµØ¼õÉÙϵͳÎÞ·¨Ìṩ·þÎñµÄʱ¼ä¡£

TAϵͳµÄ¸ß¿ÉÓã¬ÊÇÖ¸ÔÚÈÎÒâһ̨·þÎñÆ÷å´»ú»òÖ÷¶¯Í£»úµÄÇé¿öÏ£¬TAÌåϵ±£Ö¤Æä²»Ó°Ï켯ȺµÄÎȶ¨ÔËÐкͶÔÍâ·þÎñ¡ª¡ª¼´Óû§ÎÞ¸ÐÖª£¬Í¬Ê±¸Ã·þÎñÆ÷»Ö¸´ºó¿ÉÒÔ×Ô¶¯¼ÓÈ뼯ȺHAÌåϵ£¬½â¾öÁËÔ­ÏÈ´æÔڵĵ¥µãÎÊÌ⣬ʹµÃTAϵͳµÄ¿É¿¿ÐԵõ½ÖʵÄÌáÉý¡£

¶þ¡¢TAϵͳ¸ß¿ÉÓøöÐÔ»¯ÅäÖÃ×é¼þ

Ò²¾ÍÊÇ˵£¬¸ß¿ÉÓÃÌṩÁËÒ»Ì×¼«¼ÑµÄ¿É¿¿ÐÔ±£ÕÏ»úÖÆ¡£µ«²»Í¬µÄ¿Í»§£¬ÐèÒªµÄ¿É¿¿ÐÔ±£ÕÏÊDz»Ò»ÑùµÄ¡£

ÓÐЩ¿Í»§µÄ¿É¿¿ÐÔ±£ÕÏÒªÇóºÜ¸ß£¬ÒªÇóÔÚÈκμ«¶ËÇé¿ö϶¼ÐèÒªÓû§ÎÞ¸ÐÖª£»ÓÐЩ¿Í»§µÄ¿É¿¿ÐÔÒªÇó±È½ÏµÍ£¬Ö»ÒªÊý¾Ý´æ´¢²»¶ªÊ§¼´¿É¡£

Òò´Ë£¬ÎÒÃÇ»®·ÖÁ˲»Í¬µÄµÄ¿É¿¿ÐԵȼ¶£¬TAϵͳ¶Ô²»Í¬µÄµÈ¼¶Ìṩ²»Í¬ÓÅÏȼ¶µÄ¿É¿¿ÐÔ±£ÕÏ£º

´æ´¢¿É¿¿ÐÔ±£ÕÏ£¨×îÓÅÏȵı£ÕÏ£¬±£ÕÏÊý¾Ý´æ´¢²»¶ªÊ§£©

ÊÕÊý¿É¿¿ÐÔ±£ÕÏ£¨Êý¾ÝÄÜÍêÈ«ÊÕÈëµ½TAϵͳ£¬±£ÕÏÊý¾ÝÉÏ´«Ê¼ÖÕÔÚÔËÐУ©

×Ô¶¯»¯ÔËά¿É¿¿ÐÔ±£ÕÏ£¨±£ÕÏTAϵͳ³öÏÖ¹ÊÕÏʱÓÐÄÜÁ¦×Ô¶¯»Ö¸´£©

²éѯ¿É¿¿ÐÔ±£ÕÏ£¨±£ÕÏTAÏµÍ³Ò³ÃæÊ¼ÖÕÄܹ»·ÃÎÊ£¬²»»á³öÏÖ²éѯ²»¿ÉÓã©

Êý¾ÝÁ÷Èë¿É¿¿ÐÔ±£ÕÏ£¨±£ÕÏTAϵͳÊý¾ÝʼÖÕÄܹ»Á÷È룬²»»á³öÏÖÊý¾ÝÁ÷ÈëÑÓ³Ù£©

Ϊ·½±ã¿Í»§¸ù¾ÝÉÏÊö¿É¿¿ÐÔ¼¶±ð£¬½áºÏ×Ô¼ºµÄʵ¼ÊÇé¿öºÍÓ²¼þ³É±¾£¬½øÐи߿ÉÓüܹ¹µÄ¸öÐÔ»¯ÊÊÅ䣬TAϵͳÌṩÁË×é¼þ¼¶¿ÉÅäÖû¯µÄ¸ß¿ÉÓ÷½Ê½¡£TAϵͳµÄÿ¸ö×é¼þ£¬¿Í»§¶¼¿ÉÒÔÑ¡Ôñ¸ß¿ÉÓð汾»ò·Ç¸ß¿ÉÓð汾£¬²¢Í¨¹ýÅäÖû¯µÄ·½Ê½£¬Ò»¼ü²¿Êð¡£

ÄÇô£¬100%¸ß¿ÉÓüܹ¹µÄTA¼¯ÈºÒâζ×Åʲô£¿

ÈÎÒ»½ÚµãµÄcrash£¬²»Ó°Ï켯ȺµÄÕý³£Ê¹ÓÃ

ËùÓÐ×é¼þÖ§³ÖÅäÖû¯µÄ·½Ê½²¿ÊðHA°æ±¾

Ó²¼þ³É±¾+¼¯Èº¿ÉÓÃÐԵĸöÐÔ»¯ÊÊÅä

ͬʱ£¬¸ß¿ÉÓüܹ¹³ýÁËÖ§³ÖÅäÖû¯¹ÜÀí£¬¿ÉÒ»¼ü²¿Êð·Ç¸ß¿ÉÓüܹ¹»ò¸ß¿ÉÓüܹ¹µÄTAϵͳÍ⣬Ϊ·½±ã¿Í»§µÄʹÓúÍÉýÅ䣬ҲΪÿ¸ö×é¼þÌṩÁËÒ»¼üʽµÄ´Ó·Ç¸ß¿ÉÓüܹ¹Æ½»¬Éý¼¶µ½¸ß¿ÉÓüܹ¹µÄÃüÁî¡£

×ܽáÆðÀ´£¬ÎÒÃǶÔTAϵͳµÄÒªÇ󡪡ª±£Ö¤¸ßÊÊÅäÐÔ¡¢Ò»¼ü²¿Êð¡¢Ò»¼üÉýÅä¡¢¼òµ¥Ò×Óá£

Èý¡¢TAϵͳ¸ß¿ÉÓüܹ¹¼¼ÊõʵÏÖ

¶ÔÓÚTAϵͳ¸ß¿ÉÓüܹ¹µÄʵÏÖ£¬ÎÒÃÇ×ñÑ­µÄÔ­ÔòÊÇ£ºÏÈÒ׺óÄÑ£¬ÏÈÖØÒªÔÙ´ÎÒª£¬Öð¸öʵÏÖ×é¼þµÄ¸ß¿ÉÓ㬲¢×öºÃÅäÌ×´ëÊ©µÄ·Ïßͼ£¬´Ó¶øÊµÏÖÕûÌ弯ȺµÄ¸ß¿ÉÓá£

¶ÔÓÚTAϵͳµÄ´æ´¢×é¼þ£¬±ÈÈçHadoop¡¢Kudu£¬ÒÔ¼°Öмä¼þKafkaµÈ¿ªÔ´×é¼þ£¬ËüÃÇÊÇÓйٷ½µÄ¸ß¿ÉÓð汾µÄ£¬ÎÒÃÇÖ»ÐèÒª²ÉÓÃÆä¹Ù·½°æ±¾¼´¿É¡£

// 3.1 MySQL¸ß¿ÉÓõÄʵÏÖ

ÏÖÔڱȽϳÉÊìÖ÷Á÷µÄMySQL¸ß¿ÉÓýâ¾ö·½°¸Ö÷ÒªÓÐÁ½ÖÖ£ºÒ»ÖÖÊÇMHA£¬Ò»ÖÖÊÇMGR¡£

MHA£ºMaster High Availability£¬ÊÇÍⲿµÄ»ùÓÚMySQLÖ÷´Ó°ëͬ²½¿ª·¢µÄÒ»Ì׸߿ÉÓÃÇл»·½°¸£¬¶ÔMySQLÖ÷½Úµã½øÐÐ¼à¿Ø£¬Í¨¹ý¼à¿Ø×Ô¶¯Çл»³ÌÐò¿ÉʵÏÖ×Ô¶¯¹ÊÕÏ×ªÒÆÖÁÆäËû´Ó½Úµã£¬²¢ÌáÉýijһ´Ó½ÚµãΪеÄÖ÷½Úµã£¬Æä»ùÓÚÖ÷´Ó¸´ÖÆÊµÏÖ¡£Ä¿Ç°£¬MHAÖ÷ÒªÖ§³ÖÒ»Ö÷¶à´ÓµÄ¼Ü¹¹£¬Òª´î½¨MHA£¬ÒªÇóÒ»¸ö¸´ÖƼ¯ÈºÖбØÐë×îÉÙÓÐÈý̨Êý¾Ý¿â·þÎñÆ÷£¬Ò»Ö÷¶þ´Ó£¬¼´Ò»Ì¨³äµ±master£¬ÁíÍâÁ½Ì¨³äµ±´Ó¿â¡£

MHAµÄȱµã£ºÒòΪËüÊÇÒì²½¸´ÖÆ£¬µ±Ö÷½Úµãcrash¡¢¹ÊÕÏ×Ô¶¯×ªÒƵÄʱºò£¬²¢²»Äܱ£Ö¤Êý¾ÝµÄÍêÕûÐÔ£¬¿ÉÄܶªÊ§Êý¾Ý¡£

¼øÓÚMySQLÖд¢´æµÄÊÇ×î×îÖØÒªµÄÔªÊý¾Ý£¬ÇÒTAϵͳ±ØÐë±£Ö¤ÔÚ¸÷ÖÖ¼«¶ËÇé¿öϲ»¶ªÊ§Êý¾Ý¡£TAϵͳ¸ß¿ÉÓ㬲»ÄܽÓÊÜÒò¸ß¿ÉÓöøµ¼ÖÂÊý¾ÝµÄ¿É¿¿ÐÔϽµ£¬ËùÒÔMHA²¢²»ÊÊÓÃÎÒÃǵĸ߿ÉÓ÷½°¸¡£

MGR£ºMySQL Group Replication£¬MySQL×鏴֯ÊÇMySQL¹Ù·½×îÐÂÍÆ³öµÄshared nothing·½°¸£¬ÆäÄÚ²¿»ùÓÚpaxosËã·¨£¬¿ÉÒÔ±£Ö¤Êý¾ÝµÄǿһÖÂÐÔ¡£

MGR£¨MySQL×鏴֯£©ÊǸù¾ÝGTIDÀ´±£Ö¤MySQL¼¯ÈºµÄǿһÖÂÐÔ£¬²¢ÇÒÒѾ­ÔÚÃÀÍÅ¡¢¾©¶«µÈ¹«Ë¾µÄʵ¼ÊÉú²ú»·¾³Öгɹ¦Ó¦Óá£

µ«MGRÓкܶàÏÞÖÆ£¬ËùÒÔÐèÒªÔÚµ÷ÑпÉÐÐÐÔµÄʱºò£¬Ñо¿ËüÊÇ·ñ¿ÉÒÔ±»TAϵͳ²ÉÓá£

MGR·ÖΪµ¥Ö÷ºÍ¶àÖ÷ģʽ£º

µ¥Ö÷ģʽ·ÖÖ÷´Ó£¬ÆäÖÐÖ»ÓÐÖ÷½Úµã¿Éд¡£

¶àÖ÷ģʽÖÐÈÎÒâÒ»¸ö½Úµã¶¼¿Éд¡£

µ¥Ö÷ģʽ±È½ÏÖØÒªµÄÏÞÖÆÊÇ£¬ÍƼöʹÓà READ COMMITTED ¸ôÀë¼¶±ðÀ´±ÜÃâʹÓÃGap Locks£¬Ã¿ÕűíÀï±ØÐëÒªÓÐÖ÷¼ü»òÕ߷ǿյÄΨһ¼üµÈ¡£

¶àÖ÷ģʽ³ýÁËÉÏÊöÏÞÖÆÍ⣬»¹ÓÐÖîÈç²»Ö§³ÖÍâ¼ü¼¶Áª²Ù×÷µÈÆäËûÏÞÖÆ¡£

ÎÒÃÇTAϵͳÓÐºÜ¶à¹ØÓÚÍâ¼üµÄÓ¦Óã¬ËùÒÔÖ»ÄܲÉÈ¡µ¥Ö÷ģʽ¡£

MySQL¹Ù·½ÔÚMGR£¨MySQL×鏴֯£©µÄ»ù´¡ÉÏ£¬Ôö¼ÓÁËÒ»²ã´úÀí²ã£¨MySQL Router£©£¬×éºÏ³ÉMySQL InnoDB Cluster£¬ÕâÑù£¬MySQL Router¿É×Ô¶¯½øÐÐfailover²Ù×÷£¬ËüµÄ½á¹¹Ïà±ÈMGR¸üºÏÀí£¬ÎÒÃÇ×îÖÕ²ÉÓõģ¬Ò²ÊÇMySQL InnoDB Cluster·½°¸¡£

³ýÁËMySQL InnoDB Cluster£¬MySQL¹Ù·½»¹ÍƳöÁËÒ»¸öMySQL NDB Cluster£¬µ«ËüµÄ´ú¼ÛºÜ´ó£¬ÐèÒªÌæ»»µ×²ãÒýÇæ£¬ÎÒÃÇûÓÐÑ¡Óá£

ÎÒÃÇÔ­Ïȼ¯ÈºÓõÄÊÇMySQL 5.6°æ±¾£¬MySQL InnoDB ClusterÊÇ´Ó5.7°æ±¾¿ªÊ¼ÓеÄÐÂÌØÐÔ£¬MySQL 5.7°æ±¾µÄInnoDB ClusterÓÐÒ»¸öÎÊÌ⣬¾ÍÊǵ±Èý¸ö½ÚµãµÄMySQL£¬ÆäµÚÒ»¸ö½ÚµãÍ˳ö×鏴֯¼¯Èººó£¬²»»á×Ô¶¯¼ÓÈ뼯Ⱥ£¬ËùÒÔÐèÒªÔÚ¼à¿ØÔËά²ãÔö¼ÓÒ»¸öÖØÐ¼ÓÈë×鏴֯¼¯ÈºµÄ²Ù×÷¡£

ÎÒÃÇÔÚ²âÊÔ»·¾³ÅÜMySQL¼¯ÈºµÄʱºò£¬Åöµ½Á˼¯Èº²»Îȶ¨µÄÎÊÌâ¡£ÎÒÃÇÔÚ²âÊÔÖз¢ÏÖ£¬Ò»µ©MySQL¼¯ÈºÖеÄÒ»¸ö´Ó½ÚµãÏÂÏߣ¬Ëü½«ÔÙÒ²×·²»ÉÏÖ÷½Úµã£¬Ò»Ö±´¦ÓÚrecover״̬¡£Ô­À´£¬Ä¬ÈÏÇé¿öÏ£¬MySQLµÄ´Ó½ÚµãÊǸù¾Ý¿âÁ£¶ÈÀ´²¢·¢»Ø·Årelay logµÄ£¬Ò²¾ÍÊÇ´Ó½ÚµãÒ»¸ö¿âÒ»¸öslave threadÏß³ÌÈ¥¶Árelay logÀ´»Ø·ÅÈÕÖ¾µÄ£¬ÎÒÃÇÐèÒª¼ÓÉÏslave-parallel-type=LOGICAL_CLOCKÕâ¸ö²ÎÊýÀ´Ö§³Öͬһ¸ö¿âÏ£¬¶àÏ̲߳¢·¢µÄÖ´ÐÐrelay logµÄ»Ø·Å¡£

// 3.2 Presto¸ß¿ÉÓõÄʵÏÖ

ÎÒÃÇʹÓõÄPrestoÊÇPrestoSQL°æ±¾£¬2020Äêµ×£¬PrestoSQLÒòΪ°æÈ¨ÎÊÌ⣬ÒÑÖØÐÂÃüÃûΪTrino£¬µ«PrestoÕâ¸öÃû×Ö¸ü¹ãΪÈËÖª¡£ËùÒÔΪÁ˲»ÒýÆðÆçÒ壬ÎÒÃÇ»¹ÊÇÔÚÏÂÎÄÖÐͳһʹÓÃPrestoÀ´ÃüÃûPrestoSQL/Trino¡£

PrestoµÄ¸ß¿ÉÓÃʵÏÖ¸ü¼Ó¸´ÔÓ£¬ÏÂÃæÏȽéÉÜÒ»ÏÂPrestoµÄ×é¼þºÍ¼Ü¹¹Éè¼Æ£º

Presto°üº¬ÈýÀà½ÇÉ«£ºCoordinator¡¢Discovery Server¡¢Worker¡£Coordinator¸ºÔðqueryµÄ½âÎöºÍµ÷¶È£¬Discovery Server¸ºÔð¼¯ÈºµÄ·þÎñ·¢ÏÖ£¬Worker¸ºÔðÖ´ÐмÆËã¡£

Worker½ÚµãÆô¶¯ºóÏòDiscovery Server×¢²á·þÎñ£¬Coordinator´ÓDiscovery Server»ñµÃ¿ÉÒÔÕý³£¹¤×÷µÄWorker½Úµã¡£

ÔÚÔËÐÐSQLµÄʱºò£¬ÓÉclient¶ËÌá½»SQL²éѯ£¬Ò²¾ÍÊÇÒ»¸öhttp POSTÇëÇó¡£È»ºó¸ÃÇëÇó·¢Ë͵½Coordinatorºó£¬¾­¹ý´Ê·¨½âÎöºÍÓï·¨½âÎö£¬Éú³É³éÏóÓï·¨Ê÷£¬²¢×îÖÕÐγÉÖ´Ðмƻ®£¬Ï·¢µ½Worker¶Ë½øÐÐÖ´ÐС£

PrestoµÄÕâÈýÀà½ÇÉ«¿ÉÒÔ×ÔÓÉ×éºÏ£¬Coordinator¡¢Discovery ServerºÍWorker¿ÉÒÔ·ÅÔÚÒ»¸ö½ø³ÌÀҲ¿ÉÒԱ˴˷ֿª¡£²»¹ýÒ»°ãÀ´Ëµ£¬CoordinatorºÍDiscovery ServerÊÇ·ÅÔÚͬһ¸ö½ø³ÌÖеġ£

Worker¿ÉÒÔÀí½âΪ¼ÆËã½Úµã£¬Ò²¾ÍÊÇWorker±¾À´¾Í¿ÉÒÔ²¿Êð¶à¸ö£¬ÓÉCoordinator½øÐйÜÀí¡£

PrestoµÄ¸ß¿ÉÓÃÖ÷Òª½â¾öµÄÊÇCoordinator/Discovery ServerµÄµ¥µãÎÊÌâ¡£

Presto¸ß¿ÉÓõĽâ¾öÓкܶàÖÖ·½°¸£¬±ÈÈçÓÃHAProxy+Keepalived»òÕßÔÆ·þÎñÉÌÌṩµÄlbÕâÑùµÄÍⲿ×é¼þ£¬µ«ÎÊÌâÊÇÕâÑù¾ÍÐèÒªÓÃVRRPÕâÀàÐéÄâIPÀ´½â¾öµ¥µãÎÊÌ⣬¶øÎÒÃǾ¡Á¿Òª×öµ½¼¯ÈºÄÚ²¿×é¼þ²»ÒÀÀµÍⲿ×é¼þ£¬ÕâÑù´Ó¼Ü¹¹ÉÏÀ´Ëµ£¬ÏµÍ³¸´ÔÓ¶È×îµÍ£¬Ò²×îÈÝÒ×ά»¤¡£

×ÛÉÏ£¬ÎÒÃÇÐèÒªÐÞ¸ÄPrestoµ×²ãÔ´ÂëÀ´½â¾ö¡£

PrestoµÄdiscoveryÆäʵ¾ÍÊÇairlift discovery£¬Í¨¹ýÔĶÁÔ´Â룬·¢ÏÖÆäÄÚ²¿ÊÇÖ§³ÖHAµÄ£¬Ö»ÊÇPrestoµÄ¹Ù·½ÎĵµÉÏûÓÐչʾ³öÀ´¡£

¶ÔÓÚCoordinator£¬ÉçÇøÒ²×öÁ˺ܶàŬÁ¦£¬±ÈÈç°ÑdispatcherÄ£¿é²ð·ÖµÈµÈ¡£

Coordinator×ö¸ß¿ÉÓÃÈç¹û²»¿¼ÂÇshared queueµÄ»°£¬Ëü×î´óµÄÎÊÌâÊÇÄÚ´æ¹ÜÀí¡£Presto²ÉÓÃÂß¼­µÄÄÚ´æ³Ø£¬À´¹ÜÀí²»Í¬ÀàÐ͵ÄÄÚ´æÐèÇ󣬰ÑÕû¸öÄÚ´æ»®·Ö³ÉÈý¸öÄÚ´æ³Ø£ºSystem Pool ¡¢Reserved Pool¡¢General Pool¡£

System Pool ÊÇÓÃÀ´±£Áô¸øÏµÍ³Ê¹Óõġ£Reserved PoolºÍGeneral Pool ÊÇÓÃÀ´·ÖÅäqueryÔËÐÐʱÄÚ´æµÄ¡£Ò»°ãÇé¿öÏÂʹÓõÄÊÇGeneral Pool¡£µ«Êǵ±ÓÐÒ»¸ö´óqueryµÄʱºò£¬»áʹÓÃReserved Pool£¬·ÀÖ¹´óquery·¢Éú¶öËÀÇé¿ö¡£

Èç¹ûÎÒÃÇ×ö¸ß¿ÉÓ㬵ÈÓÚ¼¯ÈºÖÐÓÐ2¸öCoordinator£¬ËûÃÇͬʱ¹ÜÀíPresto¼¯ÈºµÄÄڴ棬»áÔì³ÉÄÚ´æ¹ÜÀí»ìÂÒ£¬²¢µ¼ÖÂ×ÊÔ´ËÀËø¡£

ͨ¹ý·ÖÎöÕⲿ·ÖµÄÔ´Â룬·¢ÏÖÎÊÌâÖ÷ÒªÔÚReserved PoolÉÏ£¬¶øÇÒ¹Ù·½×îаæµÄPrestoÒ²¿ªÊ¼ÔÊÐí½«Reserved Pool¹Øµô£¬²¢°ÑËü¸ÄΪĬÈÏÖµ£¬ÒòΪ´óquery¶öËÀµÄÇé¿ö·Ç³£ÉÙ¼û£¬¶øÇÒÒ»°ãÕâÖÖÇé¿ö¼´Ê¹¿ªÁËReserved Pool£¬Ò²ºÜÈÝÒ×OOM£¬ËùÒÔPresto¼¯ÈºÕâÑùÉèÖã¬ÔÚʵ¼ÊʹÓÃЧ¹ûÉÏ£¬·´¶ø¸üºÃ¡£

ÎÒÃǽáºÏTAϵͳµÄʵ¼ÊÇé¿ö¹ØµôÁËReserved Pool£¬²¢¾­¹ý²âÊÔ£¬·¢ÏÖPresto¼¯Èº¿ÉÒÔͬʱÔËÐÐ2¸öCoordinator¡£

ÎÒÃÇ×îÖÕÐèÒª¸ÄÔìpresto-jdbcÔ´Â룬Ôö¼ÓÒ»¸öpresto failoverЭÒ飬Ҳ¾ÍÊÇÔÚÔ­ÏȵÄPresto DriverµÄ»ù´¡ÉÏ£¬Ôö¼ÓÒ»¸öTaFailoverPrestoDriverÇý¶¯À࣬ʹÆäÖ§³Ö¹ÊÕÏÇл»¹¦ÄÜ£¬´Ó¿Í»§¶ËÈëÊÖ£¬½â¾öPresto¸ß¿ÉÓõĹÊÕÏ×Ô¶¯×ªÒƹ¦ÄÜ¡£

presto-jdbcÄÚ²¿ÓÉPrestoConnectionÀàµ÷ÓÃpresto-cliµÄhttp½Ó¿Ú£¬À´Á÷ʽµØ»ñÈ¡Êý¾Ý¡£

ÔÚ¾ßÌåµÄ´úÂëʵÏÖÖУ¬ÎÒÃÇÓÃÁËjava¾­µäµÄ×éºÏÉè¼ÆÄ£Ê½£¬ÔÚTaFailoverPrestoConnectionÕâ¸ö×îÖØÒªµÄʵÏÖÀàÖУ¬°üº¬ÁËÖ÷PrestoConnectionºÍ±¸PrestoConnection£¬²¢ÊµÏÖÁËËûÃÇÖ®¼äµÄfailover¡£

ÕâÑù£¬ÎÒÃÇÔÚËùÓеķ½·¨ÊµÏÖÖУ¬µ÷ÓÃcurrent PrestoConnectionÖÐÔ­Ïȵķ½·¨¼´¿É£¬¶ø²»ÓÃÌ«¿¼ÂÇÀïÃæ¾ßÌåµÄʵÏÖ£¬ÕâÑù´ó´ó¼ò»¯ÁË´úÂëµÄÈßÓà¡£

ͬʱ£¬ÎÒÃǸıäÔ­Ïȵļ̳йØÏµ£¬ÈÃTaFailoverPrestoConnectionºÍPrestoConnection¶¼¼Ì³ÐTaPrestoConnection½Ó¿Ú£¬´Ó¶øÔÚһЩ·´Éäµ÷ÓÃÖУ¬×öµ½prestoµ¥»úЭÒéºÍpresto failoverЭÒéµÄ¼æÈÝ¡£

×îºó£¬¹Ù·½PrestoµÄSystemConnectorÔÚ´¦Àí¶à¸öCoordinator½ÚµãµÄʱºò£¬»áÓÐUnknown transaction IDµÄÎÊÌ⣬ÎÒÃÇÒѾ­½«ÆäÐÞ¸´£¬²¢½«¶àCoordinator½ÚµãµÄ²âÊÔ´úÂëÌá½»¸øÁËÉçÇø£¬±»ÉçÇøºÏ²¢¡£ £¨ https://github.com/ prestosql/presto/pull/6328£©

// 3.3 Redis¸ß¿ÉÓõÄʵÏÖ

RedisÎÒÃDzÉÓÃRedis SentinelÀ´ÊµÏָ߿ÉÓã¬ÔÚʵ¼ù¹ý³ÌÖУ¬ÒòΪTAϵͳµÄRedisÖдæÓзֲ¼Ê½Ëø£¬ËùÒÔ±ØÐ뿼ÂÇ·Ö²¼Ê½ËøµÄÊý¾ÝÒ»ÖÂÐÔÎÊÌâ¡£

Redis×÷Ϊ·Ö²¼Ê½ËøºÍÊý¾Ý»º´æ×é¼þ£¬ÌṩÁËÈçÏ·½°¸£ºÖ÷´Ó¸´ÖÆÄ£Ê½¡¢ÉÚ±øÄ£Ê½¡¢¼¯ÈºÄ£Ê½¡£Ôڸ߿ÉÓ÷½°¸µ÷Ñйý³ÌÖУ¬ÎÒÃÇ·¢ÏÖRedisÉçÇøÔÚ¿ÉÓÃÐÔºÍÊý¾ÝÒ»ÖÂÐԵķ½ÏòÉÏ£¬°Ñ¿ÉÓÃÐÔ×÷Ϊ¸ü¸ßÐèÇóÀ´×÷Ϊ¸ß¿ÉÓõĽâ¾ö·½°¸¡£

ÎÒÃÇÔø¾­³¢ÊÔ¹ýÓÃRedisºìËøµÄ·½°¸À´ÊµÏָ߿ÉÓ㬵«ÒòΪ¸Ã·½°¸ÊµÏÖ²»ÁËǿһÖÂÐÔ¶ø·ÅÆú¡£

×îÖÕÔÚRedis×é¼þµÄ¸ß¿ÉÓýâ¾ö·½°¸ÉÏ£¬×ö³öÈçϹ滮£º°ÑÊý¾Ý»º´æ¹¦ÄÜͨ¹ýRedisÉÚ±øÄ£Ê½ÊµÏÖ£¬·Ö²¼Ê½Ëø¹¦ÄÜÇ¨ÒÆÖÁzookeeper×÷Ϊ·Ö²¼Ê½Ëø¸ß¿ÉÓýâ¾ö·½°¸¡£

ΪʲôѡÔñRedisÉÚ±øÄ£Ê½£¿ÉÚ±øÄ£Ê½ÊÇÖ÷´ÓģʽµÄÉý¼¶°æ£¬ÒòΪÖ÷´ÓģʽÎÞ·¨½â¾ö¹ÊÕϻָ´ÎÊÌ⣬ͬʱ×÷ΪÊý¾Ý»º´æ×é¼þ£¬RedisÖжàΪ¿´°å»º´æÊý¾Ý£¬RedisÉÚ±øÄ£Ê½Ó뼯ȺģʽÏà±È£¬×ÊÔ´Õ¼ÓøüС£¬¸üÌù½üÓëRedisÔÚTAÖеÄʵ¼Ê¶¨Î»¡£

zookeeperÖеķֲ¼Ê½ËøÖ÷ÒªÊÇͨ¹ý´´½¨ÁÙʱ½Úµã+ÐÄÌø»úÖÆÀ´ÊµÏֵģ¬ÎÒÃǵÄÒµÎñÖÐÓÐÐèÒª´´½¨ÓÀ¾Ã½ÚµãµÄ³¡¾°£¬ËùÒÔÎÒÃÇÐèÒª¶ÔÕâÐ©ÌØÊâµÄËø½øÐзâ×°£¬²¢ÔÚ¼à¿ØÏµÍ³ÀィÁ¢É¾³ý¹ýÆÚ½ÚµãµÄÈÎÎñ£¬ÒÔ·ÀÖ¹ËÀËø¡£

// 3.4 ¼à¿ØÔËά¸ß¿ÉÓõÄʵÏÖ

¼à¿Ø¸æ¾¯×Ô¶¯»¯ÔËάϵͳÊǼ¯Èº¿É¿¿ÐԵĹؼü±£ÕÏ£¬Èç¹û¼à¿ØÔËά×ö²»µ½¸ß¿ÉÓã¬ÄÇôµ±¼à¿ØÔËάµÄÖ÷½Úµã¹Ò¶ÏµÄʱºò£¬ÎÒÃÇÊÕ²»µ½ÈκÎϵͳ¸æ¾¯£¬Ò²²»¿ÉÄܽøÐÐ×Ô¶¯»¯ÔËάÀ´ÐÞ¸´×é¼þµÄÒì³££¬µÈÓÚÕû¸ö¼¯ÈºÔÚ¡°ÂãÅÜ¡±£¬Õû¸ö¼¯Èº´¦ÓÚ¡°ºÚºÐ¡±×´Ì¬£¬ËùÒÔ×Ô¶¯»¯ÔËάµÄ¸ß¿ÉÓü«ÆäÖØÒª¡£

ÎÒÃÇÏÖ½×¶Î¼à¿ØÔËάµÄ¼Ü¹¹ÊÇ£ºÓÉganglia-gmond×÷Ϊ¼à¿ØÔËάµÄagent£¬Ò²¾ÍÊÇ¼à¿ØÊý¾ÝÊÕ¼¯¼°×Ô¶¯»¯ÔËάÏ·¢½Úµã£¬°²×°ÔÚÿ¸öTAϵͳµÄ½ÚµãÉÏ£¬²¢ÓÃudpЭÒé¹ã²¥¼à¿ØÊý¾Ý£¬ganglia-gmetad°ÑÊÕ¼¯µ½µÄ¼à¿ØÊý¾ÝдÈërrdʱÐòÊý¾Ý¿âÖС£

ͬʱ£¬ÎÒÃÇ×ÔÑÐÁËadmin-service×÷Ϊ¹ÜÀí×é¼þ£¬½«×é¼þ״̬ºÍ¸æ¾¯¶¯×÷´æÈëMySQL±íÖУ¬µ±×é¼þµÄ״̬Ò쳣ʱ£¬admin-serviceÊÕµ½Ò쳣״̬£¬²¢´¥·¢¸æ¾¯ºÍ×Ô¶¯»¯ÔËά¹¦ÄÜ£¬³¢ÊÔÏû³ý×é¼þµÄÒì³£¡£ËùÒÔadmin-service×÷Ϊ¹ÜÀí×é¼þ£¬Ò²¾ÍÊÇ¼à¿ØÔËάµÄÖ÷½Úµã£¬ÊÇÒ»¶¨ÐèÒª½â¾öµ¥µãÎÊÌ⣬×öµ½¸ß¿ÉÓõġ£

ÎÒÃÇ×ÐϸÑо¿ÁË¼à¿ØÔËάµÄ¸ß¿ÉÓ÷½°¸¡£¶ÔÓÚgmetad/rrdÕâÌ×¼à¿ØÊý¾Ý»ã×ܺÍʱÐòÊý¾Ý¿â×é¼þ£¬ÎÒÃÇ¿ÉÒÔÔÚÁ½¸ö¼à¿ØÔËάÖ÷½Úµã²¿ÊðÁ½Ì×¶ÀÁ¢µÄgmetad/rrd£¬½â¾öµ¥µãÎÊÌâ¡£¶øadmin-service×é¼þ£¬¶ÔÓÚ×Ô¶¯»¯ÔËά¶¯×÷£¬ÎÒÃÇÒѾ­×öµ½ÁËÃݵȣ¬¿ÉÒÔ½øÐÐÖØ¸´²Ù×÷£¬µ«ÊǸ澯¶¯×÷£¬²»ÄÜÖØ¸´Ò»´Î¡£ËùÒÔ£¬ÎÒÃDz»Äܼòµ¥µØ²¿ÊðÁ½¸öadmin-serviceÀ´ÊµÏָ߿ÉÓá£

ÎÒÃÇÐèÒªÒýÈëzookeeper£¬²¢ÀûÓÃzookeeperµÄÑ¡Ö÷¹¦ÄÜ£¬À´Îªadmin-serviceÑ¡Ö÷¡£zookeeperµÄÑ¡Ö÷µÄÔ­ÀíÊÇadmin-service×é¼þÔÚzookeeperµÄÒ»¸öĿ¼ÏÂ×¢²áÒ»¸ö˳ÐòµÄÁÙʱ½Úµã£¬²¢ÓÃÐÄÌø±£³ÖÁ¬½Ó£¬²¢½«×¢²áÖµ×îСµÄÄǸö½Úµã£¬×÷Ϊadmin-serviceµÄÖ÷½Úµã¡£µ±admin-service×é¼þå´»úÏÂÏߣ¬ÐÄÌø¶ªÊ§£¬ÁÙʱ½ÚµãÏûʧ¡£ÕâÑùµÄºÃ´¦ÊÇÔÚÓжà¸öadmin-serviceµÄÇé¿öÏ£¨TAϵͳһ°ãΪ2¸ö£©£¬±ÜÃâ¡°ÑòȺЧӦ¡±¡£¸Ã¹¦ÄÜÄÜʹͬһʱ¼äÄÚ£¬Ö»ÈÃÖ÷½ÚµãµÄadmin-service½øÐи澯ºÍ×Ô¶¯»¯ÔËά¹¤×÷£¬´Ó¶ø½â¾ö¸æ¾¯µÄÖØ¸´ÎÊÌ⣬±£ÕÏ¼à¿ØÔËάµÄ¸ß¿ÉÓá£

// 3.5 Á÷ʽ´¦ÀíÒýÇæ£¨Êý¾ÝETL²ã£©¸ß¿ÉÓõÄʵÏÖ

Á÷ʽ´¦ÀíÒýÇæµ×²ãÊÇ»ùÓÚ֮ǰËùÊöµÄ¿ªÔ´×é¼þKafka-common×öµÄÊý¾ÝETL×é¼þdata-etl£¬Æä½«Êý¾Ý´ÓKafka˳Ðò´æÈëKuduºÍHDFS¡£

Á÷ʽ´¦ÀíÒýÇædata-etlʵ¼ÊÉÏÊÇÎÒÃÇTAϵͳ×îºËÐĵIJ¿·ÖÖ®Ò»£¬ÎÒÃǶÔÊý¾ÝETLµÄ´¦ÀíÖ÷Òª¿É·ÖΪÁ½ÖÖ²»Í¬µÄͨµÀ£ºÒ»ÖÖÊÇÍÌÍÂÁ¿¸ü´ó£¬µ«ÊÇÓÐÑÓʱµÄÀúʷͨµÀ£»Ò»ÖÖÊÇÍÌÍÂÁ¿Éпɣ¬µ«ÎÞÑÓʱµÄʵʱͨµÀ¡£

ÎÒÃÇÖ÷Òª½éÉÜÒ»ÏÂʵʱͨµÀ£¬Ëü²ÉÈ¡µÄÊÇÒ»ÖÖ¡°¶ÁʱºÏ²¢¡±µÄ¼¼Êõ£¬×öµ½ÍêÈ«µÄÎÞÑÓ³Ù¡£ÎÒÃÇ»áÔÚPrestoÖн¨Ò»ÕÅ¿çKuduºÍHDFSµÄÊÓͼ£¬Í¬Ê±£¬ÀúÊ·Êý¾Ý»á´æÔÚHDFSÖУ¬ÊµÊ±Êý¾Ý´æÔÚKuduÖУ¬²éѯµÄʱºòͨ¹ýÊÓͼ£¬Í¬Ê±²éѯÀúÊ·Êý¾ÝºÍʵʱÊý¾Ý£¬´Ó¶øÔÚ²éѯ¶Ë×öµ½ÎÞÑÓʱ¡£Í¬Ê±£¬ÎÒÃÇ»áÓá°¶ÁʱºÏ²¢¡±¼¼Êõ£¬Ò»µãÒ»µãµØ°ÑʵʱÊý¾ÝµÄÀúÊ··ÖÇø°áǨµ½HDFSµÄÁÙʱĿ¼ÖУ¬°áǨÍê±Ïºó£¬Ô­×ÓÐԵذÑÁÙÊ±Ä¿Â¼ÒÆµ½ÀúÊ··ÖÇø£¬²¢É¾³ýKuduÀúÊ··ÖÇø¡£

Á÷ʽ´¦ÀíÒýÇæ»¹ÓкܶàµÄ¹¦ÄÜ£¬±ÈÈçͨ¹ý¸ºÔØËã·¨£¬ÔÚÓиºÔØ¿ÕÓàµÄʱºò£¬½«HDFSÖеÄСËéÎļþ½øÐкϲ¢µÈµÈ¡£

¶ÔÓÚdata-etlµÄ¸ß¿ÉÓã¬ÒòΪKafka-commonÖ§³Ö½«offset´æÈëMySQL/Redis±íÖУ¬ÎÒÃÇ¿ÉÒÔ½«¶à¸ödata-etl£¬Í¨¹ýͬһ¸öconsumer group.idÀ´Ïû·ÑKafka£¬Kafka»á°Ñpartition¾ùÔȵطָø¶à¸ödata-etl¡£µ±ÓнڵãÏÂÏß»òÉÏÏßʱ£¬Kafka»áÊÕµ½½ÚµãÔö¼Ó/¼õÉÙÐźţ¬»ØÊÕ·ÖÇø£¬²¢ÖØÐ¸ødata-etl·ÖÅäpartition¡£

KafkaÒòÆä¼Ü¹¹Ô­Òò£¬¿ÉÄÜ»áÓÐÍøÂçÔ­ÒòÔì³ÉÈÕÖ¾»ØÍ˵ÄÎÊÌ⣬µ¼ÖÂKafka consumerÏû·ÑKafkaÔ½½ç¡£ÔÚ³öÏÖÕâ¸öÎÊÌâµÄʱºò£¬Kafka¸ø³öÁËauto.offset.reset²ÎÊý£¬²¢ÓÐÈý¸öÑ¡Ïearliest¡¢latest¡¢none¡£earliest¾ÍÊǵ±Ïû·ÑÔ½½çµÄʱºò£¬´ÓÍ·¿ªÊ¼Ïû·Ñ£»latestÊǵ±Ïû·ÑÔ½½çµÄʱºò£¬´Óβ°Í¿ªÊ¼Ïû·Ñ£»¶ønoneÔòÊÇ×Ô¼º¸ù¾Ý×Ô¶¨ÒåµÄ²ßÂÔ½øÐбàÂë¡£ÎÒÃÇÑ¡ÔñÁËnone£¬×Ô¶¨Òå²ßÂÔ£¬ÈÃKafkaÔÚÔ½ÉϽçµÄʱºò£¬´Óβ°Í¿ªÊ¼Ïû·Ñ£¬Ô½Ï½çµÄʱºò£¬´ÓÍ·¿ªÊ¼Ïû·Ñ¡£

³ý´ËÖ®Í⣬ÎÒÃÇ»¹ÓÅ»¯ÁËKafka Assignor·ÖÅä²ßÂÔ£¬ÈÃKafkaÔÚ·ÖÅä·ÖÇøµÄʱºò£¬°´ÕÕlagÖµ£¨Ò²¾ÍÊǵ±Ç°µÄÈÕÖ¾³¤¶Èlog size¼õÈ¥µ±Ç°µÄÏû·Ñ³¤¶Èoffset£©ÅÅÐò£¬È»ºó¾¡Á¿¾ùÔȵطÖÅ䏸²»Í¬µÄdata-etl£¬À´±£Ö¤ÔÚ·ÖÅäpartitionµÄ¹ý³ÌÖУ¬²»³öÏÖÊý¾ÝÇãб¡£

ͬʱÎÒÃÇÒ²ÓÐÒ»Ì×Êý¾ÝÇãб¼à¿ØËã·¨£¬ÔÚ³öÏÖÊý¾ÝÇãбµÄÇé¿öÏ£¬ÈÃdata-etlÖØÐÂÆ½ºâKafka·ÖÇø¡£

// 3.6 ÊÕÊý×é¼þ£¨Êý¾ÝÊÕÈë²ã£©µÄ¸ß¿ÉÓõÄʵÏÖ

TAϵͳµÄÊý¾Ý½ÓÈë²ã×é¼þreceiver£¬ËüµÄ¸ß¿ÉÓÃÒ²¼«ÎªÖØÒª¡£ÒòΪÈç¹ûreceiver×é¼þcrash£¬Êý¾Ý½«»á¶ªÊ§£¬Ó°ÏìÊÕÊýµÄ¿É¿¿ÐÔ£¬ÎÒÃÇreceiverÖ÷ÒªÊÇÌṩhttp·þÎñ£¬²¢½«Êý¾Ýͨ¹ýhttp·¢Ë͵½Kafka»º´æÆðÀ´¡£

ÎÒÃÇÔÚTA¼¯ÈºÖв¿Êð¶à¸öreceiver½Úµã£¬²¢ÔÚǰ¶Ë¹Òload balance£¬ÓÉload balance¸ù¾ÝÆä¾ßÌåµÄ¸ºÔØÆ½ºâËã·¨£¬½«Êý¾Ýת·¢ÖÁreceiver½Úµã£¬²¢Ìṩ¹ÊÕϼà²âÇл»¹¦ÄÜ¡£

ÖÁÓÚ¾ßÌåµÄload balance£¬ÔòÐèÒª¸ù¾Ý¿Í»§µÄʵ¼ÊÇé¿ö£¬ÒªÃ´Ê¹ÓÃlvs+nginx£¬ÒªÃ´Ê¹ÓÃÔÆ·þÎñÉ̵Älb·þÎñ£¬ÒªÃ´Ê¹ÓÃF5µÈÀ´±£Ö¤¸ß¿ÉÓá£

receiver½Úµã·¢ÏòKafka£¬ÐèҪעÒâÒòKafkaÒì³£µ¼ÖµĴ«Êä´íÎó/¶ÂÈû£¬Õâʱºò£¬ÐèÒª½«receiverµÄÊý¾Ý±£´æµ½±¾µØ´ÅÅÌ£¬²¢·¢Ë͸澯£¬ÔÚKafka»Ö¸´Õý³£ºó£¬ÔÙ½«ÕâЩÊý¾Ý·¢Ë͸øKafka¡£

// 3.7 web/common-service×é¼þµÄ¸ß¿ÉÓõÄʵÏÖ

web×é¼þ³ÐÔØÁËÓû§¼øÈ¨¡¢Êý¾ÝÒµÎñÇëÇóת·¢µÈÏà¹Ø¹¦ÄÜ£¬Ëü½«¼øÈ¨Í¨¹ýµÄÇëÇóת·¢¸øÏÂÓεIJéѯҵÎñ×é¼þ½øÐд¦Àí£¬¸ß¿ÉÓò¿ÊðʱֻÐèÒª½«±¾µØ»º´æ×ª»¯Îª·Ö²¼Ê½»º´æ£¬²¢ÅäÖÃǰÖÃLB¡£

web×é¼þÏÂÓÎÁ¬½Ó¸ß¿ÉÓò¿ÊðµÄ²éѯҵÎñ×é¼þ£¬Òò´Ëweb×é¼þÒýÈëÁ˸ºÔؾùºâ×é¼þRibbon¡£¿ÉÒÔ¶¯Ì¬Ì½²âÏÂÓβéѯҵÎñ×é¼þµÄ´æ»î£¬½øÐж¯Ì¬ÇëÇó·ÓÉ¡£

common-service×é¼þΪ²éѯҵÎñ×é¼þ£¬Óëweb×é¼þÀàËÆ£¬¸ß¿ÉÓò¿ÊðºóÖ»ÐèÒª½«±¾µØ»º´æ×ª»¯Îª·Ö²¼Ê½»º´æ¡£ÁíÍâÕë¶ÔÐèÒª²¢·¢Í¬²½µÄÒµÎñ³¡¾°»ò¶¨Ê±ÈÎÎñ³¡¾°£¬common-service×é¼þÒýÈëÁË·Ö²¼Ê½Ëø½øÐÐÒµÎñͬ²½¡£

×ÛÉÏ£¬Í¨¹ý¶Ô²»Í¬²ã¼¶µÄ×é¼þºÍÄ£¿éÉè¼ÆÊµÏÖ²»Í¬µÄHA²ßÂÔ£¬´Ó¶ø´ïµ½Õû¸öTAϵͳµÄ¸ß¿ÉÓÃ״̬£¬Ê¹µÃTAϵͳ¿ÉÒÔÔÚÈÕ³£ÔËÐеĹý³ÌÖеֿ¹²»È·¶¨ÐÔ·çÏÕ£¬È·±£ÔÚÈÎÒâ×é¼þ»òÕßijÎïÀí½Úµã³öÏÖ¹ÊÕÏʱ£¬ÏµÍ³ÈÔ¿ÉÒÔÌṩÎȶ¨¸ßЧµÄ·þÎñ¡£

ÓÈÆäÊÇÔÚÓÎÏ·ÁìÓò£¬Êý¾ÝÁ¿´ó£¬ÒµÎñ³¡¾°¸´ÔÓ£¬ÔÚÃæÏòÈ«Çò·¢ÐÐÒµÎñʱ£¬ÓÉϵͳ¡¢ÍøÂç¡¢ÔÆ·þÎñµÈÖî¶à²»È·¶¨ÐÔÒòËØµþ¼Óʱ£¬TAϵͳµÄÈ«×é¼þ¸ß¿ÉÓ÷½°¸Îª¿Í»§´øÀ´µÄ¼ÛÖµ¸üΪͻÏÔ

¡£
 
   
2484 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
´óÊý¾Ýƽ̨ϵÄÊý¾ÝÖÎÀí
ÈçºÎÉè¼ÆÊµÊ±Êý¾Ýƽ̨£¨¼¼Êõƪ£©
´óÊý¾Ý×ʲú¹ÜÀí×ÜÌå¿ò¼Ü¸ÅÊö
Kafka¼Ü¹¹ºÍÔ­Àí
ELK¶àÖּܹ¹¼°ÓÅÁÓ
×îпγÌ
´óÊý¾Ýƽ̨´î½¨Óë¸ßÐÔÄܼÆËã
´óÊý¾Ýƽ̨¼Ü¹¹ÓëÓ¦ÓÃʵս
´óÊý¾ÝϵͳÔËά
´óÊý¾Ý·ÖÎöÓë¹ÜÀí
Python¼°Êý¾Ý·ÖÎö
³É¹¦°¸Àý
ijͨÐÅÉ豸ÆóÒµ PythonÊý¾Ý·ÖÎöÓëÍÚ¾ò
Ä³ÒøÐÐ È˹¤ÖÇÄÜ+Python+´óÊý¾Ý
±±¾© Python¼°Êý¾Ý·ÖÎö
ÉñÁúÆû³µ ´óÊý¾Ý¼¼Êõƽ̨-Hadoop
ÖйúµçÐÅ ´óÊý¾Ýʱ´úÓëÏÖ´úÆóÒµµÄÊý¾Ý»¯ÔËӪʵ¼ù