±à¼ÍƼö: |
±¾ÆªÄÚÈÝÖ÷ÒªÌÖÂÛµÄÊÇ
Serverless ¼Ü¹¹ÓëÆäʼþ¹æ·¶µÄ»ù´¡ÔÔò£¬Ï£Íû±¾ÎĶԴó¼ÒÓаïÖú ¡£
À´×ÔÓÚsegmentfault£¬,ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
»ù´¡·þÎñ¼Ü¹¹
Ê×ÏÈ£¬ÎÒÃÇÏÈÀ´Á˽âÏÂÔÚ HTTP/Web ³¡¾°ÏÂÎÒÃǵĵäÐ͵ÄWEB³¡¾°ÊÇÔõÑùµÄ£º

ÕâÀÎÒÃDz»ÄÑ¿´³öµäÐ͵ÄWeb³¡¾°ÆäʵÊÇÓÉÈý´ó¿éÄÚÈÝ£¬¿Í»§¶Ë£¬·þÎñÆ÷£¬Êý¾Ý¿â×é³É¡£¿Í»§¶ËÔÚ·þÎñÆ÷²àͨ¹ýÀàÐÍ
apache£¬nginx µÈ´úÀí·þÎñÆ÷À´ÇëÇóÊý¾Ý£¬´úÀí·þÎñÆ÷ÓÖͨ¹ýÊý¾Ý¿âÀ´Ð´Èë»òÀÈ¡Êý¾Ý×ÊÁÏ¡£Õâ¸öºÜ¼òµ¥£¬Ò²ÊÇÎÒÃÇ×î³£ÓõÄ
Web ³¡¾°¡£
ÕâÀïÃæ·þÎñÆ÷ÖпÉÄÜÉæ¼°Â·ÓɹæÔò£¬¼øÈ¨Âß¼ÒÔ¼°ÆäËû¸÷ÀิÔÓµÄÒµÎñ´úÂ룬ͬʱ£¬¿ª·¢ÍŶÓÒª¸¶³öºÜ´óµÄ¾«Á¦ÔÚÕâ¸ö·þÎñÆ÷µÄÔËάÉÏÃæ£¬°üÀ¨¿Í»§Á¿Í»È»Ôö¶àʱÊÇ·ñÐèÒªÀ©ÈÝ·þÎñÆ÷£¿·þÎñÆ÷ÉϵĽű¾£¬ÒµÎñ´úÂëµÈÊÇ·ñ»¹ÔÚ½¡¿µÔËÐУ¿ÊÇ·ñÓкڿÍÔÚ²»¶ÏµØ¶Ô·þÎñÆ÷·¢Æð¹¥»÷£¿
Serverless·þÎñ¼Ü¹¹
ÄÇô½ÓÏÂÀ´£¬ÎÒÃÇÀ´¿´Ï Serverless ·þÎñÊÇÈçºÎÇëÇóÊý¾ÝµÄ°É£º

Serverless ³¡¾°Ï£¬¿Í»§¶ËÐèҪͨ¹ý API Íø¹Ø Baas À´·ÃÎʺ¯Êý FaaS ·þÎñ£¬È»ºóÔÚͨ¹ýº¯Êý¼ÆËã×öÊý¾Ý¿âÁ´½ÓʵÏÖÊý¾Ý¿âµÄдÈëºÍÀÈ¡¡£
µ±¿Í»§¶ËºÍÊý¾Ý¿âδ·¢Éú±äµÄǰÌáÏ£¬·þÎñÆ÷±ä»¯¾Þ´ó£¬Ö®Ç°ÐèÒª¿ª·¢ÍŶÓά»¤µÄ·ÓÉÄ£¿éÒÔ¼°¼øÈ¨Ä£¿é¶¼½«½ÓÈë·þÎñÉÌÌṩµÄ
API Íø¹ØÏµÍ³ÒÔ¼°¼øÈ¨ÏµÍ³£¬¿ª·¢ÍŶÓÎÞÐëÔÙά»¤ÕâÁ½²¿·ÖµÄÒµÎñ´úÂ룬ֻÐèÒª³ÖÐøÎ¬»¤Ïà¹Ø¹æÔò¼´¿É¡£Í¬Ê±ÒµÎñ´úÂëÒ²±»²ð·Ö³ÉÁ˺¯ÊýÁ£¶È£¬²»Í¬º¯Êý±íʾ²»Í¬µÄ¹¦ÄÜ¡£
´ÓÉÏÃæµÄÀý×ÓÖУ¬ÎÒÃDz»ÄÑ·¢ÏÖ£¬Æäʵһ¸öÍêÕûµÄ Serverless ÇëÇóÆäʵÊÇÓÐÁ½´ó¿éµÄ£¬¼´ÎÒÃǵÄ
Faas ·þÎñºÍÎÒÃÇµÄ BaaS ·þÎñ¡£ÄÇô£¬¼òµ¥ÐðÊöÏ Serverless£¬ÆäʵÓÉÁ½²¿·Ö×é³ÉµÄ£¬¼´ÎÒÃǵÄ
Faas+Baas¡£

