ËäÈ»ÔÚ»úÆ÷ѧϰÖУ¬PythonÒѾÎ޿ײ»Èë¡£µ«Python²¢²»ÊÇÈ«ÄÜÖ®ÉñÊÖÖеÄħÕÈ¿ÉÒÔΪËùÓûΪ¡£ºÜ¶àÇé¿öÏÂÆäʵÓÃPythonµÄЧ¹û²¢²»ÈçÆäËûÓïÑÔ£¬±ÈÈçGo¸üºÃ£¬ÉõÖÁ¿ÉÄܸüÔã¡£±¾ÎĽéÉÜÁËΪʲôÔÚ×÷ÕߵŤ×÷»·¾³ÏÂÑ¡ÔñGo¶ø·ÇPythonµÄÀíÓÉ£¬Òý·¢ÉçÇø¹Ø×¢ºÍÈÈÒé¡£
±à³ÌÓïÑÔ¾ÍÊÇÒ»¸ö½ºþ£¬ÓÀÔ¶ÓÐÈËêéêì°ÔÖ÷µÄλ×Ó¡£
PythonÈç½ñÈ´ÎÈ×ø±à³ÌÓïÑÔ½çµÄ°ÔÖ÷£¬ÓÈÆäÊÇÔÚ»úÆ÷ѧϰÁìÓò£¬ËùÓÐÖ÷Á÷»úÆ÷ѧϰ¿ò¼Ü¶¼ÔÚÓÃPython¡£
È»¶ø¼´Ê¹ÊDZ»¾ø´ó¶àÊýÈËÈϿɵÄPython£¬Ò²²¢·ÇÕæµÄÎÞËù²»ÄÜ£¬Ò²ÓÐÈÃÆäÎÞÄÜΪÁ¦¡¢ÎÞÖÐÉúÓеÄÇé¿ö¡£
PythonÒýÒÔΪºÀµÄ»úÆ÷ѧϰËã·¨£¬Ö»ÊÇ»úÆ÷ѧϰϵͳµÄÒ»¸ö×é³É²¿·Ö¡£ÒªÊµ¼Ê´ó¹æÄ£ÔËÐÐÉú²ú»úÆ÷ѧϰAPI£¬»¹ÐèҪʵÏÖÒÔϹ¦ÄܵĻù´¡¼Ü¹¹£º
×Ô¶¯Ëõ·Å£¬ÒÔ±ãÁ÷Á¿²¨¶¯²»»áÆÆ»µÄúµÄAPIAPI¹ÜÀí£¬ÒÔ´¦ÀíµÄAPI²¿Êð¹ö¶¯¸üУ¬ÒÔ±ãÄú¿ÉÒÔÔÚ¸üÐÂÄ£Ð͵ÄͬʱÈÔΪÓû§Ìṩ·þÎñ
¶ÔÓÚÏñCortexÕâÑùµÄ¿ªÔ´»úÆ÷ѧϰ²¿Êðƽ̨£¬Ö¼ÔÚʹËùÓÐÕâЩ»ù´¡¼Ü¹¹×Ô¶¯»¯£¬ÒÔ¼°ÈÕÖ¾¼Ç¼ºÍ³É±¾ÓÅ»¯µÈÆäËû·½ÃæµÄ¹Ø×¢£¬×÷ÕßCaleb KaiserÈÏΪÏà±ÈPython¶øÑÔ£¬Go¸üºÏ¡£
Ïà±ÈÓÚ³öÉíº®ÃÅ¡¢Ò»¸öÓ¦½ìÉúµÄÊ¥µ®½ÚÎÞÁÄÖ®×÷µÄPython£¬GoÓïÑÔ³ö×ÔGoogle£¬×÷ÕßÊÇÈýλ×Úʦ¼¶ÈËÎRob Pike¡¢Ken Thompson ºÍ Robert Griesemer¡£ÔÚÒÔÏ·½Ã泬ԽÁËPython£º
²¢·¢¶ÔÓÚ»úÆ÷ѧϰ»ù´¡¼Ü¹¹ÖÁ¹ØÖØÒª
Óû§¿ÉÒÔ½«Ðí¶à²»Í¬µÄÄ£ÐͲ¿ÊðΪ²»Í¬µÄAPI£¬ËùÓÐÄ£ÐͶ¼ÔÚͬһ¸öCortex¼¯ÈºÖнøÐйÜÀí¡£
ΪÁËÈÃCortex OperatorÄܹ»¹ÜÀíÕâЩ²»Í¬µÄ²¿Êð£¬ÐèÒª¾À²øһЩ²»Í¬µÄAPI¡£
Cortexµ÷ÓÃKubernetes APIÔÚ¼¯ÈºÉϲ¿ÊðÄ£ÐÍ£»Í¬Ê±Ò²ÐèÒª¿¼ÂǸ÷ÖÖAWS API£¨EC2 Auto Scaling£¬S3£¬CloudWatchµÈ£©
Óû§²»»áÖ±½ÓÓëÈκÎÕâЩAPI½øÐн»»¥£¬È¡¶ø´úÖ®µÄÊÇ£¬CortexÒÔ±à³Ì·½Ê½µ÷ÓÃÕâЩAPIÀ´¹©Ó¦¼¯Èº£¬Æô¶¯²¿ÊðºÍ¼àÊÓAPI¡£
ÒÔÒ»ÖÖÓÐЧ£¬¿É¿¿µÄ·½Ê½½øÐÐËùÓÐÕâЩÖصþµÄAPIµ÷ÓÃÊÇÒ»¸öÌôÕ½¡£
ͬʱ´¦ÀíËüÃÇÊÇ×îÓÐЧµÄ´¦Àí·½Ê½£¬µ«Í¬Ê±Ò²ÒýÈëÁ˸´ÔÓÐÔ£¬ÒòΪÏÖÔÚÎÒÃDz»µÃ²»µ£ÐÄÖîÈ羺ÈüÌõ¼þÖ®ÀàµÄÊÂÇé.GoÓÐÒ»¸öÓÅÑŵģ¬¿ªÏä¼´ÓõĽâ¾ö·½°¸À´½â¾öÕâ¸öÎÊÌ⣺Goroutines¡£
GoroutinesÊÇÕý³£µÄGo²¢·¢Ö´ÐеŦÄÜ¡£Ðí¶àGoroutine¿ÉÒÔ·ÅÔÚÒ»¸öOSÏß³ÌÉÏ£¬Èç¹ûGoroutine×èÈûÁËOSỊ̈߳¬ÔòGoÔËÐÐʱ»á×Ô¶¯½«ÆäÓàGoroutinesÒÆÖÁеÄOSÏ̡߳£
Goroutines»¹ÌṩÁËÒ»¸ö³ÆΪ¡°Í¨µÀ¡±µÄ¹¦ÄÜ£¬ÔÊÐíGoroutinesÖ´ÐÐÔڱ˴ËÖ®¼ä´«µÝÏûÏ¢£¬Ê¹ÎÒÃÇÄܹ»µ÷¶ÈÇëÇó²¢±ÜÃâ³öÏÖ¾ºÕùÇé¿ö¡£
ʹÓÃasyncioµÈ×îй¤¾ßÔÚPythonÖÐʵÏÖËùÓÐÕâЩ¹¦ÄÜ¿ÉÄÜÊÇ¿ÉÐеģ¬µ«ÊÇGoµÄÉè¼Æ³ä·Ö¿¼ÂÇÁËÕâÖÖÓÃÀý£¬ÕâÒ»ÊÂʵʹÎÒÃǵÄÉú»î±äµÃ¸ü¼ÓÇáËÉ¡£
ÔÚGoÖй¹½¨¿çƽ̨CLI¸üÈÝÒ×
Cortex CLIÊÇÒ»ÖÖ¿çƽ̨¹¤¾ß£¬ÔÊÐíÓû§Ö±½Ó´ÓÃüÁîÐв¿ÊðÄ£Ðͺ͹ÜÀíAPI¡£
ÏÂÃæµÄGIFÏÔʾÁËÕýÔÚʹÓõÄCLI£º
ÊÂʵ֤Ã÷£¬Python±àдµÄCLI³¢ÊÔÔÚ¸÷ÖÖƽ̨֮¼ä·Ö·¢Ì«À§ÄÑÁË¡£
ÒòΪGo¿ÉÒÔ±àÒë³ÉÒ»¸ö¶þ½øÖÆÎļþ£¨²»ÐèÒªÒÀÀµ¹ÜÀí£©£¬ËùÒÔËüΪÎÒÃÇÌṩÁËÒ»¸öÔÚƽ̨֮¼ä·Ö·¢CLIµÄ¼òµ¥½â¾ö·½°¸£¬¶øÎÞÐè½øÐйý¶àµÄ¹¤³Ì¹¤×÷¡£¾¹ý±àÒëµÄGo¶þ½øÖÆÎļþºÍ½âÊÍÐÍÓïÑÔµÄÐÔÄÜÓÅÊÆÒ²ºÜÃ÷ÏÔ¡£
¸ù¾Ý¼ÆËã»ú»ù×¼²âÊÔÓÎÏ·£¬GoµÄÔËÐÐËٶȱÈPython¿ìµÃ¶à¡£Ðí¶àÆäËû»ù´¡½á¹¹CLI¹¤¾ß¶¼ÊÇÓÃGo±àдµÄ£¬Õâ²¢·ÇÇɺϣ¬ÕâʹÎÒÃǽøÈëÁËÏÂÒ»²½¡£
GoÉú̬ϵͳ·Ç³£Êʺϻù´¡ÉèÊ©ÏîÄ¿
¿ªÔ´µÄºÃ´¦Ö®Ò»ÊÇ£¬Äú¿ÉÒÔ´Ó×Ô¼ºÐÀÉ͵ÄÏîÄ¿ÖÐѧϰ¡£ ÀýÈ磬Cortex´æÔÚÓÚKubernetes£¨±¾ÉíÓÃGo±àд£©Éú̬ϵͳÖС£ ÎÒÃǺÜÐÒÔËÄܹ»ÔÚ¸ÃÉú̬ϵͳÖÐѧϰµ½Ðí¶à³öÉ«µÄ¿ªÔ´ÏîÄ¿£¬ÆäÖаüÀ¨£º
ÒÔÉÏËùÓÐÄÚÈݶ¼ÊÇÓÃGoÓïÑÔ±àдµÄ£¬¶ø²»½ö½öÊÇKubernetesÏîÄ¿¡£
ÎÞÂÛÄãÊÇÔÚ¿´CockroachDB»¹ÊÇHashicorpµÄ»ù´¡ÉèÊ©ÏîÄ¿£¬°üÀ¨Vault£¬Nomad£¬Terraform£¬ConsulºÍPacker£¬ËüÃǶ¼ÊÇÓÃGo±àдµÄ¡£
GoÔÚ»ù´¡ÉèÊ©ÁìÓòµÄÁ÷Ðл¹ÓÐÁíÒ»¸öÓ°Ï죬Õâ¾ÍÊÇ´ó¶àÊý¹¤³Ìʦ¶¼¸ÐÐËȤ£¡ÔÚ»ù´¡¼Ü¹¹·½Ã湤×÷µÄÈ˶ÔGoºÜÊìϤ£¬ÕâʹµÃÎüÒý¹¤³Ìʦ¸ü¼ÓÈÝÒס£
ÓÃGoÊÇÒ»ÖÖÀÖȤ
Ïà¶ÔÓÚPython£¬GoÈëÃÅÆðÀ´ÓеãÍ´¿à£¬µ«ÕâÊÇÖ¸ÔÝʱµÄ¡£Ò»µ©Äã¿çÔ½ÁËÃż÷£¬½øÈëGoµÄÊÀ½çÀÄã»á·¢ÏÖ¼òÖ±ÊÇ¡°Ò»Âíƽ´¨¡±¡£
Go¿íÈݵÄÐÔ¸ñʹËü¶ÔÓÚ´óÐÍÏîÄ¿¶øÑÔÈç´ËÁîÈËÓäÔá£
³ý´ËÒÔÍ⣬Ïà±ÈPython£¬GoµÄÓÅÊÆ»¹ÌåÏÖÔÚ£º
ÊÊÓÃÓÚ»úÆ÷ѧϰµÄPython£¬ÊÊÓÃÓÚ»ù´¡¼Ü¹¹µÄGo
Cortex·þÎñÓÚTensorFlow£¬PyTorch£¬scikit-learnºÍÆäËûPythonÄ£ÐÍ£¬ÕâÒâζ×ÅÓëÕâЩģÐ͵ĽӿÚÒÔ¼°ÍÆÀíÇ°ºóµÄ´¦Àí£¬ÓÃPythonÍê³É¡£
µ«ÊÇ£¬¼´Ê¹½«Python´úÂë´ò°üµ½ÁËDockerÈÝÆ÷ÖУ¬ÕâЩÈÝÆ÷¶¼ÊÇÓÃGoÓïÑÔ±àдµÄ´úÂ뾫ÐıàÅŵġ£Èç¹ûÄãÓÐÐËȤ³ÉΪһÃû»úÆ÷ѧϰ¹¤³Ìʦ£¬ÄÇôÁ˽âPythonÊDZØÐëµÄ¡£
µ«ÊÇ£¬Èç¹ûÄã¶ÔʹÓûúÆ÷ѧϰ»ù´¡½á¹¹¸ÐÐËȤ£¬ÔòÓ¦ÈÏÕ濼ÂÇʹÓÃGo¡£
ÁìȡרÊô 10ÔªÎÞÃż÷ȯ
˽Ïí×îР¼¼Êõ¸É»õ