±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚinfoq£¬±¾ÎÄͨ¹ýʹÓÃSemianºÍToxiproxyµÈ¹¤¾ß£¬ÎÒÃÇÈõ¥ÌåÓ¦Óþ߱¸Á˸ü¸ßµÄ¿É¿¿ÐԺ͵¯ÐÔ¡£
|
|
±³¾°
ShopifyÊÇÒ»¸öÃæÏòÖÐСÐÍÆóÒµµÄ¶àÇþµÀÉÌÎñƽ̨£¬°ïÖúÓû§´´½¨É̵겢ͨ¹ýÏßÉϵÄÍøµê»òÉ罻ýÌåÒÔ¼°ÏßϵÄPOS»úËæÊ±ËæµØÏúÊÛ²úÆ·¡£ShopifyΪ60ÍòÉ̼ÒÌṩ·þÎñ£¬Ôڸ߷åÆÚÿÃë´¦Àí8Íò¸öÇëÇó¡£
ÔÚΪÓб§¸ºµÄÉ̼ÒÌṩÔÚÏßÉ̵ê·þÎñµÄͬʱ£¬Shopify»¹Êdz¬¼¶Íë¡¢Kylie»¯×±Æ·¡¢Justin
BieberºÍKanye WestµÈÃûÈ˵ÄÉÌÆ·ÏúÊÛÕ¾µã¡£´Ó¹¤³ÌµÄ½Ç¶ÈÀ´¿´£¬Ó¦¶ÔÕâЩ¡°ÉÁ¹º¡±ÊǸö¾Þ´óÌôÕ½£¬ÒòΪËüÃǵÄÁ÷Á¿ÊDz»¿ÉÔ¤²âµÄ¡£
ÎÒÊÇShopify·þÎñģʽÍŶӵÄÒ»Ãû¸ß¼¶¹¤³Ìʦ¡£ÎÒÃǵÄÍŶӸºÔðƽ̨µÄ·ÖƬ¡¢¿ÉÀ©Õ¹ÐԺͿɿ¿ÐԵȷ½ÃæµÄÎÊÌâ¡£ÎÒÃÇΪ¿ª·¢¿ÉÀ©Õ¹µÄÈí¼þÌṩָÄϺÍAPI£¬Òò´ËShopifyµÄÆäËû¿ª·¢Õ߾ͳÉÁËÎÒÃǵÄÓû§¡£ÎÒÃǵÄÍŶÓ×ùÓÒÃúÊÇ¡°°Ñ¿ª·¢ÈËÔ±´Ó¿ÉÀ©Õ¹ÐÔÖнâ·Å³öÀ´¡±¡£
ShopifyµÄ¹¤³ÌÍŶÓ
ÔÚ2015Äê֮ǰ£¬ÎÒÃÇÓÐÒ»¸öÔËÓªºÍÐÔÄÜÍŶӡ£´ó¸Å¾ÍÔÚÕâ¸öʱºò£¬ÎÒÃǾö¶¨×齨һ¸öÉú²ú¹¤³ÌÍŶӲ¢½«Ö®Ç°µÄÔËÓªÍŶӺϲ¢ÔÚÒ»Æð¡£ÐÂÍŶӸºÔð¹¹½¨ºÍά»¤Í¨Óûù´¡ÉèÊ©£¬ÈÃÆäËû²úÆ·¿ª·¢ÍŶÓÄܹ»Õý³£ÔËÐÐËûÃǵĴúÂë¡£
Éú²ú¹¤³ÌÍÅ¶ÓºÍÆäËû²úÆ·¿ª·¢ÍŶӹ²Í¬¸ºÔð×îÖÕµÄÓû§Ó¦ÓóÌÐò£¬±£Ö¤ËüÃÇÄܹ»³ÖÐøÔËÐС£ÕâÒâζ×ÅËùÓм¼Êõ½ÇÉ«¶¼ÐèÒª¹Ø×¢¼à¿ØºÍʼþÏìÓ¦£¬ÔÚ³öÏÖÎÊÌâʱÌṩ±ØÒªµÄ¼¼ÄÜÀ´»Ö¸´·þÎñ¡£
×î³õµÄ¼Ü¹¹
2004Ä꣬Shopify´´Ê¼È˼æÊ×ϯִÐйÙTobi L¨¹tke¿ªÊ¼Îª»¬Ñ©°å²úÆ·½¨Á¢Íøµê¡£Ëû¶ÔÊÐÃæÉÏÒÑÓеĵç×ÓÉÌÎñ²úÆ·²»ÊÇÌ«ÂúÒ⣬ËùÒÔ¾ö¶¨Ê¹ÓÃRuby
on Rails¹¹½¨×Ô¼ºµÄSaaSƽ̨¡£
ÄÇʱ£¬RailsµÄ°æ±¾»¹²»µ½1.0£¬Õû¸ö¿ò¼Ü»¹Ö»ÊÇͨ¹ýµç×ÓÓʼþ·¢Ë͵Ä.zip´æµµÎļþ¡£Tobi¼ÓÈëÁËRails×÷ÕßDavid
Heinemeier Hansson£¨DHH£©µÄÐÐÁУ¬³ÉΪRuby on RailsµÄ¹±Ï×Õߣ¬Í¬Ê±Ò»±ß¿ª·¢Shopify¡£ShopifyÏÖÔÚÊÇÊÀ½çÉÏ×î´ó×î¹ÅÀϵÄRailsÓ¦ÓóÌÐòÖ®Ò»¡£Ëü´Óδ±»ÖØÐ´¹ý£¬ÈÔȻʹÓÃÔʼ´úÂë¿â£¬²»¹ýÔÚ¹ýȥʮÄêÖÐÒѾ³ÉÊìÁ˺ܶࡣTobiµ±³õÌá½»´úÂëµÄÀúÊ·¼Ç¼ÒÀÈ»±£ÁôÔÚ°æ±¾¿ØÖÆÏµÍ³ÖС£
ѺעRails¼«´óµØÓ°ÏìÁËÎÒÃǵÄ˼¿¼·½Ê½£¬Í¬Ê±Ò²ÈÃÎÒÃÇÄܹ»¿ìËÙ½»¸¶²úÆ·¡£ËäÈ»¿ò¼ÜµÄijЩ²¿·ÖÄÑÒÔÀ©Õ¹£¨ÀýÈçActiveRecord»Øµ÷ºÍ´úÂë½á¹¹£©£¬µ«´ó¶àÊýÈËÈÔÈ»ÔÞͬTobiµÄ¹Ûµã¡ª¡ªÄܹ»ÈÃShopify´Ó³µ¿â´´Òµ¹«Ë¾±äÉíÉÏÊй«Ë¾µÄ·ÇRailsĪÊô¡£
ShopifyµÄºËÐÄÓ¦ÓÃÈÔÈ»ÊÇRailsµ¥Ì壬³ý´ËÖ®Í⣬ÎÒÃÇ»¹ÓÐÊý°Ù¸öÆäËûRailsÓ¦Óá£ËüÃDz»ÊÇ΢·þÎñ£¬¶øÊÇÌØ¶¨ÓÚÁìÓòµÄÓ¦ÓóÌÐò£ºÎïÁ÷£¨Óë¸÷ÖÖÎïÁ÷¹©Ó¦É̽»»¥£©¡¢Éí·Ý£¨ShopifyÍøÕ¾µÄµ¥µãµÇ¼£©ºÍApp
StoreµÈµÈ¡£¹ÜÀí°ÙÀ´¸öÓ¦ÓóÌÐò²¢ÈÃËüÃDZ£³Ö°²È«¸üÐÂÊÇÒ»Ïî·Ç³£¼è¾ÞµÄÈÎÎñ£¬Òò´ËÎÒÃÇ¿ª·¢ÁËServicesDB¡£ServicesDBÊÇÒ»¸öÄÚ²¿Ó¦ÓóÌÐò£¬¿ÉÓÃÓÚ¸ú×ÙËùÓеÄÉú²ú·þÎñ£¬²¢°ïÖú¿ª·¢ÈËԱȷ±£ËûÃDz»»áÒÅ©ÈκÎÖØÒªµÄÄÚÈÝ¡£