Serverless ¼Ü¹¹ºËÐÄ
Á˽âÍêÕûÌå Serverless µÄÇé¿ö£¬ÎÒÃÇÀ´¿´Ï´«Í³ Faas µÄ»ù´¡¼Ü¹¹£¬Æäʵ´«Í³ Faas
×î¹Ø¼üµÄºËÐĸÅÄîÊÇÎÒÃǵĵ÷Óã¬ÎÒÃÇ¿ÉÒÔͨ¹ý Event Sources ʼþÔ´µ÷ÓÃÁíÒ»¸öº¯ÊýµÄ Function
À´ÊµÏÖµ¥¸öº¯ÊýµÄÀ©Õ¹£¬ÕûÌåµÄÔÀíͼÈçÏÂËùʾ£º

Event Sources£¨Ê¼þÔ´£©£º½« Event ´¥·¢»òÁ÷ʽ´«Êäµ½Ò»¸ö»ò¶à¸öº¯ÊýʵÀýÖУ»
Function Instance£¨º¯ÊýʵÀý£©£º¿ÉÒÔ¸ù¾ÝÐèÒª£¬½«µ¥¸öº¯Êý/΢·þÎñ½øÐÐÀ©Õ¹£»
FaaS Controller£¨Faas ¿ØÖÆÆ÷£©£º²¿Ê𣬿ØÖƺͼàÊÓº¯ÊýʵÀý¼°ÆäÀ´Ô´
ƽ̨·þÎñ£ºFaaS ½â¾ö·½°¸Ê¹ÓõÄÒ»°ã¼¯Èº»òÔÆ·þÎñ£¨ÓÐʱ³ÆÎªºó¶Ë¼´·þÎñ£¬»òÕß BaaS µÈ£©
Serverless ¼Ü¹¹ÖеÄʼþ
ÕâÑù£¬ÎÒÃÇÒý³ö³öÀ´ÁíÒ»¸ö¸ÅÄ¾ÍÊÇʼþ£¬Ê²Ã´ÊÇʼþ£¿Ê¼þÊÇÔõô¶¨ÒåµÄ£¿
ÎÒÃÇ¿ÉÒÔÒý³öÀ´ CloudEvents £¬ËüÊÇ?Öֹ淶£¬?ÓÚÒÔͨ?¸ñʽÃèÊöʼþÊý¾Ý£¬ÒÔÌṩ¿ç·þÎñ¡¢Æ½Ì¨ºÍϵͳµÄ½»»¥ÄÜ?¡£
ʼþ¸ñʽָ¶¨ÁËÈçºÎʹ?ijЩ±àÂë¸ñʽÀ´ÐòÁл¯ CloudEvent¡£?³ÖÕâЩ±àÂëµÄ¼æÈÝ CloudEvents
ʵÏÖ±ØÐë×ñÑÔÚÏàÓ¦µÄʼþ¸ñʽÖÐÖ¸¶¨µÄ±àÂë¹æÔò¡£ËùÓÐʵÏÖ¶¼±ØÐë?³Ö JSON ¸ñʽ¡£
ʼþ (Event) ?´¦²»ÔÚ,È»?ÿ¸öʼþÔ´²ú?µÄʼþ¸÷²»Ïàͬ¡£ÓÉÓÚȱ·¦Ê¼þµÄͳ?ÃèÊö,¶ÔÓÚʼþµÄ¿ª·¢ÕßÀ´Ëµ,ÐèÒª²»¶ÏµØÖظ´Ñ§Ï°ÈçºÎÏû·Ñ²»Í¬ÀàÐ͵Äʼþ¡£
ÀýÈçͬ?¸ö?ÉÌµÄ CMQ ²ú?µÄʼþºÍ API ?¹Ø´¥·¢Æ÷²ú?µÄʼþÊDz»Í¬µÄ,²»Í¬?ÉÌµÄ API ?¹Ø´¥·¢Æ÷²ú?µÄʼþÒ²¿ÉÄÜÊDz»Í¬µÄ¡£
±ØÐëµÄʼþÊôÐÔ£¨REQUIRED attributes£©
ID - ʶ±ðʼþ
Source - ʶ±ð·¢?ʼþµÄÉÏÏÂ?
Specversion - ʼþʹ?¸Ã°æ±¾µÄ cloudEvents ¹æ·¶
Type - ·¢?Ïà¹ØÊ¼þµÄÀàÐÍÖµ
Data - DataµÄÊý¾ÝÄÚÈݸñʽ
Subject -ʼþ¿ª·¢ÕßÓйصÄʼþÉÏÏÂ?Ö÷Ìâ
Tiem - ʼþ·¢?µÄʼþ
Serverless ¼Ü¹¹Öеĵ÷ÓÃ
ÁÄÍêÎÒÃǵÄʼþ£¬ÎÒÃÇÀ´Ì¸Ì¸ÁíÍâÒ»¸öºËÐĵ÷Óã¬ÆäʵÔÚ Serverless ¼Ü¹¹ÖУ¬µ÷Óüòµ¥·ÖΪËÄÖÖ£º
¿ÉÒÔ¸ù¾Ý²»Í¬µÄÓÃÀý´Ó²»Í¬µÄʼþÔ´µ÷Óú¯Êý£¬ÀýÈ磺
ͬ²½ÇëÇó£¨Req / Rep£©£¬ÀýÈç HTTP ÇëÇó£¬gRPC µ÷ÓÃ
¿Í»§·¢³öÇëÇ󲢵ȴýÁ¢¼´ÏìÓ¦¡£
Òì²½ÏûÏ¢¶ÓÁÐÇëÇ󣨷¢²¼/¶©ÔÄ£©£¬ÀýÈç RabbitMQ£¬AWS SNS£¬MQTT£¬µç×ÓÓʼþ£¬¶ÔÏó£¨S3£©¸ü¸Ä£¬¼Æ»®Ê¼þ£¨Èç
CRON ×÷Òµ£©
ÏûÏ¢·¢²¼µ½½»»»»ú²¢·Ö·¢¸ø¶©ÔÄÕߣ»
ûÓÐÑϸñµÄÏûÏ¢ÅÅÐò£¬ÒÔµ¥´Î´¦ÀíΪÁ£¶È¡£
ÏûÏ¢/¼Ç¼Á÷£ºÀýÈç Kafka£¬AWS Kinesis£¬AWS DynamoDB Streams£¬Êý¾Ý¿â
CDC
Ò»×éÓÐÐòµÄÏûÏ¢/¼Ç¼£¨±ØÐ밴˳Ðò´¦Àí£©£»
ͨ³££¬Ã¿¸ö·ÖƬʹÓõ¥¸ö¹¤×÷³ÌÐò£¨·ÖƬÏû·ÑÕߣ©½«Á÷·ÖƬΪ¶à¸ö·ÖÇø/·ÖƬ£»
¿ÉÒÔ´ÓÏûÏ¢£¬Êý¾Ý¿â¸üУ¨ÈÕÖ¾£©»òÎļþ£¨ÀýÈç CSV£¬Json£¬Parquet£©Éú³ÉÁ÷£»
ʼþ¿ÉÒÔÍÆË͵½º¯ÊýÔËÐÐʱ»òÓɺ¯ÊýÔËÐÐʱÀ¶¯¡£
ÅúÁ¿×÷Òµ£¬ÀýÈçETL×÷Òµ£¬·Ö²¼Ê½»úÆ÷ѧϰ£¬HPC Ä£Äâ
×÷Òµ±»µ÷¶È»òÌá½»µ½¶ÓÁУ¬²¢ÔÚÔËÐÐʱʹÓò¢ÐеĶà¸öº¯ÊýʵÀý½øÐд¦Àí£¬Ã¿¸öº¯ÊýʵÀý´¦Àí¹¤×÷¼¯µÄÒ»¸ö»ò¶à¸ö²¿·Ö£¨ÈÎÎñ£©
²»Í¬ÀàÐ͵ÄʼþÔ´°üÀ¨£º
ʼþºÍÏûÏ¢·þÎñ£¬ÀýÈ磺RabbitMQ£¬MQTT£¬SNS
´æ´¢·þÎñ£¬ÀýÈ磺COS£¬CDB£¬PGSQL£¬Cognito£¬Google ÔÆ´æ´¢£¬
¶Ëµã·þÎñ£¬ÀýÈ磺ÎïÁªÍø£¬HTTP Íø¹Ø£¬Òƶ¯É豸£¬Alexa£¬
ÅäÖô洢¿â£¬ÀýÈ磺Git£¬CodeCommit
ʹÓÃÌØ¶¨ÓÚÓïÑÔ SDK µÄÓû§Ó¦ÓóÌÐò
¼Æ»®Ê¼þ£¬¶¨ÆÚÆôÓú¯Êýµ÷Óá£
ËäȻÿ¸öʼþÌṩµÄÊý¾Ý¿ÉÄÜÔÚ²»Í¬µÄʼþÔ´Ö®¼äÓÐËù²»Í¬£¬µ«Ê¼þ½á¹¹Ó¦¸ÃÊÇͨÓõģ¬Äܹ»·â×°¹ØÓÚʼþÔ´µÄÌØ¶¨ÐÅÏ¢¡£
×ܽá
ÈçÉϾÍÊǹØÓÚ Serverless ¼Ü¹¹Óëʼþ¹æ·¶µÄÒ»µã˼¿¼£¬Ï£Íû¿ÉÒÔ¸øµ½´ó¼ÒһЩ°ïÖú¡£
|