ServicesDBΪÿ¸öÓ¦ÓóÌÐòά»¤ÁËÒ»·Ý¼ì²éÇåµ¥£ºËùÓÐȨ¡¢ÔËÐÐʱ¼ä¡¢ÈÕÖ¾¡¢ÂÖ°à´ýÃü¡¢Òì³£±¨¸æºÍgem°²È«¸üС£Èç¹ûÆäÖÐÈκÎÒ»¸ö³öÏÖÎÊÌ⣬ServicesDB¾Í»áÔÚGitHubÉÏÌá½»Ò»¸öÎÊÌ⣬²¢Í¨ÖªÓ¦ÓóÌÐòµÄËùÓÐÕßÀ´½â¾öÎÊÌâ¡£ÎÒÃÇ»¹¿ÉÒÔͨ¹ýServicesDBÁ˽âÈçÏÂһЩÎÊÌ⣺¡°ÓжàÉÙ¸öÓ¦ÓóÌÐòʹÓÃÁËRails
4.2£¿ÓжàÉÙ¸öÓ¦ÓóÌÐòʹÓÃÁ˹ýʱµÄgem°æ±¾£¿ÄÄЩӦÓóÌÐòÕýÔÚµ÷ÓÃÕâ¸ö·þÎñ£¿
µ±Ç°µÄ¼¼ÊõÕ»
´ÓÒ»¿ªÊ¼£¬ÎÒÃǾÍʹÓÃMySQL×÷Ϊ¹ØÏµÊý¾Ý¿â£¬Ê¹ÓÃmemcached×÷Ϊ¼üÖµ´æ´¢£¬Ê¹ÓÃRedis×÷Ϊ¶ÓÁкͺǫ́×÷Òµ´æ´¢¡£

2014Ä꣬ÎÒÃÇÎÞ·¨ÔÙ½«ËùÓÐÊý¾Ý¶¼±£´æÔÚµ¥¸öMySQLʵÀýÖУ¬¼´Ê¹Éý¼¶¸üºÃµÄÓ²¼þÒ²ÎÞ¼ÃÓÚÊ¡£ÎÒÃǾö¶¨Ê¹ÓÃ·ÖÆ¬£¬½«ËùÓÐÊý¾Ý·Ö³É¼¸Ê®¸öÊý¾Ý¿â·ÖƬ¡£·ÖƬ¶ÔÎÒÃÇÀ´ËµºÜ¹ÜÓã¬ÒòΪShopifyµÄÉ̼ÒÊDZ˴˸ôÀëµÄ£¬ËùÒÔÎÒÃÇ¿ÉÒÔ½«Ò»²¿·ÖÉ̼ҷÅÔÚÒ»¸ö·ÖƬÖС£Èç¹ûÉ̼ÒÖ®¼äÐèÒª¹²ÏíÊý¾Ý£¬ÄǾÍÂé·³ÁË£¬ºÃÔÚÎÒÃǵÄÒµÎñûÓÐÕâÑùµÄÐèÇó¡£
·ÖƬΪÎÒÃǽâ¾öÁËÊý¾Ý¿âÈÝÁ¿ÎÊÌ⣬µ«ºÜ¿ìÎÒÃǾͷ¢ÏÖ£¬ÎÒÃǵĻù´¡ÉèÊ©ÖдæÔÚµ¥µã¹ÊÕÏÎÊÌâ¡£ËùÓÐÕâЩ·ÖƬÈÔÔÚʹÓõ¥¸öRedis¡£ÓÐÒ»´Î£¬Redis·¢ÉúÖжϣ¬µ¼ÖÂÕû¸öShopify̱»¾£¬ÎÒÃǺóÀ´³ÆÖ®Îª¡°Redismageddon£¨RedisÊÀ½çÄ©ÈÕ£©¡±¡£Õâ´ÎʹʸøÎÒÃÇÉÏÁËÖØÒªµÄÒ»¿Î£¬¾ÍÊÇÒª±ÜÃâÈÃËùÓеÄShopify·þÎñ¹²Ïíµ¥¸ö×ÊÔ´¡£
¶àÄêÀ´£¬ÎÒÃÇ´Ó·ÖÆ¬×ªÏòÁË¡°pod¡±µÄ¸ÅÄî¡£podÊÇÒ»¸öÍêÈ«¶ÀÁ¢µÄShopify·þÎñʵÀý£¬ËüÓµÓÐ×Ô¼ºµÄÊý¾Ý´æ´¢£¬ÈçMySQL¡¢Redis¡¢memcached¡£podʵÀý¿ÉÒÔÔÚÈκÎÇøÓòÉú³É¡£ÕâÖÖ·½·¨°ïÎÒÃÇÏû³ýÁËÈ«¾ÖµÄÖжÏʹʡ£½ØÖ¹µ½ÏÖÔÚ£¬ÎÒÃÇÓµÓг¬¹ýÒ»°Ù¸öpod£¬²¢ÇÒ´ÓתÏòмܹ¹ÒÔÀ´£¬Ã»ÓÐÄĸöÖØ´óµÄÖжϻáÓ°Ïìµ½Õû¸öShopify¡£ÏÖÔÚµÄÖжÏÖ»»áÓ°Ïìµ¥¸öpod»òÇøÓò¡£

µ±ÎÒÃÇ·¢Õ¹µ½Êý°Ù¸ö·ÖƬºÍpod£¬ºÜÏÔÈ»£¬ÎÒÃÇÐèÒªÒ»¸ö±àÅŲ¿Êð½â¾ö·½°¸¡£½ñÌ죬ÎÒÃÇʹÓÃDocker¡¢KubernetesºÍGoogle
Kubernetes EngineΪеÄpod·ÖÅä×ÊÔ´¡£ÔÚ¸ºÔؾùºâÆ÷·½Ã棬ÎÒÃÇʹÓÃÁËNginx¡¢LuaºÍOpenResty£¬ÎÒÃÇ¿ÉÒÔͨ¹ý½Å±¾À´±àд¸ºÔؾùºâÆ÷¡£
Shopify AdminµÄ¿Í»§¶Ë¾ÀúÁËÒ»¸öÂþ³¤µÄÂó̡£ÎÒÃÇ×ʼʹÓõÄÊÇHTMLÄ£°å¡¢jQueryºÍprototype.js£¬²¢ÓÚ2013Ä꽫ÆäÇ¨ÒÆµ½Batman.js£¬BatmanÊÇÎÒÃÇ×Ô¼º¿ª·¢µÄµ¥Ò³ÃæÓ¦ÓóÌÐò¿ò¼Ü£¨SPA£©¡£È»ºó£¬¾¹ýÖØÐÂÆÀ¹À£¬ÎÒÃÇÓֻص½Á˾²Ì¬HTMLºÍ´¿JavaScript¡£Ëæ×Åǰ¶ËÉú̬ϵͳµÄ²»¶Ï³ÉÊ죬ÎÒÃǾõµÃÊÇʱºòÖØÐÂ˼¿¼ÐµĽâ¾ö·½°¸¡£È¥Ä꣬ÎÒÃÇ¿ªÊ¼½«Shopify
AdminÇ¨ÒÆµ½ReactºÍTypeScript¡£
´ÓʹÓÃjQueryºÍBatmanÒÔÀ´£¬ºÜ¶àÊÂÇé¶¼·¢ÉúÁ˱仯¡£JavaScriptµÄÔËÐÐËÙ¶ÈÔ½À´Ô½¿ì£¬ÎÒÃÇ¿ÉÒÔÇáËɵØÔÚ·þÎñÆ÷ÉÏäÖȾӦÓóÌÐò£¬´Ó¶ø¼õÉÙ¿Í»§¶ËµÄ¹¤×÷Á¿¡£ReactµÄ×ÊÔ´ºÍ¿ª·¢¹¤¾ß±ÈBatmanÒªºÃºÜ¶à¡£ÁíÒ»¸ö·Ç³£ÏÔÖøµÄÇø±ðÊÇ£¬ÎÒÃÇÏÖÔÚÓÐÒ»¸ö¸üºÃµÄ½â¾ö·½°¸¿ÉÒÔÈ·±£ÒµÎñÂß¼²»»áй©µ½¿Í»§¶Ë¡ª¡ªGraphQL¡£Admin³ÉΪÁËÁíÒ»¸öGraphQL¿Í»§¶Ë£¬×ñÑÓëÒÆ¶¯Ó¦ÓÃÏàͬµÄģʽ£ºÃ»ÓÐÊý¾Ý³Ö¾Ã»¯£¬²»ÐèÒª·þÎñÆ÷´¦ÀíÐèÒªÔÚ¿Í»§¶ËÖ®¼ä¹²ÏíµÄÄÚÈÝ£¬ÒÔ¼°¼«Æä¸ßЧµÄ×ÊÔ´»ñÈ¡¡£
ÎÒÃÇÈçºÎ¹¹½¨¡¢²âÊԺͲ¿Êð
Shopifyµ¥Ìå´ó¸ÅÓÐ10Íò¸öµ¥Ôª²âÊÔ£¬ÆäÖд󲿷ÖÉæ¼°µ½·±ÖصÄORMµ÷Óã¬Òò´ËÔËÐеò»ÊǺܿ졣ΪÁ˱£³Ö¿ìËٵĽ»¸¶¹ÜµÀ£¬ÎÒÃÇÔÚCI»ù´¡ÉèÊ©ÉϽøÐÐÁË´óÁ¿Í¶Èë¡£ÎÒÃÇʹÓÃBuildKite×÷ΪCIƽ̨¡£BuildKiteµÄ¶ÀÌØÖ®´¦ÔÚÓÚ£¬Ëü¸ºÔð±àÅŹ¹½¨²¢ÌṩÓû§½çÃæ£¬¶øÓû§¿ÉÒÔÔÚ×Ô¼ºµÄÓ²¼þÉϰ´ÕÕ×Ô¼ºµÄ·½Ê½ÔËÐвâÊÔ¡£

ÎÒÃÇʹÓÃÊý°Ù¸ö²¢ÐеÄCI¹¤×÷Ïß³ÌÀ´ÔËÐÐÕâ10Íò¸ö²âÊÔ£¬ºÄʱ15-20·ÖÖÓ¡£²¢ÐвâÊÔ¼Ó¿ìÁËÎÒÃǵĽ»¸¶¹ý³Ì£¬·ñÔò£¬µ¥¸ö¹¹½¨¿ÉÄÜÐèÒªÊýÌìʱ¼ä¡£ÎÒÃǵÄÊý°ÙÃû¿ª·¢ÈËԱÿÌì¶¼Òª½»¸¶ÐµĹ¦Äܺ͸Ľø£¬Òò´ËÎÒÃDZØÐë±£³Ö¿ìËٵijÖÐø¼¯³É¹ÜµÀ¡£Èç¹û¹¹½¨½á¹ûΪÂÌÉ«£¬¾Í¿ÉÒÔ½«±ä¸ü²¿Êðµ½Éú²ú»·¾³ÖС£ÎÒÃÇûÓÐʹÓÃstaging»ò½ð˿ȸ²¿Êð£¬ÔÚ³öÏÖÎÊÌâʱÎÒÃÇÖ÷ÒªÒÀÀµ¹¦ÄÜ¿ª¹ØºÍ¿ìËٻعö¡£

ShipItÊÇÎÒÃǵIJ¿Ê𹤾ߣ¬ÊÇShopify³ÖÐø½»¸¶µÄºËÐÄ¡£ShipItÊÇÒ»¸ö±àÅäÆ÷£¬¸ºÔðÔËÐк͸ú×ÙÏîÄ¿µÄ²¿Êð½Å±¾¡£ËüÖ§³ÖÖ±½Ó²¿Êðµ½Rubygems¡¢Pip¡¢HerokuºÍCapistrano¡£¶ÔÎÒÃÇÀ´Ëµ£¬Ö÷ÒªÊÇkubernetes-deploy»òCapistrano£¨ÓÃÓÚÒÅÁôÏîÄ¿£©¡£

ÎÒÃÇʹÓÃÉÔ΢µ÷Õû¹ýµÄGitHubÁ÷³Ì£¬¹¦ÄÜ¿ª·¢ÔÚ·ÖÖ§ÉϽøÐУ¬Ö÷·ÖÖ§×÷ΪÉú²ú·¢²¼µÄÕæÊµÀ´Ô´¡£PR×¼±¸¾ÍÐ÷ºó£¬½«ÆäÌí¼Óµ½ShipItµÄºÏ²¢¶ÓÁÐÖС£ºÏ²¢¶ÓÁеÄ×÷ÓÃÊÇ¿ØÖÆ´úÂëºÏ²¢µ½Ö÷·ÖÖ§µÄËÙ¶È¡£ÔÚ·±Ã¦Ê±¶Î£¬»áÓкܶ࿪·¢ÈËÔ±ÏëÒªºÏ²¢PR£¬µ«ÎÒÃÇÓÖ²»Ï£ÍûͬʱÍùϵͳÖÐÒýÈëÌ«¶à±ä¸ü¡£ºÏ²¢¶ÓÁÐÈ·±£Ò»´Î²¿ÊðÖ»°üº¬5-10´Î´úÂëÌá½»£¬ÕâÑù¿ÉÒÔ¸üÇáËɵØÊ¶±ðÎÊÌ⣬ÔÚ²¿ÊðºóÈç¹û³öÏÖÎÊÌâ¿ÉÒÔ¼°Ê±»Ø¹ö¡£
ÎÒÃÇ¿ª·¢ÁËÒ»¸öä¯ÀÀÆ÷²å¼þ£¬Èúϲ¢¶ÓÁÐÓëGitHubÉϵĺϲ¢°´Å¥ºÜºÃµØ½áºÏÔÚÒ»Æð£º

ShipItºÍkubernetes-deploy¶¼ÊÇ¿ªÔ´µÄ£¬ºÜ¶à¹«Ë¾Ò²²ÉÓÃÁËÎÒÃǵÄÁ÷³Ì²¢ÇÒÈ¡µÃÁ˳ɹ¦¡£
ºóÐøµÄÌôÕ½
ÔÚÉè¼ÆShopifyµÄÿһ¸öϵͳʱ¶¼±ØÐ뿼Âǵ½ÉìËõÐÔ£¬Í¬Ê±»¹ÒªÈÃÈ˸оõÊÇÔÚ¿ª·¢¾µäµÄRailsÓ¦ÓóÌÐò¡£ÎÒÃÇΪ´Ë¸¶³öÁËÁîÈËÄÑÒÔÖÃÐŵŤ×÷Á¿¡£¶ÔÓÚ½øÐÐÊý¾Ý¿âÇ¨ÒÆµÄ¿ª·¢ÈËÔ±À´Ëµ£¬Õû¸ö¹ý³Ì¿´ÆðÀ´¾ÍÏñÇ¨ÒÆÆäËûRailsÓ¦ÓóÌÐòÒ»Ñù£¬µ«Êµ¼ÊÉÏ£¬ÏµÍ³½«Ç¨ÒÆ×÷ÒµÒì²½Ó¦Óõ½100¶à¸öÊý¾Ý¿â·ÖƬÉÏ£¬Í£»úʱ¼äΪÁã¡£ÎÒÃǵĻù´¡ÉèÊ©µÄÆäËû·½ÃæÒ²ÊÇÀàËÆ£¬´ÓCI¡¢²âÊÔµ½²¿Êð¡£
ÔÚÉú²ú¹¤³Ì·½Ã棬ÎÒÃǸ¶³öÁ˺ܶàŬÁ¦½«»ù´¡ÉèÊ©Ç¨ÒÆµ½Kubernetes¡£ÎÒÃDz»µÃ²»¶ÔһЩ·½·¨ºÍÉè¼Æ¾ö²ß×ö³öÆÀ¹À£¬ÒòΪËüÃÇ»¹Ã»ÓÐÎªÔÆ»·¾³×öºÃ×¼±¸¡£Óë´Ëͬʱ£¬ÎÒÃÇÔÚKubernetesÉϵÄͶÈ뿪ʼ»ñµÃ»Ø±¨¡£ÒòΪ֮ǰÎÒ»¨Á˺ü¸ÌìдChefÊֲᣬÏÖÔÚÖ»ÐèÒªÔÙ¶ÔKubernetesµÄYAMLÅäÖÃÎļþ×öһЩÐ޸ľͿÉÒÔÁË¡£ÎÒÏ£ÍûÎÒÃǵÄKubernetes»ù½ð»áÄܹ»ÈÕÇ÷³ÉÊ죬ΪÎÒÃÇÌṩ¸ü¶àÀ©Õ¹µÄ¿ÉÄÜÐÔ¡£
ͨ¹ýʹÓÃSemianºÍToxiproxyµÈ¹¤¾ß£¬ÎÒÃÇÈõ¥ÌåÓ¦Óþ߱¸Á˸ü¸ßµÄ¿É¿¿ÐԺ͵¯ÐÔ¡£Óë´Ëͬʱ£¬ÎÒÃÇ»¹¹ÜÀí׏«Ë¾µÄÆäËûÒ»°Ù¸ö·þÎñ¡ª¡ªÆäÖдó¶àÊýʹÓÃÁËRails¡£ÎÒÃǽèÖúServicesDBÀ´È·±£ËüÃǶ¼Ê¹ÓÃÁËÓëµ¥ÌåÏàͬµÄģʽ£¬ÈÃÎÒÃÇ´Ó´ó¹æÄ£ÔËÐÐRailsÓ¦ÓóÌÐòÖÐѧµ½µÄ¾Ñé½Ìѵ·¢»Ó×÷Óá£
ÕâЩ·þÎñÖ®¼ä»¹ÐèÒªÒÔijÖÖ·½Ê½·¢Éú½»»¥£¬ÖÁÓÚʹÓúÎÖÖ·½Ê½ÓÉËüÃÇ×ÔÐоö¶¨¡£ÓÐЩ·þÎñʹÓÃÁËKafka£¬ÓÐЩÔòʹÓûùÓÚHTTPµÄREST
API¡£×î½ü£¬ÎÒÃÇÒ»Ö±ÔÚѰÕÒÊÊÓÃÓÚÕû¸öShopifyµÄRPCºÍ·þÎñÍø¸ñ½â¾ö·½°¸¡£ÎÒÏ£ÍûÔÚ½ÓÏÂÀ´µÄÒ»ÄêÖУ¬Ó¦ÓóÌÐòÄܹ»ÒԾ߱¸µ¯ÐԺͿÉÀ©Õ¹ÐԵķ½Ê½½øÐÐͨÐÅ¡£
|