{ "version": "https://jsonfeed.org/version/1", "title": "Serverless", "description": "", "home_page_url": "go/serverless", "feed_url": "feed/serverless.json", "icon": "https://cdn.v2ex.com/navatar/54a3/67d6/985_large.png?m=1511094951", "favicon": "https://cdn.v2ex.com/navatar/54a3/67d6/985_normal.png?m=1511094951", "items": [ { "author": { "url": "member/grayMondeo", "name": "grayMondeo", "avatar": "https://cdn.v2ex.com/gravatar/46baacd8aeebe120b336b535b8872734?s=73&d=retro" }, "url": "t/1101313", "title": "\u5927\u9646\u7684 serverless \u670d\u52a1\u6700\u8fd1\u51e0\u5e74\u53d1\u5c55\u5982\u4f55\uff1f", "id": "t/1101313", "date_published": "2024-12-30T08:37:30+00:00", "content_html": "

19 \u5e74\u8d77 \u817e\u8baf \u963f\u91cc \u767e\u5ea6 \u90fd\u7ade\u76f8\u63a8\u51fa\u81ea\u5df1\u7684 serverless \u670d\u52a1\uff0c\u5982\u4eca 5 \u5e74\u8fc7\u53bb\u4e86\uff0c\u5728\u56fd\u5185\u5e02\u573a\u7684\u53d1\u5c55\u72b6\u51b5\u5982\u4f55\uff1f\n\u56fd\u5916 AWS Vercel Google \u7684\u540c\u7c7b\u4ea7\u54c1\u5e02\u573a\u4efd\u989d\u5927\u5417

\n" }, { "author": { "url": "member/AoEiuV020JP", "name": "AoEiuV020JP", "avatar": "https://cdn.v2ex.com/avatar/0ad7/2c6c/626874_large.png?m=1775034903" }, "url": "t/1085299", "date_modified": "2024-10-31T05:48:19+00:00", "content_html": "\u4eca\u5929\uff0c\u5c31\u4eca\u5929 10.31 \uff0c\u6536\u5230\u534e\u4e3a\u4e91\u7684\u77ed\u4fe1\u8bf4 serverless \u6bcf\u6708\u514d\u8d39\u767e\u4e07\u6b21\uff0c
\u6211\u4ee5\u4e3a\u96be\u9053\u4ec0\u4e48\u65f6\u5019\u56fd\u5185 serveeless \u7ec8\u4e8e\u548c\u56fd\u9645\u63a5\u8f68\u4e86\uff1f
\u70b9\u5f00\u94fe\u63a5\u5c31\u770b\u5230\"\u9650\u65f6\u6bcf\u6708\u524d 100 \u4e07\u6b21\u8c03\u7528\u514d\u8d39\"\uff0c
\u90a3\u4e48\u9650\u65f6\u591a\u4e45\u5462\uff1f\u5230\u5904\u70b9\u70b9\u70b9\u76f4\u5230\u5f00\u901a\u4e86\u770b\u6587\u6863\u4e5f\u6ca1\u627e\u5230\u9650\u65f6\u591a\u4e45\uff0c
\u6700\u540e\u5728\u8d44\u6e90\u5305\u8fd9\u91cc\u770b\u5230\u514d\u8d39\u7684\u989d\u5ea6\u5c45\u7136\u4e5f\u7b97\u8d44\u6e90\u5305\uff0c\u6d3b\u52a8\u65f6\u95f4\u5c31\u4eca\u5929 10.31 \u622a\u6b62\uff0c\u4e5f\u5c31\u662f\u8bf4\u8fd9\u4e2a\"\u6bcf\u6708\"\uff0c\u660e\u5929\u5c31\u6ca1\u4e86\uff1f

\u7406\u667a\u8ba4\u4e3a\u4e0d\u53ef\u80fd\u8fd9\u4e48\u79bb\u8c31\uff0c\u4f46\u662f\u53c8\u6000\u7591\u5382\u5546\u826f\u5fc3\uff0c

\u6709\u6ca1\u6709\u719f\u6089\u8fd9\u5757\u7684\u56fd\u5185 serveless \u6709\u771f\u514d\u8d39\u7684\u4e86\u5417\uff0c\u6211\u6ca1\u6709\u521a\u9700\uff0c\u4f46\u662f\u514d\u8d39\u7684\u8bdd\u4f1a\u60f3\u8bd5\u8bd5\uff0c


", "date_published": "2024-10-31T05:48:04+00:00", "title": "\u5237\u65b0\u4e0b\u9650\uff1f\u514d\u8d39\u4e00\u4e2a\u6708\u4e5f\u80fd\u8bf4\u6210\u6bcf\u6708\u514d\u8d39", "id": "t/1085299" }, { "author": { "url": "member/soclearn", "name": "soclearn", "avatar": "https://cdn.v2ex.com/gravatar/e74f5c447074cfb7901e0ec35cd3c5ec?s=73&d=retro" }, "url": "t/1016644", "date_modified": "2024-02-19T12:16:24+00:00", "content_html": "

\u4e2a\u4eba\u66f4\u559c\u6b22 cf \u7684 workerd \uff0c\u81ea\u5e26\u8bed\u8a00\u548c httpserver/proxy \uff0c\u5728\u8fd9\u4e2a\u4e2d\u5fc3\u70b9\u521b\u65b0\u5de5\u4f5c\u591a
\nopenfaas plonk \u66f4\u63a5\u8fd1 ci \u548c\u96c6\u7fa4\u65b9\u9762\u7684\u5de5\u4f5c\uff0c\u4f38\u7f29/httpserver \u5e94\u7528\u670d\u52a1\u5168\u662f\u7528\u5bb9\u5668\u6765\u5b8c\u6210\u7684\uff0c\u6709\u70b9\u91cd\u548c\u504f\u79bb\u4e2d\u5fc3

\n", "date_published": "2024-02-19T12:15:14+00:00", "title": "\u65e0\u670d\u52a1\u67b6\u6784\u65b9\u9762\uff0c\u662f cf \u7684 workerd \u8fd8\u662f openfaas \u7eaf\u5bb9\u5668\u5806\u6808\u7248\u7684\u65b9\u6848\u597d\uff1f", "id": "t/1016644" }, { "author": { "url": "member/himeson", "name": "himeson", "avatar": "https://cdn.v2ex.com/gravatar/6160560b164a9bb9b31839fc829134f3?s=73&d=retro" }, "url": "t/978939", "title": "\u56fd\u5185\u80fd\u7528\u771f\u6b63\u6309\u7528\u91cf\u6536\u8d39\u7684 serverless \u6570\u636e\u5e93", "id": "t/978939", "date_published": "2023-10-04T14:49:16+00:00", "content_html": "\u8f6c\u4e86\u4e00\u5708\uff0c\u597d\u50cf\u56fd\u5185\u7684\u670d\u52a1\u5546\u771f\u6b63\u80fd\u7528\u7684 serverless \u6570\u636e\u5e93\u6ca1\u6709\u3002\u6709\u4e00\u4e2a\u817e\u8baf\u4e91\u7684 postgres serverless \u7248\u8fd8\u5728 beta \u7248\u672c\u3002\u4f46\u73b0\u5728\u5e7f\u5dde\u533a\u4e0d\u7ed9\u5f00\u65b0\u5b9e\u4f8b\u4e86\u3002nodql \u76f8\u5173\u7684\uff0c\u53c8\u53ea\u6709 aws \u7684 dynamodb \uff0c\u867d\u7136\u80fd\u7528\uff0c\u548c\u597d\u7528\u3002\u4f46\u76f8\u5173\u7684\u4f7f\u7528\u903b\u8f91\u4e0d\u5bb9\u6613\u8fc1\u79fb\uff0c\u65e7\u6709\u7684\u9879\u76ee\u8981\u8fc1\u79fb\u5230 dynamodb \u9700\u8981\u6539\u5199\u597d\u591a\u4ee3\u7801\u3002
\u6709\u6ca1\u6709\u76f8\u5173\u7684\u6570\u636e\u5e93\u4ecb\u7ecd\u554a\uff0c\u6700\u597d\u53ef\u4ee5\u505a\u5230 dynamodb \u8fd9\u6837\u4e0d\u7528\u4e0d\u6536\u8d39\uff0c\u4f7f\u7528\u4e86\u624d\u6536\u8d39\u7684" }, { "author": { "url": "member/witcat", "name": "witcat", "avatar": "https://cdn.v2ex.com/avatar/9082/698d/216763_large.png?m=1703437872" }, "url": "t/956916", "date_modified": "2023-07-14T20:29:36+00:00", "content_html": "\u6ca1\u7528 serverless \u4e4b\u524d\uff0c\u770b\u5230\u817e\u8baf\u4e91\u548c serverless framework \u5408\u4f5c\u3002
\u6211\u8fd8\u4ee5\u4e3a\u5fc5\u987b\u548c\u4ed6\u4eec\u5408\u4f5c\u624d\u80fd\u53eb xx \u4e91 serverless \uff0c\u800c\u4e14 serverless \u4ee3\u7801\u53ea\u80fd\u5728 serverless framework \u4e0b\u5f00\u53d1\u3002\ud83d\ude02
\u516c\u53f8\u540d\u548c\u914d\u7f6e\u6587\u4ef6\u90fd\u76f4\u63a5\u662f serverless \uff0c\u8bef\u5bfc\u6027\u592a\u5f3a\u4e86\u3002
\u73b0\u5728\u672c\u5730\u5f00\u53d1\u548c\u6253\u5305\u662f\u7ed1\u5b9a\u5230 serverless framework \u7684\u751f\u6001\u4e0b\u4e86\u3002
\u60f3\u95ee\u4e0b\u90e8\u7f72\u5927\u5bb6\u7528\u7684\u662f\u4ec0\u4e48\u5de5\u5177\u554a\uff0c\u6211\u73b0\u5728\u662f\u5728\u7f51\u9875\u4e0a\u4e0a\u4f20 zip \u5305\u3002", "date_published": "2023-07-14T20:28:01+00:00", "title": "\u539f\u6765 serverless framework \u53ea\u662f\u4e00\u4e2a\u5f00\u53d1\u8005\u5de5\u5177\u554a", "id": "t/956916" }, { "author": { "url": "member/sdhou", "name": "sdhou", "avatar": "https://cdn.v2ex.com/gravatar/7208e89480ac8893f6a75afcffdeb6e6?s=73&d=retro" }, "url": "t/904550", "date_modified": "2022-12-25T03:31:46+00:00", "content_html": "

\u8fd8\u6709\u90a3\u4e48\u591a model service helper \u600e\u4e48\u6574\uff1f\n\u662f\u4e0d\u662f\u5c31\u4e0d\u80fd\u5355\u72ec\u63a5\u53e3\u4e0a\u7ebf\u4e86\uff1f\n\u628a\u6574\u4e2a\u9879\u76ee\u91cc n \u591a\u63a5\u53e3\u4e00\u8d77\u6253\u6210\u955c\u50cf\u53d1\u5e03\uff1f

\n", "date_published": "2022-12-25T03:30:48+00:00", "title": "\u8bf7\u6559\u5927\u5bb6\u8bbf\u95ee\u6570\u636e\u5e93\u7684\u63a5\u53e3\u7528\u8fd9\u4e1c\u897f\u600e\u4e48\u6574\uff1f", "id": "t/904550" }, { "author": { "url": "member/xuyifei", "name": "xuyifei", "avatar": "https://cdn.v2ex.com/avatar/e861/2eaf/56484_large.png?m=1608171095" }, "url": "t/897003", "title": "\u6c42\u63a8\u8350\u5b66\u4e60\u57fa\u4e8e serverless, \u6700\u597d\u662f\u817e\u8baf\u4e91\u7684 cloudbase \u5f00\u53d1\u7684\u5f00\u6e90\u9879\u76ee", "id": "t/897003", "date_published": "2022-11-22T02:43:15+00:00", "content_html": "" }, { "author": { "url": "member/damngoto", "name": "damngoto", "avatar": "https://cdn.v2ex.com/avatar/6244/8937/160079_large.png?m=1659004040" }, "url": "t/868715", "date_modified": "2022-07-26T02:20:35+00:00", "content_html": "

\u653e\u5230\u6570\u636e\u5e93\u867d\u7136\u67e5\u8be2\u5feb\uff0c\u4f46\u662f\u6210\u672c\u5bf9\u6211\u6765\u8bf4\u9ad8\u4e86\uff1a\uff09

\n

\u653e\u5230 csv \u91cc\u9762\u8d39\u5185\u5b58\uff0cserverless \u670d\u52a1\u7684\u8fd8\u4e0d\u592a\u597d\u8c03\u7528\u3002

\n

Apache \u6709\u4e2a parquet \u683c\u5f0f\uff0c\u4e0d\u77e5\u9053\u8fd9\u4e2a\u91cf\u7ea7\u67e5\u8be2\u901f\u5ea6\u600e\u4e48\u6837\u3002

\n", "date_published": "2022-07-26T02:19:42+00:00", "title": "\u51e0\u767e\u4e07\u6761\u66f4\u65b0\u9891\u7387\u5f88\u4f4e\u7684\u6570\u636e\u7528\u4ec0\u4e48\u4f4e\uff08\u96f6\uff09\u6210\u672c\u7684\u5b58\u50a8\u65b9\u4fbf\u67e5\u8be2\uff1f", "id": "t/868715" }, { "author": { "url": "member/estk", "name": "estk", "avatar": "https://cdn.v2ex.com/avatar/12f5/d602/576589_large.png?m=1704726369" }, "url": "t/863766", "title": "Cloudflare Workers \u8fd4\u56de request method\u3001headers\u3001body\uff0c\u7528\u4e8e\u5f00\u53d1\u81ea\u6d4b\u8bf7\u6c42\u4fe1\u606f", "id": "t/863766", "date_published": "2022-07-03T08:42:00+00:00", "content_html": "
addEventListener(\"fetch\", event => {\n event.respondWith(handleRequest(event.request))\n})\n\nasync function handleRequest(request) {\n let req = '<table>\\n'\n req += `<tr>\\n <td>method</td>\\n <td>${request.method}</td>\\n</tr>\\n`\n request.headers.forEach((value, key)=>{\n req += `<tr>\\n <td>${key}</td>\\n <td>${value}</td>\\n</tr>\\n`\n })\n req += `<tr>\\n <td>body</td>\\n <td>${await request.text()}</td>\\n</tr>\\n`\n req += '</table>'\n return new Response(req, {\n headers: {\n 'content-type': 'text/html'\n }\n })\n}\n
\n

\"\"

\n" }, { "author": { "url": "member/estk", "name": "estk", "avatar": "https://cdn.v2ex.com/avatar/12f5/d602/576589_large.png?m=1704726369" }, "url": "t/862194", "date_modified": "2022-06-25T13:54:43+00:00", "content_html": "

\u6709\u65f6\u524d\u7aef\u5728\u8c03\u7528\u4e00\u4e9b\u7b2c\u4e09\u65b9 API \u65f6\u4f1a\u9047\u5230\u8de8\u57df\u95ee\u9898\uff0c\u901a\u8fc7\u53cd\u4ee3\u5e76\u5728 headers \u91cc\u914d\u7f6e\u5373\u53ef\u8de8\u57df

\n
async function handleRequest(request) {\n const urlObj = new URL(request.url)\n let url = urlObj.href.replace(urlObj.origin+'/', '').trim()\n if (0!==url.indexOf('https://') && 0===url.indexOf('https:')) {\n url = url.replace('https:/', 'https://')\n } else if (0!==url.indexOf('http://') && 0===url.indexOf('http:')) {\n url = url.replace('http:/', 'http://')\n }\n const respOnse= await fetch(url, {\n headers: request.headers,\n body: request.body,\n method: request.method\n })\n let respHeaders = {}\n response.headers.forEach((value, key)=>respHeaders[key] = value)\n respHeaders['Access-Control-Allow-Origin'] = '*'\n return new Response( await response.blob() , {\n headers: respHeaders,\n status: response.status\n });\n}\naddEventListener('fetch', event => {\n return event.respondWith(handleRequest(event.request))\n})\n
\n

\u4f7f\u7528\u65b9\u6cd5\uff1a

\n
xxx.workers.dev/https://guge.com\n
\n

\u53ef\u7528\u4e8e\u53cd\u4ee3\u7f51\u9875\u3001json \u751a\u81f3 image \u7b49\u6587\u4ef6

\n", "date_published": "2022-06-25T13:52:24+00:00", "title": "Cloudflare Workers \u53cd\u5411\u4ee3\u7406+\u8de8\u57df", "id": "t/862194" }, { "author": { "url": "member/estk", "name": "estk", "avatar": "https://cdn.v2ex.com/avatar/12f5/d602/576589_large.png?m=1704726369" }, "url": "t/860363", "title": "6 \u6708 19 \u65e5 \u5468\u65e5\uff0c\u534e\u4e3a Serverless \u7b49\u4f60\u6765\u6367\u573a", "id": "t/860363", "date_published": "2022-06-17T10:54:33+00:00", "content_html": "

\"\"

\n" }, { "author": { "url": "member/milk97", "name": "milk97", "avatar": "https://cdn.v2ex.com/avatar/5046/340e/287791_large.png?m=1754902139" }, "url": "t/855589", "title": "\u4e3a\u4ec0\u4e48 Javascript \u5728\u4e91\u670d\u52a1\u5546\u7684 serverless functions \u670d\u52a1\u4e2d\u51e0\u4e4e\u90fd\u6709\u652f\u6301\uff1f", "id": "t/855589", "date_published": "2022-05-27T01:55:14+00:00", "content_html": "

\u6700\u8fd1\u89c2\u5bdf\u5230\u5927\u591a\u6570\u4e91\u670d\u52a1\u5546\u6bd4\u5982\u817e\u8baf\u4e91\u51fd\u6570\uff0cAzure functions \uff0cCloudflare workers \u548c Netlify functions \u90fd\u652f\u6301 Javascript \uff0c\u5bf9\u5176\u4ed6\u8bed\u8a00\u7684\u652f\u6301\u6bd4\u8f83\u6709\u9650\u3002\uff08\u5934\u90e8\u7684\u5927\u5382\u7684 serverless function \u652f\u6301\u7684\u8bed\u8a00\u90fd\u5f88\u591a\uff0c\u4f46\u662f\u540e\u9762\u7684\u4f3c\u4e4e\u5bf9\u975e Javascript \u7684\u652f\u6301\u6bd4\u8f83\u5c11\uff09

\n

\u5982 Cloudflare workers \u7684 runtime \u4f7f\u7528\u7684\u662f v8 \u5f15\u64ce\uff0c\u6240\u4ee5\u53ea\u652f\u6301 Javascript \u548c Wasm \u3002

\n

Netlify functions \u5bf9 Javascript \u7684\u652f\u6301\u4e5f\u6bd4\u8f83\u597d\uff0c\u652f\u6301\u7684\u5176\u4ed6\u8bed\u8a00\u597d\u50cf\u53ea\u6709 Go.

\n

\u60f3\u8bf7\u95ee\u4e0b\u8fd9\u4e9b\u4e91\u670d\u52a1\u5546\u4e3a\u4ec0\u4e48\u5bf9 Javascript \u7684\u652f\u6301\u8fd9\u4e48\u591a\uff1f\u662f\u56e0\u4e3a\u6211\u89c2\u5bdf\u5230\u7684\u53ea\u652f\u6301 Javascript \u7684\u4e91\u670d\u52a1\u5546\u90fd\u662f\u524d\u7aef\u7528\u7684\u6bd4\u8f83\u591a\u7684\uff0c\u6240\u4ee5\u652f\u6301 Javascript \u5229\u4e8e\u76f4\u63a5\u8f6c\u5316\u3002\u8fd8\u662f\u8bf4 Javascript \u5728 serverless functions \u4e2d\u672c\u8eab\u5c31\u5177\u6709\u522b\u7684\u8bed\u8a00\u4e0d\u5177\u6709\u7684\u4f18\u52bf\uff1f

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/768700", "title": "\u72ec\u5bb6\u5bf9\u8bdd\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u8d1f\u8d23\u4eba\u4e0d\u778b\uff1a\u4f60\u6240\u4e0d\u77e5\u9053\u7684 Serverless", "id": "t/768700", "date_published": "2021-04-07T05:56:06+00:00", "content_html": "

\"\u5934\u56fe.jpg\"

\n

\u4f5c\u8005 | \u6768\u4e3d\n\u51fa\u54c1 | \u96f7\u950b\u7f51\u4ea7\u4e1a\u7ec4

\n

\u201cServerless \u5176\u5b9e\u79bb\u6211\u4eec\u5e76\u6ca1\u6709\u90a3\u4e48\u9065\u8fdc\u201d\u3002

\n

\u5982\u679c\u4f60\u662f\u4e00\u540d\u4e92\u8054\u7f51\u7814\u53d1\u4eba\u5458\uff0c\u90a3\u4e48\u6781\u6709\u53ef\u80fd\u4e86\u89e3\u5e76\u5e94\u7528\u8fc7 Serverless \u8fd9\u5957\u6280\u672f\u4f53\u7cfb\u3002\u7eb5\u89c2 Serverless \u8fc7\u53bb\u5341\u5e74\uff0c\u5b83\u5176\u5b9e\u56e0\u4e91\u800c\u751f\uff0c\u540c\u65f6\u4e5f\u5728\u6539\u53d8\u4e91\u7684\u8ba1\u7b97\u65b9\u5f0f\u3002\u5982\u679c\u5957\u7528\u6280\u672f\u6210\u719f\u5ea6\u66f2\u7ebf\u6765\u63cf\u8ff0\u7684\u8bdd\uff0c\u90a3\u4e48\u5b83\u5df2\u7ecf\u8d70\u8fc7\u4e86\u840c\u82bd\u671f\u3001\u8ba4\u77e5\u7834\u706d\u671f\uff0c\u5f00\u59cb\u671d\u7740\u6210\u719f\u7a33\u5b9a\u7684\u65b9\u5411\u53d1\u5c55\u3002\u672a\u6765\uff0c\u5e02\u573a\u5bf9 Serverless \u7684\u63a5\u53d7\u7a0b\u5ea6\u5c06\u8d8a\u6765\u8d8a\u9ad8\u3002

\n

\u4e0d\u8981\u60ca\u8bb6\uff0c\u963f\u91cc\u4e91\u56e2\u961f\u5728\u771f\u6b63\u5f00\u59cb\u6784\u5efa Serverless \u4ea7\u54c1\u4f53\u7cfb\u7684\u6700\u5f00\u59cb\u7684\u4e00\u4e24\u5e74\u91cc\uff0c\u4e5f\u66fe\u906d\u9047\u5185\u90e8\u7684\u4e00\u4e9b\u4e89\u8bae\u3002\u800c\u4eca\uff0c\u5355\u4ece\u963f\u91cc\u96c6\u56e2\u5185\u90e8\u7684\u5f88\u591a\u4e1a\u52a1\u7ebf\u6765\u770b\uff0c\u5df2\u7ecf\u5728\u671d\u7740 Serverless \u5316\u7684\u65b9\u5411\u53d1\u5c55\u4e86\u3002

\n

\u65e5\u524d\uff0c\u963f\u91cc\u4e91\u51ed\u501f\u51fd\u6570\u8ba1\u7b97\u4ea7\u54c1\u80fd\u529b\u5168\u7403\u7b2c\u4e00\u7684\u4f18\u52bf\uff0c\u5165\u9009 Forrester 2021 \u5e74\u7b2c\u4e00\u5b63\u5ea6 FaaS \u5e73\u53f0\u8bc4\u4f30\u62a5\u544a\uff0c\u6210\u4e3a\u6bd4\u80a9\u4e9a\u9a6c\u900a\u3001\u5168\u7403\u524d\u4e09\u7684 FaaS \u9886\u5bfc\u8005\u3002\u8fd9\u4e5f\u662f\u9996\u6b21\u6709\u56fd\u5185\u79d1\u6280\u516c\u53f8\u8fdb\u5165 FaaS \u9886\u5bfc\u8005\u8c61\u9650\u3002

\n

\"1.png\"

\n

\u5728\u4e0e\u96f7\u950b\u7f51\u7684\u8bbf\u8c08\u4e2d\uff0c\u963f\u91cc\u4e91 Serverless \u8d1f\u8d23\u4eba\u4e0d\u778b\u9610\u91ca\u4e86 Serverless \u7684\u6f14\u8fdb\u5386\u7a0b\u3001\u5f15\u5165 Serverless \u9762\u4e34\u7684\u96be\u70b9\u4e0e\u6311\u6218\u3001\u4ee5\u53ca\u6709\u5173\u4e91\u539f\u751f\u7684\u8d8b\u52bf\u9884\u5224\u3002

\n
\n

\u201c\u4e00\u5b9a\u8981\u60f3\u660e\u767d\u505a\u8fd9\u4ef6\u4e8b\u7684\u7ec8\u5c40\u662f\u4ec0\u4e48\uff0c\u5305\u62ec\u4ea7\u54c1\u4f53\u7cfb\u7684\u5b9a\u4f4d\uff0c\u5bf9\u5f00\u53d1\u8005\u3001\u5bf9\u670d\u52a1\u5546\u7684\u4ef7\u503c\u7b49\u7b49\u8fd9\u4e9b\u95ee\u9898\u3002\u8fd9\u8981\u6c42\u6211\u4eec\u4e0d\u65ad\u901a\u8fc7\u5b9e\u8df5\u548c\u8ba4\u8bc6\u7684\u6df1\u5316\uff0c\u8ba9\u8fd9\u4e9b\u95ee\u9898\u7684\u56de\u7b54\u80fd\u591f\u9010\u6e10\u6e05\u6670\u8d77\u6765\u3002\u8fd9\u4e5f\u662f\u6211\u4eec\u8fd9\u4e48\u591a\u5e74\u5b9e\u8df5\u79ef\u7d2f\u7684\u5b9d\u8d35\u7ecf\u9a8c\u3002\u201d\u4e0d\u778b\u6307\u51fa\u3002

\n
\n

\u5c3d\u7ba1\u4f01\u4e1a\u7684\u5b9e\u8df5\u8fd8\u5b58\u5728\u79cd\u79cd\u7591\u60d1\u548c\u6311\u6218\uff0c\u4f46 Serverless \u5b9e\u9645\u4e0a\u79bb\u6211\u4eec\u5e76\u6ca1\u6709\u90a3\u4e48\u9065\u8fdc\u3002\u4e3e\u4e00\u4e2a\u6700\u8fd1\u7684\u4f8b\u5b50\uff0c\u65b0\u51a0\u75ab\u60c5\u8ba9\u8fdc\u7a0b\u529e\u516c\u3001\u5728\u7ebf\u6559\u80b2\u3001\u5728\u7ebf\u6e38\u620f\u7684\u5e94\u7528\u9700\u6c42\u77ed\u671f\u5185\u589e\u52a0\u3002\u4e1a\u52a1\u89c4\u6a21\u7684\u7206\u53d1\u5f0f\u589e\u957f\uff0c\u5bf9\u6bcf\u4e00\u4e2a\u9700\u6c42\u7684\u54cd\u5e94\u9700\u8981\u66f4\u52a0\u53ca\u65f6\uff0c\u8fd9\u5bf9\u5e94\u7528\u67b6\u6784\u7684\u5f39\u6027\uff0c\u5bf9\u5e95\u5c42\u8ba1\u7b97\u7684\u901f\u5ea6\uff0c\u5bf9\u7814\u53d1\u6548\u7387\u7684\u63d0\u5347\u7b49\uff0c\u90fd\u8981\u6c42\u4e1a\u52a1\u52a0\u901f\u5411\u65b0\u6280\u672f\u67b6\u6784\u6f14\u8fdb\u3002

\n

\u800c\u4e0d\u778b\u7684\u7406\u60f3\u5c31\u662f\uff0c\u5e2e\u52a9\u66f4\u5e7f\u6cdb\u7684\u5ba2\u6237\u5b9e\u73b0\u5411\u65b0\u6280\u672f\u67b6\u6784\u7684\u5e73\u6ed1\u8fc1\u79fb\uff0c\u8ba9 Serverless \u6e17\u900f\u5230\u6240\u6709\u7684\u4e91\u5e94\u7528\u4e2d\u3002

\n

\u4e0d\u778b\u4f5c\u4e3a\u963f\u91cc\u4e91 Serverless \u4ea7\u54c1\u4f53\u7cfb\u7684\u8d1f\u8d23\u4eba\uff0c\u4e5f\u662f\u56fd\u5185 Serverless \u7684\u65e9\u671f\u5b9e\u8df5\u8005\u3002\u4ee5\u4e0b\u5c06\u5448\u73b0\u8fd9\u6b21\u8bbf\u8c08\u7684\u5b8c\u6574\u603b\u7ed3\u3002

\n

Serverless \u7684\u5b9a\u4e49

\n

\u5728\u8ba8\u8bba\u4e4b\u524d\uff0c\u6211\u4eec\u5148\u660e\u786e Serverless \u7684\u5b9a\u4e49\uff0c\u786e\u4fdd\u5927\u5bb6\u5bf9 Serverless \u7684\u8ba4\u77e5\u662f\u4e00\u81f4\u7684\u3002

\n

\u73b0\u5728 Serverless \u8d8a\u6765\u8d8a\u70ed\uff0c\u65e0\u8bba\u662f\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\uff0c\u90fd\u5c06 Serverless \u89c6\u4e3a\u4e91\u8ba1\u7b97\u53d1\u5c55\u7684\u4e0b\u4e00\u9636\u6bb5\u3002Serverless \u6709\u5f88\u591a\u79cd\u8868\u8ff0\uff0c\u5176\u4e2d\u4f2f\u514b\u5229\u5927\u5b66\u7684\u5b9a\u4e49\u76f8\u5bf9\u4e25\u8c28\u4e00\u4e9b\u3002

\n
\n

\u6ce8\uff1a2019 \u5e74 2 \u6708\uff0c\u52a0\u5dde\u5927\u5b66\u4f2f\u514b\u5229\u5206\u6821\u53d1\u8868\u7684\u300a Cloud Programming Simplified: A Berkerley View on Serverless Computing \u300b\u8bba\u6587\uff0c\u66fe\u5728\u4e1a\u754c\u5f15\u53d1\u8bf8\u591a\u8ba8\u8bba\u548c\u5173\u6ce8\u3002

\n
\n

\u5927\u81f4\u6765\u8bb2\uff0cServerless \u5b9e\u9645\u5bf9\u5e94\u7684\u662f\u4e00\u6574\u5957\u7684\u4ea7\u54c1\u4f53\u7cfb\uff0c\u800c\u4e0d\u662f\u5355\u72ec\u4e00\u4e24\u4e2a\u4ea7\u54c1\uff1b\u540c\u65f6\uff0c\u8fd9\u4e9b\u4ea7\u54c1 /\u670d\u52a1\u4e4b\u95f4\u8fd8\u5177\u5907\u4ee5\u4e0b\u7279\u5f81\uff1a\u670d\u52a1\u4e4b\u95f4\u5f7c\u6b64\u914d\u5408\u3001\u5168\u6258\u7ba1\u3001\u7528\u6237\u901a\u8fc7 API \u8c03\u7528\u5c31\u53ef\u5b8c\u6210\u6574\u4e2a\u529f\u80fd\u6216\u5e94\u7528\u7684\u5f00\u53d1\u800c\u65e0\u9700\u5173\u6ce8\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\u3002

\n

\u8fd9\u5957\u4ea7\u54c1\u4f53\u7cfb\u76ee\u524d\u53ef\u5206\u4e3a\u4e24\u7c7b\uff1a\u4e00\u7c7b\u662f\u8ba1\u7b97\uff0c\u5373 FaaS \uff08 Function as a Service \uff09\uff1b\u8fd8\u6709\u4e00\u7c7b\u662f BaaS \uff08 Backend as a Service \uff09\uff0c\u6bd4\u5982\u6d88\u606f\u4e2d\u95f4\u4ef6\u3001\u5bf9\u8c61\u5b58\u50a8\uff0c\u90fd\u53ef\u4ee5\u770b\u505a\u662f Serverless \u5316\u7684 BaaS \u670d\u52a1\u3002\u00a0

\n

Serverless \u7684\u6f14\u8fdb

\n

\u4e00\u4e2a\u65b0\u6280\u672f\u901a\u5e38\u4f1a\u7ecf\u5386\u51e0\u4e2a\u9636\u6bb5\uff1a\u7b2c\u4e00\u4e2a\u9636\u6bb5\u662f\u56e0\u4e3a\u5176\u5de8\u5927\u6f5c\u529b\u5f15\u8d77\u5e7f\u6cdb\u5173\u6ce8\u7684\u9636\u6bb5\uff1b\u7b2c\u4e8c\u9636\u6bb5\uff0c\u662f\u8ba4\u77e5\u7834\u706d\u7684\u9636\u6bb5\uff0c\u5728\u8fd9\u4e2a\u9636\u6bb5\u7531\u4e8e\u4ea7\u54c1\u521d\u671f\u672c\u8eab\u80fd\u529b\u4e0d\u662f\u5f88\u5f3a\u5065\uff0c\u6216\u6848\u4f8b\u4e0d\u5168\u7b49\u56e0\u7d20\uff0c\u5bfc\u81f4\u7528\u6237\u5728\u4f7f\u7528\u8fc7\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u9047\u5230\u632b\u8d25\u611f\uff1b\u7b2c\u4e09\u4e2a\u9636\u6bb5\uff0c\u662f\u4f34\u968f\u5b9e\u8df5\u7684\u589e\u52a0\u548c\u4ea7\u54c1\u80fd\u529b\u672c\u8eab\u7684\u53d1\u5c55\uff0c\u53c8\u4f1a\u9010\u6b65\u63d0\u5347\u8ba4\u77e5\uff0c\u8fdb\u800c\u8fdb\u5165\u4e00\u4e2a\u7a33\u5065\u589e\u957f\u7684\u9636\u6bb5\u3002

\n

\"2.png\"

\n

\u9700\u8981\u660e\u786e\u7684\u662f\uff0cServerless \u5e76\u4e0d\u662f\u4e00\u4e2a\u975e\u5e38\u65b0\u7684\u6280\u672f\u3002\u50cf\u963f\u91cc\u4e91\u7684 OSS \u3001AWS \u7684 S3 \u5bf9\u8c61\u5b58\u50a8\uff0c\u5b83\u4eec\u90fd\u662f\u6700\u65e9\u53d1\u5e03\u7684\u4ea7\u54c1\u4e4b\u4e00\uff0c\u4e00\u5f00\u59cb\u5176\u5b9e\u5c31\u662f Serverless \u7684\u5f62\u6001\u3002

\n

\u4f46\u4e1a\u754c\u4ece Serverless \u7684\u8ba4\u77e5\uff0c\u786e\u5b9e\u662f\u56e0 AWS \u7684 Lambda \u5e26\u8d77\u6765\u7684\uff0c2014 \u5e74 AWS \u63a8\u51fa\u4e86 Lambda \u3002

\n

2017 \u5e74\u5230 2019 \u5e74\u4e0a\u534a\u5e74\uff0c\u8fd9\u6bb5\u65f6\u95f4\uff0c\u4e1a\u754c\u5bf9 Serverless \u7684\u8ba8\u8bba\u5f88\u591a\u540c\u65f6\u53c8\u6709\u5f88\u591a\u56f0\u6270\uff0c\u4e0d\u77e5\u9053\u5982\u4f55\u843d\u5730\uff0c\u6216\u8005\u7528\u4e86\u4e4b\u540e\u624d\u7a81\u7136\u89c9\u5f97\u8ddf\u81ea\u5df1\u60f3\u8c61\u7684\u4e0d\u592a\u4e00\u6837\u3002

\n

\u56fd\u5185\u5916\u6280\u672f\u53d1\u5c55\u4fdd\u6301\u7740\u76f8\u4f3c\u7684\u8282\u594f\uff0c\u56fd\u5916\u76f8\u5bf9\u6765\u8bb2\u66f4\u5feb\u4e00\u4e9b\u3002\u4ece\u53bb\u5e74\u5f00\u59cb\uff0c\u56fd\u5185\u4e5f\u5f00\u59cb\u8fdb\u5165\u5230\u4e86\u7a33\u5b9a\u53d1\u5c55\u7684\u9636\u6bb5\u3002\u73b0\u5728\u56fd\u9645\u4e0a\u4e3b\u6d41\u4e91\u4f9b\u5e94\u5546\u63d0\u4f9b\u7684\u65b0\u529f\u80fd\u6216\u65b0\u4ea7\u54c1\uff0c80% \u4ee5\u4e0a\u90fd\u662f Serverless \u7684\u5f62\u6001\u3002

\n

\u963f\u91cc\u4e91\u4ece 2017 \u5e74\u5f00\u59cb\u6253\u9020 Serverless\uff0c\u5e76\u4e8e\u5f53\u5e74\u6b63\u5f0f\u542f\u52a8\u5546\u4e1a\u5316\u3002

\n

\u76ee\u524d\u5728\u963f\u91cc\u96c6\u56e2\u5185\u90e8\u5df2\u7ecf\u5f00\u59cb\u843d\u5730 Serverless \u4e86\uff0c\u4f8b\u5982\u98de\u732a\u3001\u6dd8\u5b9d\u3001\u9ad8\u5fb7\u7b49\u7b49\u3002\u5728\u4f01\u4e1a\u8d4b\u80fd\u65b9\u9762\uff0c\u5c24\u5176\u662f\u75ab\u60c5\u4e4b\u540e\uff0c\u80fd\u591f\u770b\u5230\u7528\u6237\u5bf9 Serverless \u7684\u8ba4\u77e5\u6bd4\u4e4b\u524d\u786e\u5b9e\u6df1\u5165\u4e86\u8bb8\u591a\uff0c\u5728\u5f88\u591a\u573a\u666f\u4e0b\uff0c\u5207\u6362\u5230 Serverless \u67b6\u6784\u786e\u5b9e\u80fd\u591f\u4e3a\u7528\u6237\u5e26\u6765\u660e\u663e\u7684\u6536\u76ca\uff0c\u7528\u6237\u4e5f\u8ba4\u53ef\u8fd9\u9879\u6280\u672f\u3002

\n

\u4e3e\u4e00\u9879\u6570\u636e\u6765\u770b\uff0c\u76ee\u524d\u963f\u91cc\u4e91 Serverless \u5df2\u7ecf\u670d\u52a1\u4e86\u4e0a\u4e07\u5bb6\u4ed8\u8d39\u5ba2\u6237\uff0c\u62e5\u6709 100+ \u7684\u5178\u578b\u6848\u4f8b\uff0c\u51fd\u6570\u65e5\u8c03\u7528\u91cf\u8d85\u8fc7 120 \u4ebf\u6b21\u3001\u51fd\u6570\u603b\u91cf\u8fbe\u5230 100 \u4e07\u3002

\n

\u65b0\u65e7\u89c2\u5ff5\u7684\u8f6c\u53d8

\n

\u5bf9\u4e8e\u963f\u91cc\u4e91\u81ea\u8eab\u800c\u8a00\uff0c\u5728\u6700\u5f00\u59cb\u6784\u5efa Serverless \u4e4b\u521d\uff0c\u5176\u5b9e\u6700\u5927\u7684\u6311\u6218\u4e0d\u4ec5\u4ec5\u662f\u6280\u672f\u5c42\u9762\u7684\uff0c\u66f4\u591a\u7684\u8fd8\u6709\u89c2\u5ff5\u4e0a\u7684\u4e0d\u5bf9\u79f0\u3002

\n

\u9996\u5148\uff0cServerless \u672c\u8eab\u7684\u5f62\u6001\u8ddf\u4ee5\u5f80\u7684\u8ba1\u7b97\u5f62\u6001\u5dee\u5f02\u6bd4\u8f83\u5927\uff0c\u6574\u4e2a\u7814\u53d1\u548c\u8fd0\u7ef4\u7684\u4f53\u7cfb\u8ddf\u4f20\u7edf\u5e94\u7528\u662f\u5272\u88c2\u7684\u3002\u5982\u679c\u5f00\u53d1 Serverless \u5e94\u7528\uff0c\u5176\u7814\u53d1\u8fd0\u7ef4\u7684\u6d41\u7a0b\u548c\u5de5\u5177\u8ddf\u865a\u62df\u5316\uff08 VM \uff09\u6216\u5bb9\u5668\u5316\u7684\u65b9\u5f0f\u4e0d\u592a\u4e00\u6837\uff0c\u5f88\u591a\u7528\u6237\u4f1a\u62c5\u5fc3\u4f9b\u5e94\u5546\u9501\u5b9a\uff08 lock-in \uff09\u7684\u95ee\u9898\uff0c\u4e0d\u592a\u5e0c\u671b\u81ea\u8eab\u7684\u6280\u672f\u6808\u8ddf\u67d0\u4e2a\u4f9b\u5e94\u5546\u7ed1\u5b9a\u3002

\n

\u5176\u6b21\uff0cAWS \u7684 Lambda \u6700\u5f00\u59cb\u505a\u4e86\u4e00\u4e2a\u699c\u6837\uff0c\u4f46\u5b83\u5b9e\u9645\u4e5f\u53ea\u9002\u5408\u4e8e AWS \u7684\u4ea7\u54c1\u4f53\u7cfb\uff0c\u5982\u679c\u653e\u5728\u5176\u4ed6\u7684\u4ea7\u54c1\u4f53\u7cfb\u91cc\u4f1a\u9762\u4e34\u975e\u5e38\u5927\u7684\u6311\u6218\uff0c\u4e0d\u6613\u4e8e\u88ab\u7528\u6237\u63a5\u53d7\uff0c\u4e14\u9650\u5236\u6761\u4ef6\u4e5f\u5f88\u591a\uff0c\u5e94\u7528\u573a\u666f\u4e5f\u6709\u9650\u3002\u8fd9\u5c31\u8981\u6c42\u5728\u6280\u672f\u5c42\u9762\uff0c\u5305\u62ec\u8d44\u6e90\u8c03\u5ea6\u3001\u5b89\u5168\u9694\u79bb\u3001\u591a\u79df\u6237\u7ba1\u7406\u3001\u6d41\u63a7\u7b49\u65b9\u9762\u6709\u5f88\u9ad8\u8981\u6c42\uff0c\u505a\u8d77\u6765\u975e\u5e38\u8f9b\u82e6\u3002\u56e0\u4e3a\u5728\u6b64\u4e4b\u524d\u6ca1\u6709\u4e00\u4e2a\u4ea7\u54c1\u7684\u8ba1\u7b97\u5f62\u6001\u662f\u5982\u6b64\u7ec6\u7c92\u5ea6\u3001\u52a8\u6001\u5730\u4f7f\u7528\u8d44\u6e90\u3002

\n

\u8fd9\u79cd\u6311\u6218\uff0c\u4e00\u5f00\u59cb\u5373\u4fbf\u5728\u963f\u91cc\u5185\u90e8\uff0c\u4e5f\u66fe\u9762\u4e34\u8fc7\u8bb8\u591a\u4e89\u8bae\u3002

\n

\u6211\u4eec\u8fd9\u4e48\u591a\u5e74\u5b9e\u8df5\u79ef\u7d2f\u7684\u5b9d\u8d35\u7ecf\u9a8c\u662f\uff1a\u4e00\u5b9a\u8981\u60f3\u660e\u767d\u505a\u8fd9\u4ef6\u4e8b\u7684\u7ec8\u5c40\u662f\u4ec0\u4e48\uff0c\u5305\u62ec\u5728\u4ea7\u54c1\u4f53\u7cfb\u4e2d\u7684\u5b9a\u4f4d\uff0c\u5bf9\u5f00\u53d1\u8005\u3001\u5bf9\u4e91\u670d\u52a1\u5546\u7684\u4ef7\u503c\u7b49\u7b49\u8fd9\u4e9b\u95ee\u9898\u3002\u8fd9\u8981\u6c42\u6211\u4eec\u4e0d\u65ad\u901a\u8fc7\u5b9e\u8df5\u548c\u8ba4\u8bc6\u7684\u6df1\u5316\uff0c\u8ba9\u8fd9\u4e9b\u95ee\u9898\u7684\u56de\u7b54\u80fd\u591f\u9010\u6e10\u6e05\u6670\u8d77\u6765\u3002

\n

\"3.png\"

\n

\u5f15\u5165 Serverless \u7684\u987e\u8651

\n

\u7ad9\u5728\u5ba2\u6237\u5c42\u9762\uff0c\u4e0d\u540c\u7c7b\u578b\u7684\u5ba2\u6237\u5bf9\u5f15\u5165\u7b2c\u4e09\u65b9\u7684 Serverless \u6280\u672f\u5176\u5b9e\u4f1a\u6709\u4e0d\u540c\u5c42\u9762\u7684\u8003\u8651\u3002

\n

\u5bf9\u4e8e\u8d85\u5927\u578b\u4f01\u4e1a\uff0c\u6bd4\u5982 Facebook \u3001\u5b57\u8282\u8df3\u52a8\uff0c\u4f01\u4e1a\u672c\u8eab\u5c31\u6709\u975e\u5e38\u5f3a\u7684\u57fa\u7840\u8bbe\u65bd\u56e2\u961f\uff0c\u901a\u5e38\u4ed6\u4eec\u4f1a\u9009\u62e9\u81ea\u5df1\u5185\u90e8\u5f00\u53d1\u8fd9\u65b9\u9762\u6280\u672f\u3002

\n

\u8fd8\u6709\u4e00\u4e9b\u4f01\u4e1a\uff0c\u6ca1\u6709\u91c7\u7528 Serverless \u5e76\u4e0d\u662f\u8bf4\u4ed6\u4eec\u5bf9\u8fd9\u4e2a\u6280\u672f\u6709\u4ec0\u4e48\u62b5\u89e6\uff0c\u800c\u662f\u5f53\u4e0b\u7684\u843d\u5730\u5b9e\u8df5\u6216\u672c\u8eab\u7684\u5de5\u5177\u94fe\u8fd8\u65e0\u6cd5\u505a\u5230\u5b8c\u5168\u6d88\u9664\u4f9b\u5e94\u5546\u9501\u5b9a\u7684\u95ee\u9898\uff0c\u53c8\u6216\u8005\u662f\u56e0\u4e3a\u5de5\u5177\u94fe\u8ddf\u4f20\u7edf\u5f00\u53d1\u592a\u8fc7\u5272\u88c2\uff0c\u4f01\u4e1a\u81ea\u8eab\u65e0\u6cd5\u540c\u65f6\u7ef4\u62a4\u4e24\u5957\u5f00\u53d1\u6846\u67b6\u3002

\n

\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u7528\u6237\u7684\u7cfb\u7edf\u67b6\u6784\u4e00\u5b9a\u4f1a\u9762\u4e34\u4e00\u4e2a\u4e2d\u95f4\u72b6\u6001\uff1a\u65e2\u6709\u8001\u7684\u53c8\u6709\u65b0\u7684\u3002\u5982\u679c\u6574\u4e2a\u8fc1\u79fb\u7684\u8fc7\u7a0b\u4e0d\u662f\u90a3\u4e48\u5e73\u6ed1\u7684\u8bdd\uff0c\u4f9b\u5e94\u5546\u7684\u8fd9\u90e8\u5206\u4f18\u52bf\u5728\u5ba2\u6237\u90a3\u91cc\u662f\u4e0d\u5b58\u5728\u7684\uff0c\u00a0\u56e0\u4e3a\u8001\u7684\u7cfb\u7edf\u5b9e\u9645\u662f\u9700\u8981\u7ef4\u62a4\u7684\u3002\u5982\u6b64\uff0c\u5bf9\u7528\u6237\u7684\u5438\u5f15\u529b\u5176\u5b9e\u5c31\u6ca1\u6709\u90a3\u4e48\u5927\u4e86\u3002

\n

\u963f\u91cc\u4e91\u6700\u8fd1\u5f00\u6e90\u7684 Serverless Devs \u89e3\u51b3\u7684\u5c31\u662f\u8fd9\u6837\u7684\u95ee\u9898\u3002\u5176\u5b9a\u4f4d\u662f\u5e2e\u52a9\u7528\u6237\u66f4\u7b80\u5355\u5730\u5f00\u53d1\u548c\u8fd0\u7ef4\u81ea\u5df1\u7684 Serverless \u5316\u548c\u5bb9\u5668\u5316\u5e94\u7528\uff0c\u63d0\u4f9b\u5e94\u7528\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u7684\u80fd\u529b\u3002

\n

\u672c\u8d28\u4e0a\uff0cServerless \u7684\u73af\u5883\u662f\u5728\u8fdc\u7aef\uff0c\u8ddf\u7528\u6237\u672c\u5730\u5f00\u53d1\u73af\u5883\u662f\u5929\u7136\u5272\u88c2\u7684\uff0c\u90a3\u4e48\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\uff0c\u4ece\u8c03\u8bd5\u3001\u90e8\u7f72\u3001\u53d1\u5e03\u3001\u76d1\u63a7\u7b49\u5404\u4e2a\u73af\u8282\uff0cServerless Devs \u90fd\u5e0c\u671b\u80fd\u4e3a\u7528\u6237\u63d0\u4f9b\u66f4\u597d\u7684\u4f53\u9a8c\u3002\u4f46\u7528\u6237\u53ef\u81ea\u7531\u4f7f\u7528\u5176\u4e2d\u4e00\u4e2a\u6216\u51e0\u4e2a\u529f\u80fd\uff0c\u4e0d\u9700\u8981\u5c06\u5df2\u6709\u7684\u7814\u53d1\u8fd0\u7ef4\u7684\u6d41\u7a0b\u5b8c\u5168\u8fc1\u79fb\u5230\u6211\u4eec\u5b9a\u4e49\u7684\u8fd9\u5957\u89c4\u8303\u91cc\u3002

\n

\u8fc7\u53bb\u4e00\u5e74\u7684\u91cd\u5927\u5347\u7ea7

\n

2020 \u5e74\uff0c\u75ab\u60c5\u7684\u80cc\u666f\u4e0b\uff0c\u5176\u5b9e\u4e5f\u662f\u963f\u91cc\u4e91 Serverless \u6280\u672f\u5347\u7ea7\u7684\u5173\u952e\u4e00\u5e74\u3002\u8fd9\u4e00\u5e74\u91cc\uff0c\u56e2\u961f\u505a\u4e86\u5f88\u591a\u5927\u7684\u5347\u7ea7\uff0c\u5305\u62ec\uff1a

\n\n

\"4.png\"

\n

\uff08\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u5168\u666f\u56fe\uff09

\n

\u603b\u7ed3\u8d77\u6765\uff0c\u4e24\u65b9\u9762\u56e0\u7d20\u63a8\u52a8\u963f\u91cc\u4e91 Serverless \u5728\u8fc7\u53bb\u4e00\u5e74\u505a\u51fa\u91cd\u5927\u6280\u672f\u5347\u7ea7\uff1a

\n

\u4e00\u662f\u6765\u81ea\u7528\u6237\u672c\u8eab\u7684\u8bc9\u6c42\u3002\u6bd4\u5982\u5728\u6559\u80b2\u573a\u666f\u4e2d\uff0c\u8001\u5e08\u5bf9\u5f00\u8bfe\u8fd9\u4ef6\u4e8b\u662f\u6709\u65f6\u6548\u6027\u8981\u6c42\u7684\uff0c\u8fd9\u5c31\u8981\u6c42\u540e\u53f0\u80fd\u591f\u77ed\u65f6\u95f4\u5185\u542f\u52a8\u53ef\u80fd\u6570\u5343\u4e2a\u5b9e\u4f8b\u8fdb\u884c\u54cd\u5e94\u3002

\n

\u4e8c\u662f\u6765\u81ea\u5185\u90e8\u5bf9\u4ea7\u54c1\u6548\u80fd\u7684\u8981\u6c42\u3002\u5bf9\u4e8e\u4e91\u670d\u52a1\u5546\u800c\u8a00\uff0cServerless \u6700\u6838\u5fc3\u7684\u4e00\u4e2a\u5b9a\u4f4d\uff0c\u662f\u80fd\u591f\u5c06\u4e91\u4e0a\u8d44\u6e90\u66f4\u597d\u5730\u5229\u7528\u8d77\u6765\u3002\u6574\u4e2a\u8ba1\u7b97\u67b6\u6784\u786e\u5b9e\u9700\u8981\u901a\u8fc7\u65b0\u7684\u865a\u62df\u5316\u6280\u672f\u3001\u5bb9\u5668\u6280\u672f\uff0c\u540c\u65f6\u8ddf\u65b0\u7684\u786c\u4ef6\u7ed3\u5408\u8d77\u6765\uff0c\u4ece\u800c\u63d0\u4f9b\u4e00\u4e2a\u975e\u5e38\u7ec6\u7c92\u5ea6\u7684\u3001\u542f\u52a8\u975e\u5e38\u5feb\u3001\u975e\u5e38\u5f39\u6027\u7684\u8ba1\u7b97\u6a21\u578b\u3002\u8fd9\u4e5f\u662f\u4e3a\u4ec0\u4e48\u6211\u4eec\u8981\u8fdb\u884c\u67b6\u6784\u5347\u7ea7\uff0c\u4ece\u539f\u6765\u7684\u865a\u62df\u673a\u67b6\u6784\u6f14\u8fdb\u5230\u795e\u9f99\u88f8\u91d1\u5c5e\u670d\u52a1\u5668+\u888b\u9f20\u5b89\u5168\u5bb9\u5668\u7684\u67b6\u6784\uff0c\u5c06\u5bf9\u6574\u4f53\u4ea7\u54c1\u7684\u53d1\u5c55\u4ea7\u751f\u4e00\u4e2a\u6838\u5fc3\u63a8\u529b\u3002

\n

\u653b\u514b\u4e0b\u4e00\u57ce

\n

\u963f\u91cc\u4e91\u91c7\u7528\u201c\u4e09\u4f4d\u4e00\u4f53\u201d\u7684\u7b56\u7565\u6253\u9020\u6574\u4e2a Serverless \u4ea7\u54c1\u77e9\u9635\u2014\u2014\u81ea\u8eab\u5b9e\u8df5-\u5f00\u6e90-\u5546\u4e1a\u5316\u3002\u5373\u901a\u8fc7\u96c6\u56e2\u5185\u90e8\u8d85\u5927\u89c4\u6a21\u3001\u8d85\u590d\u6742\u7684\u4e1a\u52a1\u573a\u666f\u6765\u9524\u70bc\u6280\u672f\uff0c\u5c06\u6280\u672f\u4e0d\u65ad\u6253\u78e8\u4ea7\u54c1\u5316\uff0c\u7136\u540e\u5bf9\u4e91\u4e0a\u5ba2\u6237\u63d0\u4f9b\u5546\u4e1a\u5316\u670d\u52a1\uff0c\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\uff0c\u8fd8\u4f1a\u5c06\u4e00\u4e9b\u6280\u672f\u3001\u5de5\u5177\u8fdb\u884c\u5f00\u6e90\uff0c\u9075\u5faa\u5f00\u6e90\u5f00\u653e\u7684\u6807\u51c6\uff0c\u8ddf\u5f00\u6e90\u751f\u6001\u878d\u5408\u3002

\n

\u53ea\u6709\u5bf9\u5ba2\u6237\u7684\u4e1a\u52a1\u4ea7\u751f\u4ef7\u503c\u548c\u5e2e\u52a9\uff0c\u5ba2\u6237\u624d\u4f1a\u8ba4\u53ef Serverless \u3002

\n

\u77ed\u671f\u6765\u770b\uff0c\u65e0\u8bba\u662f\u4e1a\u52a1\u89c4\u6a21\uff0c\u8fd8\u662f\u4ea7\u54c1\u3001\u6280\u672f\u5c42\u9762\uff0c\u963f\u91cc\u4e91 Serverless \u90fd\u5728\u4ee5\u975e\u5e38\u7a33\u5065\u5730\u65b9\u5f0f\u6309\u7167\u81ea\u8eab\u7684\u8282\u594f\u5411\u524d\u6f14\u8fdb\u3002

\n\n

\u4e91\u65f6\u4ee3\u4e0b\u7684\u65b0\u673a\u9047

\n

\u5728\u5e94\u7528\u573a\u666f\u4e0a\u6765\u770b\uff0cServerless \u4e0d\u518d\u4ec5\u4ec5\u662f\u5c0f\u7a0b\u5e8f\uff0c\u8fd8\u6709\u7535\u5546\u5927\u4fc3\u3001\u97f3\u89c6\u9891\u8f6c\u7801\u3001AI \u7b97\u6cd5\u670d\u52a1\u3001\u6e38\u620f\u5e94\u7528\u5305\u5206\u53d1\u3001\u6587\u4ef6\u5b9e\u65f6\u5904\u7406\u3001\u7269\u8054\u7f51\u6570\u636e\u5904\u7406\u3001\u5fae\u670d\u52a1\u7b49\u573a\u666f\u3002

\n

Serverless \u5c06\u7ee7\u7eed\u548c\u5bb9\u5668\u3001\u5fae\u670d\u52a1\u7b49\u751f\u6001\u878d\u5408\uff0c\u964d\u4f4e\u5f00\u53d1\u8005\u4f7f\u7528 Serverless \u6280\u672f\u7684\u95e8\u69db\uff0c\u53cd\u8fc7\u6765\u4e5f\u5c06\u4fc3\u8fdb\u4f20\u7edf\u5e94\u7528\u7684\u4e91\u539f\u751f\u5316\u3002

\n

Serverless \u53e6\u4e00\u4e2a\u6838\u5fc3\u8981\u7d20\u662f\u201c\u88ab\u96c6\u6210\u201d\uff0c\u88ab\u96c6\u6210\u7684\u5bf9\u8c61\u6709\u4e24\u7c7b\uff1a

\n

\u4e00\u7c7b\u8ddf\u4e00\u65b9\u4e91\u670d\u52a1\u8fdb\u884c\u63a5\u5165\uff0c\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u5df2\u88ab 30 \u591a\u4e2a\u4e00\u65b9\u4e91\u670d\u52a1\u4ea7\u54c1\u96c6\u6210\uff1b

\n

\u7b2c\u4e8c\u7c7b\u662f\u901a\u8fc7 EventBridge \u4e8b\u4ef6\u603b\u7ebf\u548c\u4e09\u65b9\u751f\u6001\u88ab\u96c6\u6210\u3002\u4f8b\u5982\u548c\u9489\u9489\u7b49 SaaS \u5e94\u7528\u96c6\u6210\u3002\u9489\u9489\u7684\u4e1a\u52a1\u4e2d\u5e38\u5e38\u9700\u8981\u4ee5\u7b80\u6d01\u3001\u8f7b\u91cf\u7684\u65b9\u5f0f\u5b8c\u6210\u7528\u6237\u7684\u5b9a\u5236\u5316\u9700\u6c42\uff0c\u8fd9\u548c Serverless \u7684\u5e94\u7528\u5f62\u6001\u662f\u9ad8\u5ea6\u5339\u914d\u7684\u3002

\n

\"5.png\"

\n

\uff08\u4e0d\u778b\uff0c\u963f\u91cc\u4e91 Serverless \u8d1f\u8d23\u4eba\uff09

\n

\u4eca\u5929\uff0c\u6211\u4eec\u53ef\u4ee5\u975e\u5e38\u660e\u786e\u5730\u770b\u5230\uff0c\u6574\u4e2a\u4e91\u7684\u672a\u6765\u4e00\u5b9a\u662f Serverless \u5f62\u6001\u7684\u3002\u963f\u91cc\u4e91\u5185\u90e8\u5bf9\u8fd9\u4e2a\u4e5f\u6ca1\u6709\u4e89\u8bae\uff0c\u56e0\u4e3a\u8fd9\u4e48\u591a\u5e74\u6765\uff0c\u6574\u4e2a\u4ea7\u54c1\u4f53\u7cfb\u5c31\u662f\u671d\u7740 Serverless \u65b9\u5411\u53d1\u5c55\u7684\u3002

\n

\u4e0d\u662f\u56e0\u4e3a\u6709\u4e86 Serverless \u8ba1\u7b97\uff0c\u4e91\u624d\u5411 Serverless \u6f14\u8fdb\u3002\u6070\u6070\u76f8\u53cd\uff0c\u56e0\u4e3a\u4e91\u7684\u4ea7\u54c1\u4f53\u7cfb\u5df2\u7ecf\u5411 Serverless \u6f14\u8fdb\uff0c\u624d\u50ac\u751f\u4e86 Serverless \u8ba1\u7b97\u3002\u5355\u7eaf\u7684 Serverless \u8ba1\u7b97\u5e76\u4e0d\u80fd\u5b9e\u73b0\u5f88\u591a\u529f\u80fd\uff0c\u524d\u63d0\u4e00\u5b9a\u662f\u8ddf\u5176\u4ed6\u4e91\u670d\u52a1\u53ca\u5176\u751f\u6001\u914d\u5408\uff0c\u624d\u80fd\u4f53\u73b0\u51fa\u5176\u81ea\u8eab\u7684\u4f18\u52bf\u3002

\n

\u65e0\u8bba\u662f\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\uff0c\u90fd\u5df2\u7ecf\u8ba4\u53ef\u8fd9\u6837\u4e00\u4e2a\u8d8b\u52bf\u3002

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/766766", "title": "AI \u4e8b\u4ef6\u9a71\u52a8\u573a\u666f Serverless \u5b9e\u8df5", "id": "t/766766", "date_published": "2021-03-31T02:43:28+00:00", "content_html": "

\"michael-dziedzic--LFxVNhopfs-unsplash.jpg\"

\n

\u4f5c\u8005 | \u674e\u9e4f\uff08\u5143\u6bc5\uff09\n\u6765\u6e90 | Serverless \u516c\u4f17\u53f7

\n

\u4e00\u3001\u4e8b\u4ef6\u9a71\u52a8\u6846\u67b6\uff1aKnative Eventing

\n

\u4e8b\u4ef6\u9a71\u52a8\u662f\u6307\u4e8b\u4ef6\u5728\u6301\u7eed\u4e8b\u52a1\u7ba1\u7406\u8fc7\u7a0b\u4e2d\uff0c\u8fdb\u884c\u51b3\u7b56\u7684\u4e00\u79cd\u7b56\u7565\u3002\u53ef\u4ee5\u901a\u8fc7\u8c03\u52a8\u53ef\u7528\u8d44\u6e90\u6267\u884c\u76f8\u5173\u4efb\u52a1\uff0c\u4ece\u800c\u89e3\u51b3\u4e0d\u65ad\u51fa\u73b0\u7684\u95ee\u9898\u3002\u901a\u4fd7\u5730\u8bf4\u662f\u5f53\u7528\u6237\u89e6\u53d1\u4f7f\u7528\u884c\u4e3a\u65f6\u5bf9\u7528\u6237\u884c\u4e3a\u7684\u54cd\u5e94\u3002\u5728 Serverless \u573a\u666f\u4e0b\uff0c\u4e8b\u4ef6\u9a71\u52a8\u5b8c\u7f8e\u7b26\u5408\u5176\u8bbe\u8ba1\u521d\u8877\u4e4b\u4e00\uff1a\u6309\u9700\u4ed8\u8d39\u3002

\n

1. Knative \u6a21\u578b

\n

\"1.jpg\"

\n

\u56fe\uff1aKnative \u6a21\u578b

\n

Knative \u4e3b\u8981\u5305\u62ec\u4e24\u5927\u90e8\u5206\uff1a\u4e00\u662f\u7528\u4e8e\u5de5\u4f5c\u8d1f\u8f7d\u7684 Serving\uff0c\u5305\u62ec\u7248\u672c\u7ba1\u7406\u3001\u7070\u5ea6\u6d41\u91cf\u3001\u81ea\u52a8\u5f39\u6027\uff1b\u4e8c\u662f Eventing \uff08\u4e8b\u4ef6\u9a71\u52a8\u6846\u67b6\uff09\u3002

\n\n

2. \u4e8b\u4ef6\u9a71\u52a8\u6846\u67b6\uff1aEventing

\n

\"2.jpg\"

\n

Knative \u7684 Eventing \u63d0\u4f9b\u4e86\u4e00\u4e2a\u5b8c\u6574\u7684\u4e8b\u4ef6\u6a21\u578b\uff0c\u65b9\u4fbf\u63a5\u5165\u5404\u4e2a\u5916\u90e8\u7cfb\u7edf\u7684\u4e8b\u4ef6\u3002\u4e8b\u4ef6\u63a5\u5165\u4ee5\u540e\uff0c\u901a\u8fc7 Cloud Event \u6807\u51c6\u5728\u5185\u90e8\u6d41\u8f6c\uff0c\u7ed3\u5408 Broker-Trigger \u6a21\u578b\u8fdb\u884c\u4e8b\u4ef6\u5904\u7406\u3002

\n

\u4ece\u4e0a\u56fe\u53ef\u4ee5\u770b\u5230\uff0cEventing \u4e2d\u5305\u542b\u4e09\u90e8\u5206\u5185\u5bb9\uff1a

\n\n

3. \u5173\u952e\u7279\u6027\uff1a\u4e8b\u4ef6\u89c4\u5219

\n

\"3.jpg\"

\n

\u4e8b\u4ef6\u89c4\u5219\u7684\u6838\u5fc3\u662f Broker-Trigger \u6a21\u578b\uff0c\u5b83\u5305\u542b\u4ee5\u4e0b\u7279\u6027\uff1a

\n\n

\u4e8c\u3001\u4e8b\u4ef6\u9a71\u52a8\u5f15\u64ce-\u4e8b\u4ef6\u6e90

\n

1. \u4e8b\u4ef6\u6e90\u4ecb\u7ecd

\n

Knative \u793e\u533a\u4e2d\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u4e8b\u4ef6\u6e90\u63a5\u5165\uff0c\u5305\u62ec Kafka \u3001Github\uff0c\u4e5f\u652f\u6301\u63a5\u5165\u6d88\u606f\u4e91\u4ea7\u54c1\u7684\u4e00\u4e9b\u4e8b\u4ef6\uff0c\u6bd4\u5982 MNS \u3001RocketMQ \u7b49\u3002

\n

\"4.jpg\"

\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0c\u63a5\u5165\u4e8b\u4ef6\u6e90\u4e4b\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7 Broker-Trigger \u6a21\u578b\u8bf7\u6c42\u76f8\u5e94\u7684\u670d\u52a1\u3002\u8fd9\u4e9b\u670d\u52a1\u5305\u62ec\u4e00\u4e9b\u5177\u4f53\u573a\u666f\uff0c\u6bd4\u5982\u4ece\u6e90\u7801\u6784\u5efa\u955c\u50cf\u3001\u81ea\u52a8\u5316\u955c\u50cf\u53d1\u5e03\u3001AI \u97f3\u89c6\u9891\u5904\u7406\u3001\u5b9a\u65f6\u4efb\u52a1\u7b49\u3002\u6240\u6709\u7684\u4e8b\u4ef6\u90fd\u9700\u8981\u8fd9\u6837\u7684\u4e8b\u4ef6\u6e90\u6765\u62c9\u53d6\uff0c\u7136\u540e\u4e0b\u53d1\u5230 Eventing \u6574\u4e2a\u4e8b\u4ef6\u6d41\u8f6c\u8fc7\u7a0b\u3002

\n\n

2. RocketMQ \u4e8b\u4ef6\u6e90

\n

\"5.jpg\"

\n

\u6d88\u606f\u961f\u5217 RocketMQ \u7248\u662f\u963f\u91cc\u4e91\u57fa\u4e8e Apache RocketMQ \u6784\u5efa\u7684\u4f4e\u5ef6\u8fdf\u3001\u9ad8\u5e76\u53d1\u3001\u9ad8\u53ef\u7528\u3001\u9ad8\u53ef\u9760\u7684\u5206\u5e03\u5f0f\u6d88\u606f\u4e2d\u95f4\u4ef6\u3002

\n

\u6d88\u606f\u961f\u5217 RocketMQ \u7248\u65e2\u53ef\u4e3a\u5206\u5e03\u5f0f\u5e94\u7528\u7cfb\u7edf\u63d0\u4f9b\u5f02\u6b65\u89e3\u8026\u548c\u524a\u5cf0\u586b\u8c37\u7684\u80fd\u529b\uff0c\u540c\u65f6\u4e5f\u5177\u5907\u4e92\u8054\u7f51\u5e94\u7528\u6240\u9700\u7684\u6d77\u91cf\u6d88\u606f\u5806\u79ef\u3001\u9ad8\u541e\u5410\u3001\u53ef\u9760\u91cd\u8bd5\u7b49\u7279\u6027\u3002

\n

RocketMQSource \u662f Knative \u5e73\u53f0\u7684 RocketMQ \u4e8b\u4ef6\u6e90\u3002\u5176\u53ef\u4ee5\u5c06 RocketMQ \u96c6\u7fa4\u7684\u6d88\u606f\u4ee5 Cloud Event \u7684\u683c\u5f0f\u5b9e\u65f6\u8f6c\u53d1\u5230 Knative \u5e73\u53f0\uff0c\u662f Apahe RocketMQ \u548c Knative \u4e4b\u95f4\u7684\u8fde\u63a5\u5668\u3002

\n

3. Kafka \u4e8b\u4ef6\u6e90

\n

\"6.jpg\"

\n

\u6d88\u606f\u961f\u5217 Kafka \u7248\u662f\u963f\u91cc\u4e91\u57fa\u4e8e Apache Kafka \u6784\u5efa\u7684\u9ad8\u541e\u5410\u91cf\u3001\u9ad8\u53ef\u6269\u5c55\u6027\u7684\u5206\u5e03\u5f0f\u6d88\u606f\u961f\u5217\u670d\u52a1\uff0c\u5e7f\u6cdb\u7528\u4e8e\u65e5\u5fd7\u6536\u96c6\u3001\u76d1\u63a7\u6570\u636e\u805a\u5408\u3001\u6d41\u5f0f\u6570\u636e\u5904\u7406\u3001\u5728\u7ebf\u548c\u79bb\u7ebf\u5206\u6790\u7b49\uff0c\u662f\u5927\u6570\u636e\u751f\u6001\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u4ea7\u54c1\u4e4b\u4e00\uff0c\u963f\u91cc\u4e91\u63d0\u4f9b\u5168\u6258\u7ba1\u670d\u52a1\uff0c\u7528\u6237\u65e0\u9700\u90e8\u7f72\u8fd0\u7ef4\uff0c\u66f4\u4e13\u4e1a\u3001\u66f4\u53ef\u9760\u3001\u66f4\u5b89\u5168\u3002

\n

\u4e09\u3001AI \u4e8b\u4ef6\u9a71\u52a8\u573a\u666f\u5b9e\u8df5

\n

\"7.jpg\"

\n

\u4ee5\u5177\u4f53\u573a\u666f\u4e3a\u4f8b\uff0c\u8be5\u6848\u4f8b\u662f\u4e00\u4e2a\u76f4\u64ad\u7cfb\u7edf\uff0c\u7cfb\u7edf\u6bcf\u5929\u90fd\u6709\u6d77\u91cf\u7684\u76f4\u64ad\u8bbf\u95ee\uff0c\u8bbf\u95ee\u91cf\u6839\u636e\u76f4\u64ad\u70ed\u5ea6\u968f\u65f6\u53d8\u5316\uff0c\u5f39\u6027\u6709\u6ce2\u52a8\uff0c\u540c\u65f6\u5b58\u5728\u4e0d\u5b9a\u65f6\u7684\u589e\u91cf\u3002\u5ba2\u6237\u7684\u8bc9\u6c42\uff0c\u4e00\u662f\u4e1a\u52a1\u5f39\u6027\u6ce2\u52a8\uff0c\u6d88\u606f\u5e76\u53d1\u6027\u6bd4\u8f83\u9ad8\uff1b\u4e8c\u662f\u4e92\u52a8\u5b9e\u65f6\u54cd\u5e94\uff0c\u8981\u6c42\u4f4e\u5ef6\u8fdf\u3002

\n

\u4e3a\u4e86\u6ee1\u8db3\u5bf9\u6d88\u606f\u5904\u7406\u7684\u5f39\u6027\u6ce2\u52a8\u3001\u9ad8\u5e76\u53d1\u53ca\u4f4e\u5ef6\u8fdf\u7684\u8981\u6c42\uff0c\u5ba2\u6237\u9009\u62e9\u963f\u91cc\u4e91\u7684 Knative \u670d\u52a1\u8fdb\u884c\u6570\u636e\u7684\u5f39\u6027\u5904\u7406\u3002\u963f\u91cc\u4e91 Knative \u5b8c\u5168\u5951\u5408\u4e86\u7528\u6237\u5f53\u524d\u7684\u8bc9\u6c42\uff0c\u5e76\u4e14\u5728\u63a5\u5165 K8s \u6807\u51c6\u4e4b\u4e0a\uff0c\u63d0\u4f9b\u4e86\u57fa\u4e8e\u4e8b\u4ef6\u548c\u6d88\u606f\u7684\u5f39\u6027\u8c03\u5ea6\u3002

\n

\u5f53\u5e94\u7528\u5b9e\u4f8b\u6570\u968f\u7740\u4e1a\u52a1\u7684\u6ce2\u5cf0\u6ce2\u8c37\u8fdb\u884c\u6269\u5bb9\u548c\u7f29\u5bb9\u65f6\uff0c\u771f\u6b63\u505a\u5230\u4e86\u6309\u9700\u4f7f\u7528\u3001\u5b9e\u65f6\u5f39\u6027\u7684\u80fd\u529b\u3002\u6574\u4e2a\u8fc7\u7a0b\u5b8c\u5168\u81ea\u52a8\u5316\uff0c\u51cf\u5c11\u4e1a\u52a1\u5f00\u53d1\u4eba\u5458\u5728\u57fa\u7840\u8bbe\u65bd\u4e0a\u7684\u8d1f\u62c5\u3002\u5728\u8fd9\u4e2a\u6848\u4f8b\u4e2d\uff0cKnative \u4e3b\u8981\u63d0\u4f9b\u4e86\u4e09\u4e2a\u80fd\u529b\uff1a\u6781\u81f4\u5f39\u6027\u3001\u4e8b\u4ef6\u5904\u7406\u3001\u5f00\u7bb1\u5373\u7528\u3002

\n

\u4e0b\u9762\u8fdb\u884c\u793a\u4f8b\u6f14\u793a\uff0c\u6f14\u793a\u5185\u5bb9\u4e3b\u8981\u6709\uff1a

\n\n

\u6f14\u793a\u8fc7\u7a0b\u89c2\u770b\u94fe\u63a5\uff1ahttps://developer.aliyun.com/live/246128

\n

\u4f5c\u8005\u7b80\u4ecb\uff1a\n\u674e\u9e4f\uff0c\u82b1\u540d\uff1a\u5143\u6bc5\uff0c\u963f\u91cc\u4e91\u5bb9\u5668\u5e73\u53f0\u9ad8\u7ea7\u5f00\u53d1\u5de5\u7a0b\u5e08\uff0c2016 \u5e74\u52a0\u5165\u963f\u91cc\uff0c \u6df1\u5ea6\u53c2\u4e0e\u4e86\u963f\u91cc\u5df4\u5df4\u5168\u9762\u5bb9\u5668\u5316\u3001\u8fde\u7eed\u591a\u5e74\u652f\u6301\u53cc\u5341\u4e00\u5bb9\u5668\u5316\u94fe\u8def\u3002\u4e13\u6ce8\u4e8e\u5bb9\u5668\u3001Kubernetes \u3001Service Mesh \u548c Serverless \u7b49\u4e91\u539f\u751f\u9886\u57df\uff0c\u81f4\u529b\u4e8e\u6784\u5efa\u65b0\u4e00\u4ee3 Serverless \u5e73\u53f0\u3002\u5f53\u524d\u8d1f\u8d23\u963f\u91cc\u4e91\u5bb9\u5668\u670d\u52a1 Knative \u76f8\u5173\u5de5\u4f5c\u3002

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/765363", "title": "Knativa \u57fa\u4e8e\u6d41\u91cf\u7684\u7070\u5ea6\u53d1\u5e03\u548c\u81ea\u52a8\u5f39\u6027\u5b9e\u8df5", "id": "t/765363", "date_published": "2021-03-26T04:51:55+00:00", "content_html": "

\"\u5934\u56fe.jpg\"

\n

\u4f5c\u8005 | \u674e\u9e4f\uff08\u5143\u6bc5\uff09\n\u6765\u6e90 | Serverless \u516c\u4f17\u53f7

\n

\u4e00\u3001Knative

\n

Knative \u63d0\u4f9b\u4e86\u57fa\u4e8e\u6d41\u91cf\u7684\u81ea\u52a8\u6269\u7f29\u5bb9\u80fd\u529b\uff0c\u53ef\u4ee5\u6839\u636e\u5e94\u7528\u7684\u8bf7\u6c42\u91cf\uff0c\u5728\u9ad8\u5cf0\u65f6\u81ea\u52a8\u6269\u5bb9\u5b9e\u4f8b\u6570\uff1b\u5f53\u8bf7\u6c42\u91cf\u51cf\u5c11\u4ee5\u540e\uff0c\u81ea\u52a8\u7f29\u5bb9\u5b9e\u4f8b\uff0c\u505a\u5230\u81ea\u52a8\u5316\u5730\u8282\u7701\u8d44\u6e90\u6210\u672c\u3002\u6b64\u5916\uff0cKnative \u8fd8\u63d0\u4f9b\u4e86\u57fa\u4e8e\u6d41\u91cf\u7684\u7070\u5ea6\u53d1\u5e03\u80fd\u529b\uff0c\u53ef\u4ee5\u5c06\u6d41\u91cf\u7684\u767e\u5206\u6bd4\u8fdb\u884c\u7070\u5ea6\u53d1\u5e03\u3002

\n

\u5728\u4ecb\u7ecd Knative \u7070\u5ea6\u53d1\u5e03\u548c\u81ea\u52a8\u5f39\u6027\u4e4b\u524d\uff0c\u5148\u5e26\u5927\u5bb6\u4e86\u89e3\u4e00\u4e0b ASK Knative \u4e2d\u7684\u6d41\u91cf\u8bf7\u6c42\u673a\u5236\u3002

\n

\"1.jpg\"

\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0c\u6574\u4f53\u7684\u6d41\u91cf\u8bf7\u6c42\u673a\u5236\u5206\u4e3a\u4ee5\u4e0b\u90e8\u5206\uff1a

\n\n

\u9664\u4e86\u6d41\u91cf\u8bf7\u6c42\u673a\u5236\u5916\uff0c\u4e0a\u56fe\u8fd8\u5c55\u793a\u4e86\u76f8\u5e94\u7684\u5f39\u6027\u7b56\u7565\uff0c\u5982 KPA \u3001HPA \u7b49\u3002

\n

\u4e8c\u3001Service \u751f\u547d\u5468\u671f

\n

Service \u662f\u76f4\u63a5\u9762\u5411\u5f00\u53d1\u8005\u64cd\u4f5c\u7684\u8d44\u6e90\u5bf9\u8c61\uff0c\u5305\u542b\u4e24\u90e8\u5206\u7684\u8d44\u6e90\uff1aRoute \u548c Configuration \u3002

\n

\"2.jpg\"

\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e Configuration \u91cc\u9762\u7684\u4fe1\u606f\uff0c\u8bbe\u7f6e\u76f8\u5e94\u7684\u955c\u50cf\u3001\u5185\u5bb9\u4ee5\u53ca\u73af\u5883\u53d8\u91cf\u4fe1\u606f\u3002

\n

1. Configuration

\n

\"3.jpg\"

\n

Configuration \u662f\uff1a

\n\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0c\u4e0e Knative Service \u76f8\u6bd4\u8f83\uff0cConfiguration \u548c\u5b83\u7684\u914d\u7f6e\u5f88\u63a5\u8fd1\uff0cConfiguration \u91cc\u914d\u7f6e\u7684\u5c31\u662f\u5bb9\u5668\u671f\u671b\u7684\u8d44\u6e90\u4fe1\u606f\u3002

\n

2. Route

\n

\"4.jpg\"

\n

Route \u53ef\u4ee5\uff1a

\n\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0c\u4e00\u4e2a Route \u8d44\u6e90\uff0c\u4e0b\u9762\u5305\u62ec\u4e00\u4e2a traffic \u4fe1\u606f\uff0ctraffic \u91cc\u9762\u53ef\u4ee5\u8bbe\u7f6e\u5bf9\u5e94\u7684\u7248\u672c\u548c\u6bcf\u4e2a\u7248\u672c\u5bf9\u5e94\u7684\u6d41\u91cf\u6bd4\u4f8b\u3002

\n

3. Revision

\n

\"5.jpg\"

\n\n

Knative Service \u4e2d\u7248\u672c\u7ba1\u7406\u7684\u8d44\u6e90\uff1aRevision\uff0c\u5b83\u662f Configuration \u7684\u5feb\u7167\uff0c\u6bcf\u6b21\u66f4\u65b0 Configuration \u5c31\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Revision\uff0c\u53ef\u4ee5\u901a\u8fc7 Revision \u5b9e\u73b0\u7248\u672c\u8ffd\u8e2a\u3001\u7070\u5ea6\u53d1\u5e03\u4ee5\u53ca\u56de\u6eda\u3002\u5728 Revision \u8d44\u6e90\u91cc\u9762\uff0c\u53ef\u4ee5\u76f4\u63a5\u5730\u770b\u5230\u914d\u7f6e\u7684\u955c\u50cf\u4fe1\u606f\u3002

\n

\u4e09\u3001\u57fa\u4e8e\u6d41\u91cf\u7684\u7070\u5ea6\u53d1\u5e03

\n

\"6.jpg\"

\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0c\u5047\u5982\u4e00\u5f00\u59cb\u6211\u4eec\u521b\u5efa\u4e86 V1 \u7248\u672c\u7684 Revision\uff0c\u8fd9\u65f6\u5982\u679c\u6709\u65b0\u7684\u7248\u672c\u53d8\u66f4\uff0c\u90a3\u4e48\u6211\u4eec\u53ea\u9700\u8981\u66f4\u65b0 Service \u4e2d\u7684 Configuration\uff0c\u5c31\u4f1a\u76f8\u5e94\u7684\u521b\u5efa\u51fa V2 \u7248\u672c\u3002\u7136\u540e\u901a\u8fc7 Route \u5bf9 V1 \u548c V2 \u8bbe\u7f6e\u4e0d\u540c\u7684\u6d41\u91cf\u6bd4\u4f8b\uff0c\u4e0a\u56fe\u4e2d V1 \u662f 70%\uff0cV2 \u662f 30%\uff0c\u6d41\u91cf\u4f1a\u6309\u7167 7:3 \u7684\u6bd4\u4f8b\u5206\u522b\u5206\u53d1\u5230\u4e24\u4e2a\u7248\u672c\u4e0a\u3002\u4e00\u65e6 V2 \u7248\u672c\u9a8c\u8bc1\u6ca1\u6709\u95ee\u9898\uff0c\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u901a\u8fc7\u8c03\u6574\u6d41\u91cf\u6bd4\u4f8b\u7684\u65b9\u5f0f\u8fdb\u884c\u7ee7\u7eed\u7070\u5ea6\uff0c\u76f4\u5230\u65b0\u7684\u7248\u672c V2 \u8fbe\u5230 100%\u3002

\n

\u5728\u7070\u5ea6\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e00\u65e6\u53d1\u73b0\u65b0\u7248\u672c\u6709\u5f02\u5e38\uff0c\u968f\u65f6\u53ef\u4ee5\u8c03\u6574\u6d41\u91cf\u6bd4\u4f8b\u8fdb\u884c\u56de\u6eda\u3002\u5047\u8bbe\u7070\u5ea6\u5230 30% \u7684\u65f6\u5019\uff0c\u53d1\u73b0 V2 \u7248\u672c\u6709\u95ee\u9898\uff0c\u6211\u4eec\u5c31\u53ef\u4ee5\u628a\u6bd4\u4f8b\u8c03\u56de\u53bb\uff0c\u5728\u539f\u6765\u7684 V1 \u7248\u672c\u4e0a\u8bbe\u7f6e\u6d41\u91cf 100%\uff0c\u5b9e\u73b0\u56de\u6eda\u64cd\u4f5c\u3002

\n

\u9664\u6b64\u4e4b\u5916\uff0c\u6211\u4eec\u8fd8\u53ef\u4ee5\u5728 Route \u4e2d\u901a\u8fc7 traffic \u5bf9 Revision \u6253\u4e0a\u4e00\u4e2a Tag\uff0c\u6253\u5b8c Tag \u4e4b\u540e\uff0c\u5728 Knative \u4e2d\u4f1a\u81ea\u52a8\u5bf9\u5f53\u524d\u7684 Revision \u751f\u6210\u4e00\u4e2a\u53ef\u76f4\u63a5\u8bbf\u95ee\u7684 URL\uff0c\u901a\u8fc7\u8fd9\u4e2a URL \u6211\u4eec\u53ef\u4ee5\u76f4\u63a5\u628a\u76f8\u5e94\u7684\u6d41\u91cf\u6253\u5230\u5f53\u524d\u7684\u67d0\u4e00\u4e2a\u7248\u672c\u4e0a\u53bb\uff0c\u8fd9\u6837\u53ef\u4ee5\u5b9e\u73b0\u5bf9\u67d0\u4e2a\u7248\u672c\u7684\u8c03\u8bd5\u3002

\n

\u56db\u3001\u81ea\u52a8\u5f39\u6027

\n

\u5728 Knative \u4e2d\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u5f39\u6027\u7b56\u7565\uff0c\u9664\u6b64\u4e4b\u5916\uff0cASK Knative \u4e2d\u8fd8\u6269\u5c55\u4e86\u4e00\u4e9b\u76f8\u5e94\u7684\u5f39\u6027\u673a\u5236\uff0c\u63a5\u4e0b\u6765\u5206\u522b\u4ecb\u7ecd\u4ee5\u4e0b\u51e0\u4e2a\u5f39\u6027\u7b56\u7565\uff1a

\n\n

1. \u81ea\u52a8\u6269\u7f29\u5bb9-KPA

\n

\"7.jpg\"

\n

\u56fe\uff1aKnative Pod \u81ea\u52a8\u6269\u7f29\u5bb9\uff08 KPA \uff09

\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0cRoute \u53ef\u4ee5\u7406\u89e3\u6210\u6d41\u91cf\u7f51\u5173\uff1b Activator \u5728 Knative \u4e2d\u627f\u8f7d\u7740 0~1 \u7684\u804c\u8d23\uff0c\u5f53\u6ca1\u6709\u8bf7\u6c42\u6d41\u91cf\u65f6\uff0cKnative \u4f1a\u628a\u76f8\u5e94\u7684\u670d\u52a1\u6302\u5230 Activator Pod \u4e0a\u9762\uff0c\u4e00\u65e6\u6709\u7b2c\u4e00\u4e2a\u6d41\u91cf\u8fdb\u6765\uff0c\u9996\u5148\u4f1a\u8fdb\u5165\u5230 Activator\uff0cActivator \u6536\u5230\u6d41\u91cf\u4e4b\u540e\uff0c\u4f1a\u901a\u8fc7 Autoscaler \u6269\u5bb9 Pod\uff0c\u6269\u5bb9\u5b8c\u6210\u4e4b\u540e Activator \u628a\u8bf7\u6c42\u8f6c\u53d1\u5230\u76f8\u5e94\u7684 Pod \u4e0a\u53bb\u3002\u4e00\u65e6 Pod ready \u4e4b\u540e\uff0c\u90a3\u4e48\u63a5\u4e0b\u6765\u76f8\u5e94\u7684\u670d\u52a1\u4f1a\u901a\u8fc7 Route \u76f4\u63a5\u6253\u5230 Pod \u4e0a\u9762\u53bb\uff0c\u8fd9\u65f6 Activator \u5df2\u7ecf\u7ed3\u675f\u4e86\u5b83\u7684\u4f7f\u547d\u3002

\n

\u5728 1~N \u7684\u8fc7\u7a0b\u4e2d\uff0cPod \u901a\u8fc7\u00a0kube-proxy\u00a0\u5bb9\u5668\u53ef\u4ee5\u91c7\u96c6\u6bcf\u4e2a Pod \u91cc\u9762\u7684\u8bf7\u6c42\u5e76\u53d1\u6307\u6570\u00ad\uff0c\u4e5f\u5c31\u662f\u8bf7\u6c42\u6307\u6807\u3002Autoscaler \u6839\u636e\u8fd9\u4e9b\u8bf7\u6c42\u6307\u6807\u8fdb\u884c\u6c47\u805a\uff0c\u8ba1\u7b97\u76f8\u5e94\u7684\u9700\u8981\u7684\u6269\u5bb9\u6570\uff0c\u5b9e\u73b0\u57fa\u4e8e\u6d41\u91cf\u7684\u6700\u7ec8\u6269\u7f29\u5bb9\u3002

\n

2. \u6c34\u5e73\u6269\u7f29\u5bb9-HPA

\n

\"8.jpg\"

\n

\u56fe\uff1aPod \u6c34\u5e73\u81ea\u52a8\u6269\u7f29\u5bb9\uff08 HPA \uff09

\n

\u5b83\u5176\u5b9e\u662f\u5c06 K8s \u4e2d\u539f\u751f\u7684 HPA \u505a\u4e86\u5c01\u88c5\uff0c\u901a\u8fc7 Revision \u914d\u7f6e\u76f8\u5e94\u7684\u6307\u6807\u4ee5\u53ca\u7b56\u7565\uff0c\u4f7f\u7528 K8s \u539f\u751f\u7684 HPA\uff0c\u652f\u6301 CPU \u3001Memory \u7684\u81ea\u52a8\u6269\u7f29\u5bb9\u3002

\n

3. \u5b9a\u65f6+HPA \u878d\u5408

\n

\"9.jpg\"

\n\n

\u5728 Knative \u4e4b\u4e0a\uff0c\u6211\u4eec\u5c06\u5b9a\u65f6\u4e0e HPA \u8fdb\u884c\u878d\u5408\uff0c\u5b9e\u73b0\u63d0\u524d\u89c4\u5212\u5bb9\u91cf\u8fdb\u884c\u8d44\u6e90\u9884\u70ed\u3002\u6211\u4eec\u5728\u4f7f\u7528 K8s \u65f6\u53ef\u4ee5\u4f53\u4f1a\u5230\uff0c\u901a\u8fc7 HPA \u8fdb\u884c\u6269\u5bb9\u65f6\uff0c\u7b49\u6307\u6807\u9608\u503c\u4e0a\u6765\u4e4b\u540e\u518d\u8fdb\u884c\u6269\u5bb9\u7684\u8bdd\uff0c\u6709\u65f6\u6ee1\u8db3\u4e0d\u4e86\u5b9e\u9645\u7684\u7a81\u53d1\u573a\u666f\u3002\u5bf9\u4e8e\u4e00\u4e9b\u6709\u89c4\u5f8b\u6027\u7684\u5f39\u6027\u4efb\u52a1\uff0c\u53ef\u4ee5\u901a\u8fc7\u5b9a\u65f6\u7684\u65b9\u5f0f\uff0c\u63d0\u524d\u89c4\u5212\u597d\u67d0\u4e2a\u65f6\u95f4\u6bb5\u9700\u8981\u6269\u5bb9\u7684\u91cf\u3002

\n

\u6211\u4eec\u8fd8\u4e0e CPU \u3001Memory \u8fdb\u884c\u7ed3\u5408\u3002\u6bd4\u5982\u67d0\u4e2a\u65f6\u95f4\u6bb5\u5b9a\u65f6\u8bbe\u7f6e\u4e3a 10 \u4e2a Pod\uff0c\u4f46\u662f\u5f53\u524d CPU \u5bf9\u9608\u503c\u8ba1\u7b97\u51fa\u6765\u9700\u8981 20 \u4e2a Pod\uff0c\u8fd9\u65f6\u4f1a\u53d6\u4e8c\u8005\u7684\u6700\u5927\u503c\uff0c\u4e5f\u5c31\u662f 20 \u4e2a Pod \u8fdb\u884c\u6269\u5bb9\uff0c\u8fd9\u662f\u670d\u52a1\u7a33\u5b9a\u6027\u7684\u6700\u57fa\u672c\u4fdd\u969c\u3002

\n

4. \u4e8b\u4ef6\u7f51\u5173

\n

\"10.jpg\"

\n\n

\u4e8b\u4ef6\u7f51\u5173\u662f\u57fa\u4e8e\u6d41\u91cf\u8bf7\u6c42\u7684\u7cbe\u51c6\u5f39\u6027\u3002\u5f53\u4e8b\u4ef6\u8fdb\u6765\u4e4b\u540e\uff0c\u4f1a\u5148\u8fdb\u5165\u5230\u4e8b\u4ef6\u7f51\u5173\u91cc\u9762\uff0c\u6211\u4eec\u4f1a\u6839\u636e\u5f53\u524d\u8fdb\u6765\u7684\u8bf7\u6c42\u6570\u53bb\u6269\u5bb9 Pod\uff0c\u6269\u5bb9\u5b8c\u6210\u4e4b\u540e\uff0c\u4f1a\u4ea7\u751f\u5c06\u4efb\u52a1\u548c Pod \u4e00\u5bf9\u4e00\u8f6c\u53d1\u7684\u8bc9\u6c42\u3002\u56e0\u4e3a\u6709\u65f6\u67d0\u4e2a Pod \u540c\u4e00\u65f6\u95f4\u53ea\u80fd\u5904\u7406\u4e00\u4e2a\u8bf7\u6c42\uff0c\u8fd9\u65f6\u5019\u6211\u4eec\u5c31\u8981\u5bf9\u8fd9\u79cd\u60c5\u51b5\u8fdb\u884c\u5904\u7406\uff0c\u4e5f\u5c31\u662f\u4e8b\u4ef6\u7f51\u5173\u6240\u89e3\u51b3\u7684\u573a\u666f\u3002

\n

5. \u81ea\u5b9a\u4e49\u6269\u7f29\u5bb9\u63d2\u4ef6

\n

\"11.jpg\"

\n

\u81ea\u5b9a\u4e49\u6269\u7f29\u5bb9\u63d2\u4ef6\u6709 2 \u4e2a\u5173\u952e\u70b9\uff1a

\n\n

\u6307\u6807\u4ece\u54ea\u6765\uff1f\u50cf Knative \u793e\u533a\u63d0\u4f9b\u7684\u57fa\u4e8e\u6d41\u91cf\u7684 KPA\uff0c\u5b83\u7684\u6307\u6807\u662f\u901a\u8fc7\u4e00\u4e2a\u5b9a\u65f6\u7684\u4efb\u52a1\u53bb\u6bcf\u4e2a Pod \u7684 queue-proxy \u5bb9\u5668\u4e2d\u62c9\u53d6 Metric \u6307\u6807\u3002\u901a\u8fc7 controller \u5bf9\u83b7\u53d6\u8fd9\u4e9b\u6307\u6807\u8fdb\u884c\u5904\u7406\uff0c\u505a\u6c47\u805a\u5e76\u8ba1\u7b97\u9700\u8981\u6269\u5bb9\u591a\u5c11 Pod \u3002\n\u600e\u4e48\u6267\u884c\u6269\u7f29\u5bb9\uff1f\u5176\u5b9e\u901a\u8fc7\u8c03\u6574\u76f8\u5e94\u7684 Deployment \u91cc\u9762\u7684 Pod \u6570\u5373\u53ef\u3002

\n

\u8c03\u6574\u91c7\u96c6\u6307\u6807\u548c\u8c03\u6574 Pod \u5b9e\u4f8b\u6570\uff0c\u5b9e\u73b0\u8fd9\u4e24\u90e8\u5206\u540e\u5c31\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u5b9e\u73b0\u81ea\u5b9a\u4e49\u6269\u7f29\u5bb9\u63d2\u4ef6\u3002

\n

\u4e94\u3001\u5b9e\u64cd\u6f14\u793a

\n

\u4e0b\u9762\u8fdb\u884c\u793a\u4f8b\u6f14\u793a\uff0c\u6f14\u793a\u5185\u5bb9\u4e3b\u8981\u6709\uff1a

\n\n

\u6f14\u793a\u8fc7\u7a0b\u89c2\u770b\u94fe\u63a5\uff1ahttps://developer.aliyun.com/live/246127

\n

\u4f5c\u8005\u7b80\u4ecb\uff1a\n\u674e\u9e4f\uff0c\u82b1\u540d\uff1a\u5143\u6bc5\uff0c\u963f\u91cc\u4e91\u5bb9\u5668\u5e73\u53f0\u9ad8\u7ea7\u5f00\u53d1\u5de5\u7a0b\u5e08\uff0c2016 \u5e74\u52a0\u5165\u963f\u91cc\uff0c \u6df1\u5ea6\u53c2\u4e0e\u4e86\u963f\u91cc\u5df4\u5df4\u5168\u9762\u5bb9\u5668\u5316\u3001\u8fde\u7eed\u591a\u5e74\u652f\u6301\u53cc\u5341\u4e00\u5bb9\u5668\u5316\u94fe\u8def\u3002\u4e13\u6ce8\u4e8e\u5bb9\u5668\u3001Kubernetes \u3001Service Mesh \u548c Serverless \u7b49\u4e91\u539f\u751f\u9886\u57df\uff0c\u81f4\u529b\u4e8e\u6784\u5efa\u65b0\u4e00\u4ee3 Serverless \u5e73\u53f0\u3002\u5f53\u524d\u8d1f\u8d23\u963f\u91cc\u4e91\u5bb9\u5668\u670d\u52a1 Knative \u76f8\u5173\u5de5\u4f5c\u3002

\n" }, { "author": { "url": "member/scf10cent", "name": "scf10cent", "avatar": "https://cdn.v2ex.com/avatar/45ff/a7d1/420644_large.png?m=1578562081" }, "url": "t/760582", "title": "Serverless Wordpress \u5efa\u7ad9\u4e09\u90e8\u66f2", "id": "t/760582", "date_published": "2021-03-11T02:39:33+00:00", "content_html": "

Serverless Wordpress \u7cfb\u5217\u5efa\u7ad9\u6559\u7a0b\uff08\u4e00\uff09

\n
\n

\u4e00\u79cd\u57fa\u4e8e Serverless \u67b6\u6784\u7684 WordPress \u5168\u65b0\u90e8\u7f72\u65b9\u5f0f

\n
\n

Serverless Wordpress \u7cfb\u5217\u5efa\u7ad9\u6559\u7a0b\uff08\u4e8c\uff09

\n
\n

\u6559\u4f60\u5982\u4f55\u7533\u8bf7\u5e76\u7ed1\u5b9a\u81ea\u5b9a\u4e49\u57df\u540d

\n
\n

Serverless Wordpress \u7cfb\u5217\u5efa\u7ad9\u6559\u7a0b\uff08\u4e09\uff09

\n
\n

\u4f7f\u7528 Serverless \u5efa\u7ad9\u662f\u5982\u4f55\u8ba1\u8d39\u7684\uff1f

\n
\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/755818", "title": "Serverless \u5982\u4f55\u5728\u963f\u91cc\u5df4\u5df4\u5b9e\u73b0\u89c4\u6a21\u5316\u843d\u5730\uff1f", "id": "t/755818", "date_published": "2021-02-24T06:36:40+00:00", "content_html": "

\"\u5934\u56fe.jpg\"

\n

\u4f5c\u8005 | \u8d75\u5e86\u6770\uff08\u5362\u4ee4\uff09\n\u6765\u6e90 | Serverless \u516c\u4f17\u53f7

\n

\u4e00\u3001Serverless \u89c4\u6a21\u5316\u843d\u5730\u96c6\u56e2\u7684\u6210\u679c

\n

2020 \u5e74\uff0c\u6211\u4eec\u5728 Serverless \u5e95\u5c42\u57fa\u5efa\u4e0a\u505a\u4e86\u975e\u5e38\u5927\u7684\u5347\u7ea7\uff0c\u6bd4\u5982\u8ba1\u7b97\u5347\u7ea7\u5230\u4e86\u7b2c\u56db\u4ee3\u795e\u9f99\u67b6\u6784\uff0c\u5b58\u50a8\u4e0a\u5347\u7ea7\u5230\u4e86\u76d8\u53e4 2.0\uff0c\u7f51\u7edc\u4e0a\u8fdb\u5165\u4e86\u767e G \u6d1b\u795e\u7f51\u7edc\uff0c\u6574\u4f53\u5347\u7ea7\u4e4b\u540e\u6027\u80fd\u63d0\u5347\u4e24\u500d\uff1b BaaS \u5c42\u9762\u4e5f\u8fdb\u884c\u4e86\u5f88\u5927\u7684\u62d3\u5c55\uff0c\u6bd4\u5982\u652f\u6301\u4e86 Event Bridge \u3001Serverless Workflow\uff0c\u8fdb\u4e00\u6b65\u63d0\u5347\u4e86\u7cfb\u7edf\u80fd\u529b\u3002

\n

\u9664\u6b64\u4ee5\u5916\uff0c\u6211\u4eec\u8fd8\u4e0e\u96c6\u56e2\u5185\u5341\u51e0\u4e2a BU \u8fdb\u884c\u4e86\u5408\u4f5c\u5171\u5efa\uff0c\u5e2e\u52a9\u4e1a\u52a1\u65b9\u843d\u5730 Serverless \u4ea7\u54c1\uff0c\u5176\u4e2d\u5305\u542b \u53cc 11 \u6838\u5fc3\u7684\u5e94\u7528\u573a\u666f\uff0c\u5e2e\u52a9\u5176\u987a\u5229\u901a\u8fc7 \u53cc 11 \u6d41\u91cf\u5cf0\u503c\u5927\u8003\uff0c\u8bc1\u660e\u4e86 Serverless \u5728\u6838\u5fc3\u7684\u5e94\u7528\u573a\u666f\u4e0b\uff0c\u4f9d\u7136\u8868\u73b0\u5f97\u975e\u5e38\u7a33\u5b9a\u3002

\n

\"1.jpg\"

\n

\u4e8c\u3001\u4e24\u5927\u80cc\u666f\uff0c\u4e24\u5927\u4f18\u52bf \u2013 \u52a0\u901f Serverless \u843d\u5730

\n

1. Serverless \u4e24\u5927\u80cc\u666f

\n

\u4e3a\u4ec0\u4e48\u5728\u96c6\u56e2\u5185\u90e8\u80fd\u5feb\u901f\u5b9e\u73b0\u89c4\u6a21\u5316\u5730\u843d\u5730 Serverless \uff1f\u9996\u5148\u6211\u4eec\u6709\u4e24\u5927\u524d\u63d0\u80cc\u666f\uff1a

\n

\u7b2c\u4e00\u4e2a\u80cc\u666f\u662f\u4e0a\u4e91\uff0c\u96c6\u56e2\u4e0a\u4e91\u662f\u91cd\u8981\u7684\u524d\u63d0\uff0c\u53ea\u6709\u4e0a\u4e91\u624d\u80fd\u4eab\u53d7\u5230\u4e91\u4e0a\u7684\u5f39\u6027\u7ea2\u5229\uff0c\u5982\u679c\u8fd8\u662f\u81ea\u5df1\u5185\u90e8\u7684\u4e00\u6735\u4e91\uff0c\u540e\u7eed\u7684\u8d77\u6548\u964d\u672c\u5176\u5b9e\u975e\u5e38\u96be\u8fbe\u6210\uff0c\u6240\u4ee5 2019 \u5e74\u53cc\u5341\u4e00\u963f\u91cc\u5b9e\u73b0\u4e86\u6838\u5fc3\u7cfb\u7edf 100% \u4e0a\u4e91\uff0c\u6709\u4e86\u4e0a\u4e91\u524d\u63d0\uff0cServerless \u624d\u6709\u4e86\u53d1\u6325\u975e\u5e38\u4f5c\u7528\u7684\u7a7a\u95f4\u3002

\n

\u7b2c\u4e8c\u4e2a\u80cc\u666f\u662f\u5168\u9762\u4e91\u539f\u751f\u5316\uff0c\u6253\u9020\u4e86\u4e00\u4e2a\u5f3a\u5927\u7684\u4e91\u539f\u751f\u4ea7\u54c1\u7684\u4e91\u5bb6\u65cf\uff0c\u5bf9\u96c6\u56e2\u5185\u90e8\u4e1a\u52a1\u8fdb\u884c\u8d4b\u80fd\uff0c\u5e2e\u52a9\u4e1a\u52a1\u8fbe\u6210\u4e86\u5728\u4e0a\u4e91\u57fa\u7840\u4e0a\u7684\u4e24\u4e2a\u4e3b\u8981\u76ee\u6807\uff1a\u63d0\u9ad8\u6548\u80fd\u548c\u964d\u4f4e\u6210\u672c\uff0c2020 \u5e74\u5929\u732b\u53cc\u5341\u4e00\u6838\u5fc3\u7cfb\u7edf\u5168\u9762\u4e91\u539f\u751f\u5316\uff0c\u6548\u7387\u63d0\u5347 100%\uff0c\u6210\u672c\u964d\u4f4e 80%\u3002

\n

2. Serverless \u4e24\u5927\u4f18\u52bf

\n\n

\"2.jpg\"

\n

\u4e00\u4e2a\u6807\u51c6\u7684\u4e91\u539f\u751f\u5e94\u7528\uff0c\u4ece\u7814\u53d1\u5230\u4e0a\u7ebf\u5230\u8fd0\u7ef4\uff0c\u9700\u8981\u5b8c\u6210\u4e0a\u56fe\u4e2d\u6240\u6709\u6807\u6a59\u8272\u7684\u5de5\u4f5c\u9879\uff0c\u624d\u80fd\u5b8c\u6210\u6b63\u5f0f\u7684\u5fae\u670d\u52a1\u5e94\u7528\u4e0a\u7ebf\uff0c\u9996\u5148\u662f CI/CD \u4ee3\u7801\u6784\u5efa\uff0c\u53e6\u5916\u662f\u7cfb\u7edf\u8fd0\u7ef4\u7684\u53ef\u89c6\u5316\u5de5\u4f5c\u9879\u76ee\uff0c\u4e0d\u4ec5\u8981\u914d\u7f6e\u3001\u5bf9\u63a5\uff0c\u8fd8\u9700\u5bf9\u6574\u4f53\u6570\u636e\u94fe\u8def\u8fdb\u884c\u6d41\u91cf\u8bc4\u4f30\u3001\u5b89\u5168\u8bc4\u4f30\u3001\u6d41\u91cf\u7ba1\u7406\u7b49\uff0c\u8fd9\u663e\u7136\u5bf9\u4eba\u529b\u95e8\u69db\u8981\u6c42\u5df2\u7ecf\u975e\u5e38\u9ad8\u3002\u9664\u6b64\u4ee5\u5916\uff0c\u4e3a\u4e86\u63d0\u5347\u8d44\u6e90\u5229\u7528\u7387\uff0c\u6211\u4eec\u8fd8\u9700\u8981\u5bf9\u5404\u4e2a\u4e1a\u52a1\u8fdb\u884c\u6df7\u90e8\uff0c\u95e8\u69db\u4f1a\u8fdb\u4e00\u6b65\u7684\u63d0\u9ad8\u3002

\n

\u53ef\u4ee5\u770b\u51fa\uff0c\u6574\u4f53\u7684\u4e91\u539f\u751f\u4f20\u7edf\u5e94\u7528\uff0c\u8981\u5b9e\u73b0\u5fae\u670d\u52a1\u4e0a\u7ebf\u6240\u9700\u8981\u5b8c\u6210\u7684\u5de5\u4f5c\u9879\uff0c\u5bf9\u4e8e\u5f00\u53d1\u8005\u6765\u8bf4\u975e\u5e38\u8270\u96be\uff0c\u9700\u8981\u7531\u591a\u4e2a\u89d2\u8272\u8fdb\u884c\u5b8c\u6210\uff0c\u4f46\u662f\u5982\u679c\u5230 Serverless \u65f6\u4ee3\uff0c\u5f00\u53d1\u8005\u53ea\u8981\u5b8c\u6210\u4e0a\u56fe\u4e2d\u6807\u84dd\u8272\u7684\u6846 coding\uff0c\u540e\u7eed\u5269\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u9879\uff0cServerless \u7684\u7814\u53d1\u5e73\u53f0\u53ef\u4ee5\u76f4\u63a5\u5e2e\u52a9\u4e1a\u52a1\u5b8c\u6210\u4e0a\u7ebf\u3002

\n\n

\u63d0\u9ad8\u6548\u80fd\u4e3b\u8981\u6307\u7684\u662f\u4eba\u529b\u6210\u672c\u7684\u8282\u7701\uff0c\u800c\u964d\u4f4e\u6210\u672c\u5219\u9488\u5bf9\u7684\u662f\u5e94\u7528\u7684\u8d44\u6e90\u5229\u7528\u7387\u3002\u666e\u901a\u5e94\u7528\u6211\u4eec\u9700\u8981\u4e3a\u5cf0\u503c\u9884\u7559\u8d44\u6e90\uff0c\u4f46\u6ce2\u8c37\u5c31\u4f1a\u9020\u6210\u6781\u5927\u6d6a\u8d39\u3002\u5728 Serverless \u573a\u666f\u4e0b\uff0c\u6211\u4eec\u53ea\u9700\u8981\u6309\u9700\u4ed8\u8d39\uff0c\u62d2\u7edd\u4e3a\u5cf0\u503c\u9884\u7559\u8d44\u6e90\uff0c\u8fd9\u662f Serverless \u964d\u4f4e\u6210\u672c\u7684\u6700\u5927\u4f18\u52bf\u3002

\n

\"3.jpg\"

\n

\u4ee5\u4e0a\u4e24\u5927\u80cc\u666f\u548c\u4e24\u5927\u4f18\u52bf\uff0c\u7b26\u5408\u6280\u672f\u4e0a\u4e91\u7684\u8d8b\u52bf\uff0c\u6240\u4ee5\u96c6\u56e2\u5185\u90e8\u7684\u4e1a\u52a1\u65b9\u4e00\u62cd\u5373\u5408\uff0c\u4e00\u4e9b\u5927\u7684 BU \u5df2\u7ecf\u628a Serverless \u843d\u5730\u5347\u7ea7\u4e3a\u6218\u5f79\u5c42\u9762\uff0c\u52a0\u901f\u4e1a\u52a1\u843d\u5730\u7684 Serverless \u573a\u666f\u3002\u76ee\u524d\u5728\u96c6\u56e2\u843d\u5730\u7684 Serverless \u573a\u666f\u5df2\u7ecf\u975e\u5e38\u4e30\u5bcc\uff0c\u6d89\u53ca\u5230\u4e86\u6838\u5fc3\u7684\u4e00\u4e9b\u5e94\u7528\u3001\u4e2a\u6027\u5316\u63a8\u8350\u3001\u89c6\u9891\u5904\u7406\uff0c\u8fd8\u6709 AI \u63a8\u7406\u3001\u4e1a\u52a1\u5de1\u68c0\u7b49\u7b49\u3002

\n

\u4e09\u3001Serverless \u843d\u5730\u573a\u666f \u2013 \u524d\u7aef\u8f7b\u5e94\u7528

\n

\u76ee\u524d\uff0c\u96c6\u56e2\u5185\u524d\u7aef\u573a\u666f\u662f\u5e94\u7528 Serverless \u6700\u5feb\u3001\u6700\u5e7f\u7684\u573a\u666f\uff0c\u5305\u542b\u6dd8\u7cfb\u3001\u9ad8\u5fb7\u3001\u98de\u732a\u3001\u4f18\u9177\u3001\u95f2\u9c7c\u7b49 10+ \u4ee5\u4e0a BU \u3002\u90a3\u4e3a\u4ec0\u4e48\u524d\u7aef\u573a\u666f\u9002\u5408 Serverless \u5462\uff1f

\n

\"4.jpg\"

\n

\u4e0a\u56fe\u662f\u5168\u6808\u5de5\u7a0b\u5e08\u7684\u80fd\u529b\u6a21\u578b\u56fe\uff0c\u4e00\u822c\u7684\u5fae\u5e94\u7528\u4e2d\u9700\u8981\u6709\u4e09\u4e2a\u89d2\u8272\uff1a\u524d\u7aef\u5de5\u7a0b\u5e08\u3001\u540e\u7aef\u5f00\u53d1\u5de5\u7a0b\u5e08\uff0c\u8fd0\u7ef4\u5de5\u7a0b\u5e08\uff0c\u4e09\u8005\u5171\u540c\u5b8c\u6210\u5e94\u7528\u7684\u4e0a\u7ebf\u53d1\u5e03\u3002\u4e3a\u4e86\u63d0\u9ad8\u6548\u80fd\uff0c\u6700\u8fd1\u51e0\u5e74\u51fa\u73b0\u4e86\u5168\u6808\u5de5\u7a0b\u5e08\u7684\u89d2\u8272\uff0c\u4f5c\u4e3a\u5168\u6808\u5de5\u7a0b\u5e08\uff0c\u4ed6\u8981\u5177\u5907\u8fd9\u4e09\u4e2a\u89d2\u8272\u7684\u80fd\u529b\uff0c\u4e0d\u4ec5\u9700\u8981\u524d\u7aef\u7684\u5e94\u7528\u5f00\u53d1\u6280\u672f\uff0c\u8fd8\u9700\u8981\u540e\u7aef\u7cfb\u7edf\u5c42\u9762\u7684\u5f00\u53d1\u6280\u80fd\uff0c\u5e76\u4e14\u8981\u5173\u6ce8\u5e95\u5c42\u7684\u5185\u6838\u3001\u7cfb\u7edf\u8d44\u6e90\u7ba1\u7406\u7b49\uff0c\u8fd9\u5bf9\u4e8e\u524d\u7aef\u5de5\u7a0b\u5e08\u6765\u8bf4\u95e8\u69db\u663e\u7136\u975e\u5e38\u9ad8\u3002

\n

\u6700\u8fd1\u51e0\u5e74 Node.js \u6280\u672f\u5174\u8d77\uff0c\u80fd\u591f\u66ff\u4ee3\u540e\u7aef\u5f00\u53d1\u5de5\u7a0b\u5e08\u89d2\u8272\uff0c\u524d\u7aef\u5de5\u7a0b\u5e08\u53ea\u8981\u5177\u5907\u524d\u7aef\u5f00\u53d1\u80fd\u529b\uff0c\u5c31\u53ef\u4ee5\u5145\u5f53\u4e24\u4e2a\u89d2\u8272\uff0c\u5373\u524d\u7aef\u5de5\u7a0b\u5e08\u548c\u540e\u7aef\u5f00\u53d1\u5de5\u7a0b\u5e08\uff0c\u4f46\u8fd0\u7ef4\u5de5\u7a0b\u5e08\u4ecd\u7136\u65e0\u6cd5\u88ab\u53d6\u4ee3\u3002

\n

\u800c Serverless \u5e73\u53f0\uff0c\u89e3\u51b3\u7684\u5c31\u662f\u4e0a\u56fe\u4e09\u89d2\u5f62\u7ed3\u6784\u4e2d\u7684\u5e95\u90e8\u4e09\u5c42\uff0c\u6781\u5927\u964d\u4f4e\u4e86\u524d\u7aef\u5de5\u7a0b\u5e08\u8f6c\u53d8\u4e3a\u5168\u6808\u5de5\u7a0b\u5e08\u7684\u95e8\u69db\uff0c\u8fd9\u5bf9\u524d\u7aef\u4e1a\u52a1\u5f00\u53d1\u8005\u6765\u8bf4\u975e\u5e38\u6709\u8bf1\u60d1\u529b\u3002

\n

\"5.jpg\"

\n

\u53e6\u5916\u4e00\u4e2a\u539f\u56e0\u662f\u4e1a\u52a1\u7279\u6027\u7b26\u5408\uff0c\u5927\u90e8\u5206\u7684\u524d\u7aef\u5e94\u7528\u5177\u6709\u6d41\u91cf\u6d2a\u5cf0\u7684\u7279\u6027\uff0c\u9700\u8981\u4e1a\u52a1\u8bc4\u4f30\u524d\u7f6e\uff0c\u5b58\u5728\u8bc4\u4f30\u6210\u672c\uff1b\u540c\u65f6\u524d\u7aef\u573a\u666f\u66f4\u65b0\u8fed\u4ee3\u5feb\uff0c\u5feb\u4e0a\u5feb\u4e0b\uff0c\u8fd0\u7ef4\u6210\u672c\u9ad8\uff1b\u4e14\u7f3a\u4e4f\u52a8\u6001\u6269\u7f29\u80fd\u529b\uff0c\u5b58\u5728\u8d44\u6e90\u788e\u7247\u53ca\u8d44\u6e90\u6d6a\u8d39\u3002\u800c\u5982\u679c\u4f7f\u7528 Serverless\uff0c\u5e73\u53f0\u4f1a\u81ea\u52a8\u5e2e\u4f60\u89e3\u51b3\u4ee5\u4e0a\u6240\u6709\u7684\u540e\u987e\u4e4b\u5fe7\uff0c\u6240\u4ee5 Serverless \u5bf9\u524d\u7aef\u573a\u666f\u7684\u8bf1\u60d1\u529b\u975e\u5e38\u5927\u3002

\n

1. \u524d\u7aef\u843d\u5730\u573a\u666f

\n

\"6.png\"

\n

\u4e0a\u56fe\u5217\u4e3e\u4e86\u524d\u7aef\u843d\u5730\u7684\u51e0\u4e2a\u4e3b\u8981\u573a\u666f\u548c\u6280\u672f\u70b9\uff1a

\n

BFF \u8f6c\u6362\u6210 SFF \u5c42\uff1aBFF \u4e3b\u8981\u662f Backend For Frontend\uff0c\u524d\u7aef\u5de5\u7a0b\u5e08\u505a\u4e3b\u8981\u8fd0\u7ef4\uff0c\u4f46\u5230\u4e86 Serverless \u65f6\u4ee3\uff0c\u8fd0\u7ef4\u5b8c\u5168\u4ea4\u4e8e Serverless \u5e73\u53f0\uff0c\u524d\u7aef\u5de5\u7a0b\u5e08\u53ea\u9700\u8981\u5199\u4e1a\u52a1\u4ee3\u7801\uff0c\u5c31\u53ef\u4ee5\u5b8c\u6210\u8fd9\u9879\u5de5\u4f5c\u3002

\n

\u7626\u8eab\uff1a\u628a\u524d\u7aef\u7684\u4e1a\u52a1\u903b\u8f91\u4e0b\u6c89\u5230 SFF \u5c42\uff0c\u7531 SFF \u5c42\u53bb\u505a\u903b\u8f91\u7684\u590d\u7528\uff0c\u628a\u8fd0\u7ef4\u7684\u80fd\u529b\u4e5f\u4ea4\u7ed9 Serverless \u5e73\u53f0\uff0c\u5b9e\u73b0\u5ba2\u6237\u7aef\u8f7b\u91cf\u5316\uff0c\u63d0\u6548\u529f\u80fd\u4e0b\u6c89\u3002

\n

\u4e91\u7aef\u4e00\u4f53\u5316\uff1a\u4e00\u5904\u4ee3\u7801\u591a\u7aef\u5e94\u7528\uff0c\u8fd9\u662f\u975e\u5e38\u6d41\u884c\u7684\u5f00\u53d1\u6846\u67b6\uff0c\u540c\u6837\u9700\u8981 SFF \u4f5c\u4e3a\u652f\u6491\u3002

\n

CSR/SSR\uff1a\u901a\u8fc7 Serverless \u6ee1\u8db3\u670d\u52a1\u7aef\u6e32\u67d3\u3001\u5ba2\u6237\u7aef\u6e32\u67d3\u7b49\uff0c\u6765\u5b9e\u73b0\u524d\u7aef\u9996\u5c4f\u7684\u5feb\u901f\u5c55\u73b0\uff0cServerless \u7ed3\u5408 CDN \u6574\u4f53\u53ef\u4ee5\u4f5c\u4e3a\u524d\u7aef\u52a0\u901f\u7684\u89e3\u51b3\u65b9\u6848\u3002

\n

NoCode\uff1a\u76f8\u5f53\u4e8e\u5728 Serverless \u5e73\u53f0\u4e0a\u505a\u4e86\u5c01\u88c5\uff0c\u53ea\u9700\u62d6\u62fd\u51e0\u4e2a\u7ec4\u4ef6\uff0c\u5c31\u53ef\u4ee5\u642d\u5efa\u4e00\u4e2a\u524d\u7aef\u9875\u9762\uff0c\u6bcf\u4e2a\u7ec4\u4ef6\u90fd\u53ef\u4ee5\u7528 Serverless \u8fdb\u884c\u5305\u88c5\u3001\u529f\u80fd\u805a\u5408\u7b49\uff0c\u8fbe\u5230 NoCode \u7684\u6548\u679c\u3002

\n

\u4e2d\u540e\u53f0\u573a\u666f\uff1a\u4e3b\u8981\u662f\u5355\u4f53\u7684\u5bcc\u5e94\u7528\u573a\u666f\uff0c\u5355\u4f53\u5e94\u7528\u53ef\u4ee5\u5b8c\u5168\u7528 Serverless \u6a21\u5f0f\u8fdb\u884c\u6258\u7ba1\uff0c\u5b8c\u6210\u4e2d\u540e\u53f0\u5e94\u7528\u4e0a\u7ebf\uff0c\u8fd9\u540c\u6837\u4e5f\u53ef\u4ee5\u8282\u7701\u8fd0\u7ef4\u80fd\u529b\u3001\u51cf\u5c11\u6210\u672c\u3002

\n

2. \u524d\u7aef Coding \u53d8\u5316

\n

\u5728\u524d\u7aef\u573a\u666f\u5e94\u7528 Serverless \u4e4b\u540e\uff0ccoding \u6709\u54ea\u4e9b\u53d8\u5316\u5462\uff1f

\n

\"7.jpg\"

\n

\u5bf9\u524d\u7aef\u6709\u4e00\u5b9a\u4e86\u89e3\u7684\u90fd\u77e5\u9053\uff0c\u524d\u7aef\u4e00\u822c\u5206\u4e09\u5c42\uff1aState \u3001View \u548c Logic Engine\uff0c\u540c\u65f6\u4f1a\u628a\u4e00\u4e9b\u62bd\u8c61\u7684\u4e1a\u52a1\u903b\u8f91\u4e0b\u6c89\u5230 FaaS \u5c42\u4e91\u51fd\u6570\u4e0a\uff0c\u7136\u540e\u7528\u4e91\u51fd\u6570\u4f5c\u4e3a FaaS API \u6765\u63d0\u4f9b\u670d\u52a1\uff0c\u5728\u4ee3\u7801\u7f16\u5199\u4e0a\u53ef\u4ee5\u62bd\u8c61\u5404\u7c7b Aaction\uff0c\u6bcf\u4e2a Aaction \u53ef\u4ee5\u6709 FaaS \u51fd\u6570 API \u63d0\u4f9b\u670d\u52a1\u3002

\n

\"8.jpg\"

\n

\u4ee5\u4e00\u4e2a\u7b80\u5355\u7684\u9875\u9762\u4e3a\u4f8b\uff0c\u9875\u9762\u5de6\u4fa7\u662f\u4e00\u4e9b\u6e32\u67d3\u63a5\u53e3\uff0c\u53ef\u4ee5\u83b7\u53d6\u5546\u54c1\u8be6\u60c5\u3001\u6536\u8d27\u5730\u5740\u7b49\uff0c\u8fd9\u662f\u57fa\u4e8e Faas API \u5b9e\u73b0\u7684\uff1b\u53f3\u4fa7\u7684\u662f\u4e00\u4e9b\u4ea4\u4e92\u903b\u8f91\uff0c\u6bd4\u5982\u8d2d\u4e70\u3001\u6dfb\u52a0\u7b49\uff0c\u8fd9\u4e5f\u662f Faas API \u53ef\u4ee5\u7ee7\u7eed\u5b8c\u6210\u7684\u4efb\u52a1\u3002

\n

\u9875\u9762\u8bbe\u8ba1\u4e2d\uff0c\u6240\u6709\u7684 Faas API \u4e0d\u662f\u53ea\u80fd\u4e3a\u4e00\u4e2a\u9875\u9762\u6240\u4f7f\u7528\uff0c\u5b83\u53ef\u4ee5\u4e3a\u591a\u4e2a\u9875\u9762\u590d\u7528\u3002\u590d\u7528\u8fd9\u4e9b API \u6216\u8005\u8fdb\u884c\u62d6\u62fd\u4e4b\u540e\uff0c\u5c31\u53ef\u4ee5\u5b8c\u6210\u524d\u7aef\u9875\u9762\u7684\u7ec4\u88c5\uff0c\u8fd9\u5bf9\u4e8e\u524d\u7aef\u6765\u8bf4\u662f\u975e\u5e38\u65b9\u4fbf\u7684\u3002

\n

3. \u524d\u7aef\u8f7b\u5e94\u7528\u7814\u53d1\u63d0\u6548\uff1a1-5-10

\n

\"9.jpg\"

\n

\u5728\u524d\u7aef\u5e94\u7528 Serverless \u4e4b\u540e\uff0c\u6211\u4eec\u628a Serverless \u5bf9\u524d\u7aef\u7684\u7814\u53d1\u6548\u80fd\u7684\u63d0\u6548\u7b80\u5355\u603b\u7ed3\u4e3a 1-5-10\uff0c\u5176\u542b\u4e49\u662f\uff1a

\n

1 \u5206\u949f\u7684\u5feb\u901f\u5f00\u59cb\uff1a\u6211\u4eec\u628a\u5404\u7c7b\u4e3b\u8981\u573a\u666f\u505a\u4e00\u4e2a\u603b\u7ed3\uff0c\u5c06\u5176\u5f52\u7c7b\u4e3a\u5e94\u7528\u6a21\u677f\uff0c\u6bcf\u4e2a\u7528\u6237\u6216\u8005\u4e1a\u52a1\u65b9\u65b0\u8d77\u4e00\u4e2a\u4e1a\u52a1\u65f6\uff0c\u53ea\u9700\u8981\u9009\u62e9\u76f8\u5e94\u7684\u5e94\u7528\u542f\u52a8\u6a21\u677f\uff0c\u5c31\u4f1a\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u751f\u6210\u4e1a\u52a1\u4ee3\u7801\uff0c\u7528\u6237\u53ea\u9700\u8981\u5199\u81ea\u5df1\u7684\u4e1a\u52a1\u51fd\u6570\u4ee3\u7801\u5c31\u53ef\u4ee5\u5feb\u901f\u5f00\u59cb\u3002

\n

5 \u5206\u949f\u4e0a\u7ebf\u5e94\u7528\uff1a\u5b8c\u5168\u590d\u7528 Serverless \u7684\u8fd0\u7ef4\u5e73\u53f0\uff0c\u5229\u7528\u5e73\u53f0\u5929\u7136\u80fd\u529b\uff0c\u5e2e\u52a9\u7528\u6237\u5b8c\u6210\u7070\u5ea6\u53d1\u5e03\u7b49\u80fd\u529b\uff1b\u5e76\u4e14\u914d\u5408\u524d\u7aef\u7f51\u5173\u3001\u5207\u6d41\u7b49\u5b8c\u6210\u91d1\u4e1d\u96c0\u6d4b\u8bd5\u7b49\u529f\u80fd\u3002

\n

10 \u5206\u949f\u6392\u67e5\u95ee\u9898\uff1a\u57fa\u4e8e\u4e0a\u7ebf\u4e4b\u540e\u7684 Serverless \u51fd\u6570\uff0c\u63d0\u4f9b\u4e1a\u52a1\u6307\u6807\u6216\u7cfb\u7edf\u6307\u6807\u7684\u5c55\u793a\uff0c\u901a\u8fc7\u6307\u6807\u4e0d\u4ec5\u53ef\u4ee5\u8bbe\u7f6e\u62a5\u8b66\uff0c\u8fd8\u53ef\u4ee5\u5728\u63a7\u5236\u53f0\u4e0a\u7ed9\u7528\u6237\u63a8\u9001\u9519\u8bef\u65e5\u5fd7\u7b49\uff0c\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u5b9a\u4f4d\u95ee\u9898\u3001\u5206\u6790\u95ee\u9898\uff0c10 \u5206\u949f\u5185\u638c\u63e1\u6574\u4e2a Serverless \u51fd\u6570\u7684\u5065\u5eb7\u72b6\u6001\u3002

\n

4. \u524d\u7aef\u843d\u5730 Serverless \u6548\u679c

\n

\u524d\u7aef\u5b9e\u73b0 Serverless \u7684\u573a\u666f\u540e\u6548\u679c\u5982\u4f55\uff1f\u6211\u4eec\u5c06 3 \u6b3e APP \u5728\u4f20\u7edf\u5e94\u7528\u7814\u53d1\u6a21\u5f0f\u4e0b\u6240\u9700\u8981\u7684\u6027\u80fd\u548c\u5de5\u65f6\u4e0e\u5e94\u7528 Faas \u573a\u666f\u4e4b\u540e\u8fdb\u884c\u5bf9\u6bd4\uff0c\u53ef\u4ee5\u660e\u663e\u770b\u5230\uff0c\u5728\u539f\u6709\u7684\u4e91\u539f\u751f\u57fa\u7840\u4e0a\uff0c\u6548\u80fd\u8fd8\u80fd\u63d0\u5347 38.89%\uff0c\u8fd9\u5bf9\u4e8e Serverless \u5e94\u7528\u6216\u524d\u7aef\u5e94\u7528\u6765\u8bf4\u6548\u679c\u975e\u5e38\u53ef\u89c2\uff0c\u76ee\u524d Serverless \u573a\u666f\u5df2\u7ecf\u51e0\u4e4e\u8986\u76d6\u6574\u4e2a\u96c6\u56e2\u5185\u90e8\uff0c\u5e2e\u52a9\u4e1a\u52a1\u65b9\u5b9e\u73b0 Serverless \u5316\uff0c\u5b9e\u73b0\u63d0\u9ad8\u6548\u80fd\u548c\u964d\u4f4e\u6210\u672c\u4e24\u4e2a\u4e3b\u8981\u76ee\u6807\u3002

\n

\u56db\u3001\u6280\u672f\u8f93\u51fa\uff0c\u62d3\u5c55\u65b0\u573a\u666f

\n

\u5728\u96c6\u56e2\u7684 Serverless \u843d\u5730\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u53d1\u73b0\u4e86\u5f88\u591a\u65b0\u7684\u4e1a\u52a1\u8bc9\u6c42\uff0c\u6bd4\u5982\u5b58\u91cf\u4e1a\u52a1\u5982\u4f55\u5feb\u901f\u5b9e\u73b0\u8fc1\u79fb\u5e76\u8282\u7701\u6210\u672c\uff1f\u6267\u884c\u65f6\u95f4\u662f\u5426\u53ef\u4ee5\u8c03\u5927\u6216\u8005\u8c03\u957f\uff1f\u8d44\u6e90\u914d\u7f6e\u662f\u5426\u53ef\u4ee5\u8c03\u9ad8\uff1f\u7b49\u7b49\uff0c\u9488\u5bf9\u8fd9\u4e9b\u95ee\u9898\u6211\u4eec\u63d0\u51fa\u4e86\u4e00\u4e9b\u89e3\u51b3\u65b9\u6848\uff0c\u57fa\u4e8e\u8fd9\u4e9b\u89e3\u51b3\u65b9\u6848\u6211\u4eec\u62bd\u8c61\u51fa\u4e86\u4ea7\u54c1\u7684\u4e00\u4e9b\u529f\u80fd\uff0c\u63a5\u4e0b\u6765\u4ecb\u7ecd\u51e0\u4e2a\u6bd4\u8f83\u91cd\u8981\u7684\u529f\u80fd\uff1a

\n

1. \u81ea\u5b9a\u4e49\u955c\u50cf

\n

\"10.jpg\"

\n

\u81ea\u5b9a\u4e49\u955c\u50cf\u4e3b\u8981\u76ee\u7684\u662f\u5b9e\u73b0\u5b58\u91cf\u4e1a\u52a1\u7684\u65e0\u7f1d\u8fc1\u79fb\uff0c\u5e2e\u52a9\u7528\u6237\u5b9e\u73b0\u96f6\u4ee3\u7801\u6539\u9020\uff0c\u5e76\u4e14\u628a\u4e1a\u52a1\u4ee3\u7801\u5b8c\u5168\u8fc1\u79fb\u5230 Serverless \u5e73\u53f0\u4e0a\u3002

\n

\u5b58\u91cf\u4e1a\u52a1\u7684\u8fc1\u79fb\u662f\u975e\u5e38\u5927\u7684\u75db\u70b9\uff0c\u5728\u4e00\u4e2a\u56e2\u961f\u5185\uff0c\u4e0d\u53ef\u80fd\u957f\u671f\u5b58\u5728\u4e24\u79cd\u7814\u53d1\u6a21\u5f0f\uff0c\u8fd9\u4f1a\u9020\u6210\u6781\u5927\u5185\u8017\u3002\u60f3\u8ba9\u4e1a\u52a1\u65b9\u8fc1\u79fb\u5230 Serverless \u7814\u53d1\u4f53\u7cfb\u4e0b\uff0c\u5fc5\u987b\u63a8\u51fa\u5f7b\u5e95\u7684\u6539\u9020\u65b9\u6848\uff0c\u5e2e\u52a9\u7528\u6237\u5b9e\u73b0 Serverless \u4f53\u7cfb\u6539\u9020\uff0c\u4e0d\u4ec5\u9700\u8981\u652f\u6301\u65b0\u4e1a\u52a1\u4f7f\u7528 Serverless\uff0c\u8fd8\u8981\u5e2e\u52a9\u5b58\u91cf\u4e1a\u52a1\u5b9e\u73b0\u96f6\u6210\u672c\u5feb\u901f\u8fc1\u79fb\uff0c\u6240\u4ee5\u6211\u4eec\u63a8\u51fa\u4e86\u81ea\u5b9a\u4e49\u5bb9\u5668\u529f\u80fd\u3002

\n

\"11.jpg\"

\n

\u4f20\u7edf Web \u5355\u4f53\u5e94\u7528\u573a\u666f\u7279\u6027\uff1a

\n\n

\u51fd\u6570\u8ba1\u7b97 + \u5bb9\u5668\u955c\u50cf\u4f18\u52bf\uff1a

\n\n

\u81ea\u5b9a\u4e49\u5bb9\u5668\u529f\u80fd\uff0c\u53ef\u4ee5\u8ba9\u4f20\u7edf Web \u5355\u4f53\u5e94\u7528\uff08\u6bd4\u5982 SpringBoot \u3001Wordpress \u3001Flask \u3001Express \u3001Rails \u7b49\u6846\u67b6\uff09\u4e0d\u9700\u4efb\u4f55\u6539\u9020\uff0c\u5c31\u53ef\u4ee5\u4ee5\u955c\u50cf\u7684\u65b9\u5f0f\u8fc1\u79fb\u5230\u51fd\u6570\u8ba1\u7b97\u4e0a\uff0c\u907f\u514d\u4f4e\u6d41\u91cf\u4e1a\u52a1\u72ec\u5360\u670d\u52a1\u5668\u9020\u6210\u8d44\u6e90\u6d6a\u8d39\u3002\u540c\u65f6\u4e5f\u53ef\u4ee5\u4eab\u53d7\u5230\u65e0\u9700\u4e3a\u5e94\u7528\u505a\u5bb9\u91cf\u89c4\u5212\u3001\u81ea\u52a8\u4f38\u7f29\u3001\u514d\u8fd0\u8d39\u7b49\u6548\u76ca\u3002

\n

2. \u6027\u80fd\u5b9e\u4f8b

\n

\"12.jpg\"

\n

\u9ad8\u6027\u80fd\u5b9e\u4f8b\uff0c\u51cf\u5c11\u4f7f\u7528\u9650\u5236\uff0c\u62d3\u5c55\u66f4\u591a\u573a\u666f\u3002\u6bd4\u5982\uff1a\u4ee3\u7801\u5305\u4ece\u539f\u6765\u7684 50M \u4e0a\u5347\u5230 500M\uff0c\u6267\u884c\u65f6\u95f4\u4ece\u539f\u6765\u7684 10 \u5206\u949f\u63d0\u9ad8\u5230 2 \u5c0f\u65f6\uff0c\u6027\u80fd\u89c4\u683c\u6bd4\u539f\u5148\u63d0\u5347 4 \u500d\u591a\uff0c\u80fd\u591f\u6700\u5927\u652f\u6301 16G \u548c 32G \u7684\u5927\u89c4\u683c\u5b9e\u4f8b\uff0c\u6765\u5e2e\u52a9\u7528\u6237\u8fd0\u884c\u4e00\u4e9b\u975e\u5e38\u8017\u65f6\u7684\u957f\u4efb\u52a1\u7b49\u7b49\u3002

\n

\"13.jpg\"

\n

\u51fd\u6570\u8ba1\u7b97\u670d\u52a1\u4e86\u5f88\u591a\u573a\u666f\uff0c\u5728\u670d\u52a1\u8fc7\u7a0b\u4e2d\u6211\u4eec\u6536\u5230\u4e86\u5f88\u591a\u8bc9\u6c42\uff0c\u6bd4\u5982\u7ea6\u675f\u6761\u4ef6\u591a\u3001\u4f7f\u7528\u95e8\u69db\u9ad8\u3001\u8ba1\u7b97\u573a\u666f\u8d44\u6e90\u4e0d\u8db3\u7b49\u95ee\u9898\u3002\u6240\u4ee5\u9488\u5bf9\u8fd9\u4e9b\u573a\u666f\uff0c\u6211\u4eec\u63a8\u51fa\u4e86\u6027\u80fd\u5b9e\u4f8b\u529f\u80fd\uff0c\u76ee\u6807\u662f\u51cf\u5c11\u51fd\u6570\u8ba1\u7b97\u5e94\u7528\u573a\u666f\u7684\u4f7f\u7528\u9650\u5236\uff0c\u964d\u4f4e\u4f7f\u7528\u95e8\u69db\uff0c\u5e76\u4e14\u5728\u6267\u884c\u65f6\u957f\u4e0a\u3001\u5404\u79cd\u6307\u6807\u4e0a\uff0c\u7528\u6237\u53ef\u4ee5\u7075\u6d3b\u914d\u7f6e\u3001\u6309\u9700\u914d\u7f6e\u3002

\n

\u76ee\u524d\u6211\u4eec\u652f\u6301\u7684 16 \u6838 32G \u5b8c\u5168\u5177\u5907\u4e0e\u540c\u89c4\u683c ECS \u4e00\u6a21\u4e00\u6837\u7684\u8ba1\u7b97\u80fd\u529b\uff0c\u53ef\u4ee5\u9002\u7528\u4e8e\u9ad8\u6027\u80fd\u7684\u4e1a\u52a1\u573a\u666f\u5982 AI \u63a8\u7406\u3001\u97f3\u89c6\u9891\u8f6c\u7801\u7b49\u3002\u8fd9\u4e2a\u529f\u80fd\u5bf9\u540e\u7eed\u62d3\u5c55\u5e94\u7528\u573a\u666f\u6765\u8bf4\u975e\u5e38\u91cd\u8981\u3002

\n

\u6311\u6218\uff1a

\n\n

\u76ee\u6807\uff1a

\n\n

\u505a\u6cd5\uff1a

\n\n

\u4e3b\u6253\u573a\u666f\uff1a\n\u8ba1\u7b97\u578b\u4efb\u52a1\u3001long-running \u4efb\u52a1\u3001\u5f39\u6027\u4f38\u7f29\u4e0d\u654f\u611f\u4efb\u52a1\u3002

\n\n

\u4f18\u52bf\uff1a

\n

\u6027\u80fd\u5b9e\u4f8b\u9664\u653e\u5bbd\u9650\u5236\u5916\uff0c\u4ecd\u4fdd\u7559\u5f53\u524d\u51fd\u6570\u8ba1\u7b97\u4ea7\u54c1\u6240\u5177\u5907\u7684\u6240\u6709\u80fd\u529b\uff1a\u6309\u91cf\u4ed8\u8d39\u3001\u9884\u7559\u6a21\u5f0f\u3001\u5355\u5b9e\u4f8b\u591a\u8bf7\u6c42\u3001\u591a\u79cd\u4e8b\u4ef6\u6e90\u96c6\u6210\u3001\u591a\u53ef\u7528\u533a\u5bb9\u707e\u3001\u81ea\u52a8\u4f38\u7f29\u3001\u5e94\u7528\u7684\u6784\u5efa\u90e8\u7f72\u53ca\u514d\u8fd0\u7ef4\u7b49\u3002

\n

3. \u94fe\u8def\u8ffd\u8e2a

\n

\"14.jpg\"

\n

\u94fe\u8def\u8ffd\u8e2a\u529f\u80fd\u5305\u62ec\uff1a\u94fe\u8def\u8fd8\u539f\u3001\u62d3\u6251\u5206\u6790\u3001\u95ee\u9898\u5b9a\u4f4d\u3002

\n

\u4e00\u4e2a\u6b63\u5e38\u7684\u5fae\u670d\u52a1\uff0c\u4e0d\u662f\u4e00\u4e2a\u51fd\u6570\u5c31\u80fd\u5b8c\u6210\u6240\u6709\u5de5\u4f5c\uff0c\u9700\u8981\u4f9d\u8d56\u4e0a\u4e0b\u6e38\u670d\u52a1\u3002\u5728\u4e0a\u4e0b\u6e38\u4e1a\u52a1\u90fd\u662f\u6b63\u5e38\u7684\u60c5\u51b5\u4e0b\uff0c\u4e00\u822c\u4e0d\u9700\u8981\u94fe\u8def\u8ffd\u8e2a\uff0c\u4f46\u662f\u5982\u679c\u4e0b\u6e38\u670d\u52a1\u51fa\u73b0\u4e86\u5f02\u5e38\uff0c\u5982\u4f55\u5b9a\u4f4d\u95ee\u9898\uff1f\u8fd9\u65f6\u5c31\u53ef\u4ee5\u4f9d\u8d56\u94fe\u8def\u8ffd\u8e2a\u529f\u80fd\uff0c\u8fc5\u901f\u5206\u6790\u4e0a\u4e0b\u6e38\u7684\u6027\u80fd\u74f6\u9888\u6216\u8005\u5b9a\u4f4d\u95ee\u9898\u7684\u53d1\u751f\u70b9\u7b49\u3002

\n

\u51fd\u6570\u8ba1\u7b97\u4e5f\u8c03\u7814\u4e86\u5f88\u591a\u96c6\u56e2\u5185\u5916\u7684\u5f00\u6e90\u6280\u672f\u65b9\u6848\uff0c\u76ee\u524d\u5df2\u7ecf\u652f\u6301 X-trace \u529f\u80fd\uff0c\u5e76\u4e14\u517c\u5bb9\u4e86\u5f00\u6e90\u65b9\u6848\uff0c\u62e5\u62b1\u5f00\u6e90\uff0c\u63d0\u4f9b\u4e86\u517c\u5bb9 OpenTracing \u7684\u4ea7\u54c1\u80fd\u529b\u3002

\n

\"15.jpg\"\n\"16.jpg\"

\n

\u4e0a\u56fe\u662f\u94fe\u8def\u8ffd\u8e2a\u7684 Demo \u56fe\uff0c\u901a\u8fc7\u8ba1\u7b97 tracing \u53ef\u4ee5\u53ef\u89c6\u5316\u770b\u5230\u540e\u7aef\u670d\u52a1\u7684\u6570\u636e\u5e93\u8bbf\u95ee\u5f00\u9500\uff0c\u907f\u514d\u5927\u91cf\u670d\u52a1\u95f4\u7684\u590d\u6742\u6821\u9a8c\u5173\u7cfb\u589e\u52a0\u95ee\u9898\u6392\u67e5\u7684\u96be\u5ea6\u7b49\u3002\u51fd\u6570\u8ba1\u7b97\u8fd8\u652f\u6301\u51fd\u6570\u4ee3\u7801\u7ea7\u7684\u94fe\u8def\u5206\u6790\u80fd\u529b\uff0c\u5e2e\u52a9\u7528\u6237\u4f18\u5316\u51b7\u542f\u52a8\u3001\u5173\u952e\u4ee3\u7801\u5b9e\u73b0\u7b49\u3002

\n

Serverless \u4ea7\u54c1\u5728\u4e1a\u52a1\u89d2\u5ea6\u4e0a\u5e26\u6765\u4e86\u5de8\u5927\u6536\u76ca\uff0c\u4f46\u662f\u5c01\u88c5\u4e5f\u5e26\u6765\u4e86\u4e00\u4e2a\u9636\u6bb5\u6027\u96be\u9898\u2014\u2014\u9ed1\u76d2\u95ee\u9898\u3002\u5f53\u6211\u4eec\u5411\u7528\u6237\u63d0\u4f9b\u94fe\u8def\u8ffd\u8e2a\u6280\u672f\uff0c\u540c\u65f6\u4e5f\u628a\u9ed1\u76d2\u95ee\u9898\u66b4\u9732\u7ed9\u7528\u6237\uff0c\u7528\u6237\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9b\u9ed1\u76d2\u95ee\u9898\u63d0\u5347\u81ea\u8eab\u7684\u4e1a\u52a1\u80fd\u529b\u3002\u8fd9\u4e5f\u662f Serverless \u672a\u6765\u63d0\u9ad8\u7528\u6237\u4f53\u9a8c\u7684\u65b9\u5411\uff0c\u540e\u7eed\u6211\u4eec\u4f1a\u5728\u8fd9\u65b9\u9762\u7ee7\u7eed\u52a0\u5927\u6295\u5165\uff0c\u964d\u4f4e\u7528\u6237\u4f7f\u7528 Serverless \u7684\u6210\u672c\u3002

\n

\u6311\u6218\uff1a

\n\n

FC + x-trace \u4e3b\u8981\u4f18\u52bf\uff1a

\n\n

4. \u5f02\u6b65\u914d\u7f6e

\n

\"17.jpg\"

\n

\u5728 Serverless \u573a\u666f\u4e0b\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u79bb\u7ebf\u4efb\u52a1\u5904\u7406\u3001\u6d88\u606f\u5bf9\u7acb\u6d88\u8d39\u7b49\u529f\u80fd\uff0c\u5728\u51fd\u6570\u8ba1\u7b97\u4e2d\u8fd9\u7c7b\u529f\u80fd\u7684\u4f7f\u7528\u7387\u5360\u6bd4 50% \u5de6\u53f3\u3002\u5728\u5927\u91cf\u6d88\u606f\u6d88\u8d39\u4e2d\uff0c\u5b58\u5728\u5f88\u591a\u5f02\u6b65\u914d\u7f6e\u95ee\u9898\u7ecf\u5e38\u88ab\u4e1a\u52a1\u65b9\u6311\u6218\uff0c\u6bd4\u5982\uff0c\u8fd9\u4e9b\u6d88\u606f\u662f\u4ece\u54ea\u91cc\u6765\uff1f\u53c8\u53bb\u5230\u54ea\u91cc\uff1f\u88ab\u4ec0\u4e48\u670d\u52a1\u6d88\u8d39\uff1f\u6d88\u8d39\u7684\u65f6\u95f4\uff1f\u6d88\u8d39\u7684\u6210\u529f\u7387\u5982\u4f55\uff1f\u7b49\u7b49\u3002\u8fd9\u4e9b\u95ee\u9898\u7684\u53ef\u89c6\u5316 /\u53ef\u914d\u7f6e\uff0c\u662f\u76ee\u524d\u9700\u8981\u4e3b\u8981\u89e3\u51b3\u7684\u91cd\u8981\u8bfe\u9898\u3002

\n

\"18.jpg\"

\n

\u4e0a\u56fe\u4e3a\u5f02\u6b65\u914d\u7f6e\u7684\u5de5\u4f5c\u539f\u7406\uff0c\u9996\u5148\u4ece\u7528\u6237\u6307\u5b9a\u7684\u4e8b\u4ef6\u6e90\u5f00\u59cb\u89e6\u53d1\u5f02\u6b65\u8c03\u7528\uff0c\u51fd\u6570\u8ba1\u7b97\u7acb\u5373\u8fd4\u56de\u8bf7\u6c42 ID\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u8c03\u7528\u6267\u884c\u51fd\u6570\uff0c\u8fd4\u56de\u6267\u884c\u7ed3\u679c\u5230\u51fd\u6570\u8ba1\u7b97\u6216\u8005\u6d88\u606f\u961f\u5217 MNS \u91cc\u9762\u3002\u7136\u540e\u901a\u8fc7\u4e8b\u4ef6\u6e90\u53ef\u914d\u7f6e\u89e6\u53d1\u5668\u7b49\u7b49\uff0c\u8fd9\u4e9b\u6548\u679c\u6216\u8005\u4e3b\u9898\u6d88\u8d39\uff0c\u53ef\u4ee5\u8fdb\u884c\u6d88\u606f\u7684\u518d\u6b21\u6d88\u8d39\u3002\u6bd4\u5982\uff0c\u5982\u679c\u4e00\u4e2a\u6d88\u606f\u5904\u7406\u5931\u8d25\u4e86\uff0c\u53ef\u4ee5\u914d\u7f6e\u4e00\u4e0b\u8fdb\u884c\u4e8c\u6b21\u5904\u7406\u3002

\n

\"19.jpg\"

\n

\u5178\u578b\u7684\u5e94\u7528\u573a\u666f\uff1a

\n\n

\u4f5c\u8005\u7b80\u4ecb\uff1a\n\u8d75\u5e86\u6770\uff08\u5362\u4ee4\uff09\uff0c\u76ee\u524d\u5c31\u804c\u4e8e\u963f\u91cc\u4e91\u4e91\u539f\u751f Serverless \u56e2\u961f\uff0c\u4e13\u6ce8\u4e8e Serverless \u3001PaaS\uff0c\u5206\u5e03\u5f0f\u7cfb\u7edf\u67b6\u6784\u7b49\u65b9\u5411\uff0c\u81f4\u529b\u4e8e\u6253\u9020\u65b0\u4e00\u4ee3\u7684 Serverless \u6280\u672f\u5e73\u53f0\uff0c\u628a\u5e73\u53f0\u6280\u672f\u505a\u5230\u66f4\u52a0\u666e\u60e0\u3002\u66fe\u5c31\u804c\u4e8e\u767e\u5ea6\uff0c\u8d1f\u8d23\u5185\u90e8\u6700\u5927\u7684 PaaS \u5e73\u53f0\uff0c\u627f\u63a5\u4e86 80% \u7684\u5728\u7ebf\u4e1a\u52a1\uff0c\u5728 PaaS \u65b9\u5411\uff0c\u540e\u7aef\u5206\u5e03\u5f0f\u7cfb\u7edf\u67b6\u6784\u7b49\u9886\u57df\u6709\u4e30\u5bcc\u7684\u7ecf\u9a8c\u3002

\n
\n

\u672c\u6587\u6574\u7406\u81ea [ Serverless Live \u7cfb\u5217\u76f4\u64ad] 1 \u6708 26 \u65e5\u573a\n\u76f4\u64ad\u56de\u770b\u94fe\u63a5\uff1ahttps://developer.aliyun.com/topic/serverless/practices

\n
\n" }, { "author": { "url": "member/scf10cent", "name": "scf10cent", "avatar": "https://cdn.v2ex.com/avatar/45ff/a7d1/420644_large.png?m=1578562081" }, "url": "t/748653", "title": "\u4e00\u56fe\u770b\u61c2\uff1a\u817e\u8baf\u4e91 Serverless 2020 \u5e74\u7684\u7a81\u7834\u4e0e\u6536\u83b7", "id": "t/748653", "date_published": "2021-01-26T11:04:57+00:00", "content_html": "

\u6b22\u8fce\u8bbf\u95ee Serverless \u4e2d\u6587\u7f51

\n

\"\"

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/744850", "title": "Serverless \u67b6\u6784\u5230\u5e95\u8981\u4e0d\u8981\u670d\u52a1\u5668\uff1f", "id": "t/744850", "date_published": "2021-01-14T04:12:01+00:00", "content_html": "

\"1.13

\n

\u4f5c\u8005 | aoho\n\u6765\u6e90 | Serverless \u516c\u4f17\u53f7

\n

Serverless \u662f\u4ec0\u4e48\uff1f

\n

Serverless \u67b6\u6784\u662f\u4e0d\u662f\u5c31\u4e0d\u8981\u670d\u52a1\u5668\u4e86\uff1f\u56de\u7b54\u8fd9\u4e2a\u95ee\u9898\uff0c\u6211\u4eec\u9700\u8981\u4e86\u89e3\u4e0b Serverless \u662f\u4ec0\u4e48\u3002

\n

Serverless \u67b6\u6784\u8fd1\u51e0\u5e74\u9891\u7e41\u51fa\u73b0\u5728\u4e00\u4e9b\u6280\u672f\u67b6\u6784\u5927\u4f1a\u7684\u6f14\u8bb2\u6807\u9898\u4e2d\uff0c\u5f88\u591a\u4eba\u5bf9\u4e8e Serverless\uff0c\u53ea\u662f\u4ece\u5b57\u9762\u610f\u4e49\u4e0a\u7406\u89e3\u2014\u2014\u65e0\u670d\u52a1\u5668\u67b6\u6784\uff0c\u4f46\u662f\u5b83\u771f\u6b63\u7684\u542b\u4e49\u662f\u5f00\u53d1\u8005\u518d\u4e5f\u4e0d\u7528\u8fc7\u591a\u8003\u8651\u670d\u52a1\u5668\u7684\u95ee\u9898\uff0c\u5f53\u7136\uff0c\u8fd9\u5e76\u4e0d\u4ee3\u8868\u5b8c\u5168\u53bb\u9664\u670d\u52a1\u5668\uff0c\u800c\u662f\u6211\u4eec\u4f9d\u9760\u7b2c\u4e09\u65b9\u8d44\u6e90\u670d\u52a1\u5668\u540e\u7aef\uff0c\u4ece 2014 \u5e74\u5f00\u59cb\uff0c\u7ecf\u8fc7\u8fd9\u4e48\u591a\u5e74\u7684\u53d1\u5c55\uff0c\u5404\u5927\u4e91\u670d\u52a1\u5546\u57fa\u672c\u90fd\u63d0\u4f9b\u4e86 Serverless \u670d\u52a1\u3002\u6bd4\u5982\u4f7f\u7528 Amazon Web Services(AWS) Lambda \u8ba1\u7b97\u670d\u52a1\u6765\u6267\u884c\u4ee3\u7801\u3002

\n

\"1.png\"

\n

\u56fd\u5185 Serverless \u670d\u52a1\u7684\u53d1\u5c55\u76f8\u5bf9 AWS \u8981\u665a\u4e00\u70b9\uff0c\u76ee\u524d\u4e5f\u90fd\u6709\u5bf9 Serverless \u7684\u652f\u6301\u3002\u6bd4\u8f83\u8457\u540d\u7684\u4e91\u670d\u52a1\u5546\u6709\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u3002\u5b83\u4eec\u63d0\u4f9b\u7684\u670d\u52a1\u4e5f\u5927\u540c\u5c0f\u5f02\uff1a\u51fd\u6570\u8ba1\u7b97\u3001\u5bf9\u8c61\u5b58\u50a8\u3001API \u7f51\u5173\u7b49\uff0c\u975e\u5e38\u5bb9\u6613\u4e0a\u624b\u3002

\n

\u67b6\u6784\u662f\u5982\u4f55\u6f14\u8fdb\u5230 Serverless \uff1f

\n

\u770b\u770b\u8fc7\u53bb\u51e0\u5341\u5e74\u95f4\uff0c\u4e91\u8ba1\u7b97\u9886\u57df\u7684\u53d1\u5c55\u6f14\u8fdb\u5386\u7a0b\u3002\u603b\u7684\u6765\u8bf4\uff0c\u4e91\u8ba1\u7b97\u7684\u53d1\u5c55\u5206\u4e3a\u4e09\u4e2a\u9636\u6bb5\uff1a\u865a\u62df\u5316\u7684\u51fa\u73b0\u3001\u865a\u62df\u5316\u5728\u4e91\u8ba1\u7b97\u4e2d\u7684\u5e94\u7528\u4ee5\u53ca\u5bb9\u5668\u5316\u7684\u51fa\u73b0\u3002\u4e91\u8ba1\u7b97\u7684\u9ad8\u901f\u53d1\u5c55\uff0c\u5219\u96c6\u4e2d\u5728\u8fd1\u5341\u51e0\u5e74\u3002

\n

\"2.png\"

\n

\u603b\u7ed3\u6765\u8bf4\u6709\u5982\u4e0b\u7684\u91cc\u7a0b\u7891\u4e8b\u4ef6\uff1a

\n\n

\u4ece\u88f8\u91d1\u5c5e\u673a\u5668\u7684\u90e8\u7f72\u5e94\u7528\uff0c\u5230 Openstack \u67b6\u6784\u548c\u865a\u62df\u673a\u7684\u5212\u5206\uff0c\u518d\u5230\u5bb9\u5668\u5316\u90e8\u7f72\uff0c\u8fd9\u5176\u4e2d\u5178\u578b\u7684\u5c31\u662f\u8fd1\u4e9b\u5e74 Docker \u548c Kubernetes \u7684\u6d41\u884c\uff0c\u8fdb\u4e00\u6b65\u53d1\u5c55\u4e3a\u4f7f\u7528\u4e00\u4e2a\u5fae\u670d\u52a1\u6216\u5fae\u529f\u80fd\u6765\u54cd\u5e94\u4e00\u4e2a\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42 \uff0c\u8fd9\u79cd\u65b9\u5f0f\u662f\u4e91\u8ba1\u7b97\u53d1\u5c55\u7684\u81ea\u7136\u8fc7\u7a0b\u3002

\n

\u8fd9\u4e2a\u53d1\u5c55\u5386\u7a0b\u4e5f\u662f\u4e00\u573a IT \u67b6\u6784\u7684\u6f14\u8fdb\uff0c\u671f\u95f4\u7ecf\u5386\u4e86\u4e00\u7cfb\u5217\u4ee3\u9645\u7684\u6280\u672f\u53d8\u9769\uff0c\u628a\u8d44\u6e90\u5207\u5206\u5f97\u66f4\u7ec6\uff0c\u8ba9\u8fd0\u884c\u6548\u7387\u66f4\u9ad8\uff0c\u8ba9\u786c\u4ef6\u8f6f\u4ef6\u7ef4\u62a4\u66f4\u7b80\u5355\u3002IT \u67b6\u6784\u7684\u6f14\u8fdb\u4e3b\u8981\u6709\u4ee5\u4e0b\u51e0\u4e2a\u7279\u70b9\uff1a

\n\n

1. Serverless \u67b6\u6784\u7684\u7ec4\u6210

\n

Serverless \u67b6\u6784\u5206\u4e3a Backend as a Service(BaaS) \u548c Functions as a Service(FaaS) \u4e24\u79cd\u6280\u672f\uff0cServerless \u662f\u7531\u5f00\u53d1\u8005\u5b9e\u73b0\u7684\u670d\u52a1\u7aef\u903b\u8f91\u8fd0\u884c\u5728\u65e0\u72b6\u6001\u7684\u8ba1\u7b97\u5bb9\u5668\u4e2d\uff0c\u5b83\u662f\u7531\u4e8b\u4ef6\u89e6\u53d1\u3001\u5b8c\u5168\u88ab\u7b2c\u4e09\u65b9\u7ba1\u7406\u7684\u3002

\n

2. \u4ec0\u4e48\u662f BaaS?

\n

Baas \u7684\u82f1\u6587\u7ffb\u8bd1\u6210\u4e2d\u6587\u7684\u542b\u4e49\uff1a\u540e\u7aef\u5373\u670d\u52a1\uff0c\u5b83\u7684\u5e94\u7528\u67b6\u6784\u7531\u5927\u91cf\u7b2c\u4e09\u65b9\u4e91\u670d\u52a1\u5668\u548c API \u7ec4\u6210\uff0c\u4f7f\u5e94\u7528\u4e2d\u5173\u4e8e\u670d\u52a1\u5668\u7684\u903b\u8f91\u548c\u72b6\u6001\u90fd\u7531\u670d\u52a1\u63d0\u4f9b\u65b9\u6765\u7ba1\u7406\u3002\u6bd4\u5982\u6211\u4eec\u7684\u5178\u578b\u7684\u5355\u9875\u5e94\u7528 SPA \u548c\u79fb\u52a8 APP \u5bcc\u5ba2\u6237\u7aef\u5e94\u7528\uff0c\u524d\u540e\u7aef\u4ea4\u4e92\u4e3b\u8981\u662f\u4ee5 RestAPI \u8c03\u7528\u4e3a\u4e3b\u3002\u53ea\u9700\u8981\u8c03\u7528\u670d\u52a1\u63d0\u4f9b\u65b9\u7684 API \u5373\u53ef\u5b8c\u6210\u76f8\u5e94\u7684\u529f\u80fd\uff0c\u6bd4\u5982\u5e38\u89c1\u7684\u8eab\u4efd\u9a8c\u8bc1\u3001\u4e91\u7aef\u6570\u636e /\u6587\u4ef6\u5b58\u50a8\u3001\u6d88\u606f\u63a8\u9001\u3001\u5e94\u7528\u6570\u636e\u5206\u6790\u7b49\u3002

\n

3. \u4ec0\u4e48\u662f FaaS?

\n

FaaS \u53ef\u4ee5\u88ab\u53eb\u505a\uff1a\u51fd\u6570\u5373\u670d\u52a1\u3002\u5f00\u53d1\u8005\u53ef\u4ee5\u76f4\u63a5\u5c06\u670d\u52a1\u4e1a\u52a1\u903b\u8f91\u4ee3\u7801\u90e8\u7f72\uff0c\u8fd0\u884c\u5728\u7b2c\u4e09\u65b9\u63d0\u4f9b\u7684\u65e0\u72b6\u6001\u8ba1\u7b97\u5bb9\u5668\u4e2d\uff0c\u5f00\u53d1\u8005\u53ea\u9700\u8981\u7f16\u5199\u4e1a\u52a1\u4ee3\u7801\u5373\u53ef\uff0c\u65e0\u9700\u5173\u6ce8\u670d\u52a1\u5668\uff0c\u5e76\u4e14\u4ee3\u7801\u7684\u6267\u884c\u662f\u7531\u4e8b\u4ef6\u89e6\u53d1\u7684\u3002\u5176\u4e2d AWS Lambda \u662f\u76ee\u524d\u6700\u4f73\u7684 FaaS \u5b9e\u73b0\u4e4b\u4e00\u3002

\n

Serverless \u7684\u5e94\u7528\u67b6\u6784\u662f\u5c06 BaaS \u548c FaaS \u7ec4\u5408\u5728\u4e00\u8d77\u7684\u5e94\u7528\uff0c\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5e94\u7528\u7684\u4e1a\u52a1\u903b\u8f91\u4ee3\u7801\uff0c\u7f16\u5199\u51fd\u6570\u4e3a\u7c92\u5ea6\u5c06\u5176\u8fd0\u884c\u5728 FaaS \u5e73\u53f0\u4e0a\uff0c\u5e76\u4e14\u548c BaaS \u7b2c\u4e09\u65b9\u670d\u52a1\u6574\u5408\u5728\u4e00\u8d77\uff0c\u6700\u540e\u5c31\u642d\u5efa\u4e86\u4e00\u4e2a\u5b8c\u6574\u7684\u7cfb\u7edf\u3002\u6574\u4e2a\u7cfb\u7edf\u8fc7\u7a0b\u4e2d\u5b8c\u5168\u65e0\u9700\u5173\u6ce8\u670d\u52a1\u5668\u3002

\n

Serverless \u67b6\u6784\u7684\u7279\u70b9

\n

\u603b\u5f97\u6765\u8bf4\uff0cServerless \u67b6\u6784\u4e3b\u8981\u6709\u4ee5\u4e0b\u7279\u70b9\uff1a

\n\n

\u7531\u4e8e Serverless \u5e94\u7528\u4e0e\u670d\u52a1\u5668\u7684\u89e3\u8026\uff0c\u8d2d\u4e70\u7684\u662f\u4e91\u670d\u52a1\u5546\u7684\u8d44\u6e90\uff0c\u4f7f\u5f97 Serverless \u67b6\u6784\u964d\u4f4e\u4e86\u8fd0\u7ef4\u7684\u538b\u529b\uff0c\u4e5f\u65e0\u9700\u8fdb\u884c\u670d\u52a1\u5668\u786c\u4ef6\u7b49\u9884\u4f30\u548c\u8d2d\u4e70\u3002

\n

Serverless \u67b6\u6784\u4f7f\u5f97\u5f00\u53d1\u4eba\u5458\u66f4\u52a0\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u670d\u52a1\u7684\u5b9e\u73b0\uff0c\u4e2d\u95f4\u4ef6\u548c\u786c\u4ef6\u670d\u52a1\u5668\u8d44\u6e90\u90fd\u6258\u7ba1\u7ed9\u4e86\u4e91\u670d\u52a1\u5546\u3002\u8fd9\u540c\u65f6\u964d\u4f4e\u4e86\u5f00\u53d1\u6210\u672c\uff0c\u6309\u9700\u6269\u5c55\u548c\u8ba1\u8d39\uff0c\u65e0\u9700\u8003\u8651\u57fa\u7840\u8bbe\u65bd\u3002

\n

Serverless \u67b6\u6784\u7ed9\u524d\u7aef\u4e5f\u5e26\u6765\u4e86\u4fbf\u5229\uff0c\u5927\u524d\u7aef\u6df1\u5165\u5230\u4e1a\u52a1\u7aef\u7684\u6210\u672c\u964d\u4f4e\uff0c\u5f00\u53d1\u8005\u53ea\u9700\u8981\u5173\u6ce8\u4e1a\u52a1\u903b\u8f91\uff0c\u524d\u7aef\u5de5\u7a0b\u5e08\u8f7b\u677e\u8f6c\u4e3a\u5168\u6808\u5de5\u7a0b\u5e08\u3002

\n

Serverless \u6709\u54ea\u4e9b\u5e94\u7528\u573a\u666f\uff1f

\n

\u5e94\u7528\u573a\u666f\u4e0e Serverless \u67b6\u6784\u7684\u7279\u70b9\u5bc6\u5207\u76f8\u5173\uff0c\u6839\u636e Serverless \u7684\u8fd9\u4e9b\u901a\u7528\u7279\u70b9\uff0c\u6211\u4eec\u5f52\u7eb3\u51fa\u4e0b\u9762\u51e0\u79cd\u5178\u578b\u4f7f\u7528\u573a\u666f\uff1a\u5f39\u6027\u4f38\u7f29\u3001\u5927\u6570\u636e\u5206\u6790\u3001\u4e8b\u4ef6\u89e6\u53d1\u7b49\u3002

\n

1. \u5f39\u6027\u4f38\u7f29

\n

\u7531\u4e8e\u4e91\u51fd\u6570\u4e8b\u4ef6\u9a71\u52a8\u53ca\u5355\u4e8b\u4ef6\u5904\u7406\u7684\u7279\u6027\uff0c\u4e91\u51fd\u6570\u901a\u8fc7\u81ea\u52a8\u7684\u4f38\u7f29\u6765\u652f\u6301\u4e1a\u52a1\u7684\u9ad8\u5e76\u53d1\u3002\u9488\u5bf9\u4e1a\u52a1\u7684\u5b9e\u9645\u4e8b\u4ef6\u6216\u8bf7\u6c42\u6570\uff0c\u4e91\u51fd\u6570\u81ea\u52a8\u5f39\u6027\u5408\u9002\u7684\u5904\u7406\u5b9e\u4f8b\u6765\u627f\u8f7d\u5b9e\u9645\u4e1a\u52a1\u91cf\u3002\u5728\u6ca1\u6709\u4e8b\u4ef6\u6216\u8bf7\u6c42\u65f6\uff0c\u65e0\u8fd0\u884c\u5b9e\u4f8b\uff0c\u4e0d\u5360\u7528\u8d44\u6e90\u3002\u5982\u89c6\u9891\u76f4\u64ad\u670d\u52a1\uff0c\u76f4\u64ad\u89c2\u4f17\u4e0d\u56fa\u5b9a\uff0c\u9700\u8981\u8003\u8651\u9002\u5ea6\u7684\u5e76\u53d1\u548c\u5f39\u6027\u3002\u76f4\u64ad\u4e0d\u53ef\u80fd 24 \u5c0f\u65f6\u5728\u7ebf\uff0c\u6709\u8f83\u4e3a\u660e\u663e\u7684\u4e1a\u52a1\u8bbf\u95ee\u9ad8\u5cf0\u671f\u548c\u4f4e\u8c37\u671f\u3002\u76f4\u64ad\u662f\u4e8b\u4ef6\u6216\u8005\u516c\u4f17\u70b9\u7206\u7684\u573a\u666f\uff0c\u66f4\u65b0\u901f\u5ea6\u8f83\u5feb\uff0c\u7248\u672c\u8fed\u4ee3\u8f83\u5feb\uff0c\u9700\u8981\u5feb\u901f\u5b8c\u6210\u5bf9\u65b0\u70ed\u70b9\u7684\u6280\u672f\u5347\u7ea7\u3002

\n

\"3.png\"

\n

2. \u5927\u6570\u636e\u5206\u6790

\n

\u6570\u636e\u7edf\u8ba1\u672c\u8eab\u53ea\u9700\u8981\u5f88\u5c11\u7684\u8ba1\u7b97\u91cf\uff0c\u79bb\u7ebf\u8ba1\u7b97\u751f\u6210\u56fe\u8868\u3002\u5728\u7a7a\u95f2\u7684\u65f6\u5019\u5bf9\u6570\u636e\u8fdb\u884c\u5904\u7406\uff0c\u6216\u8005\u4e0d\u9700\u8981\u8003\u8651\u4efb\u4f55\u5ef6\u65f6\u7684\u60c5\u51b5\u4e0b\u3002

\n

\"4.png\"

\n\n

3. \u4e8b\u4ef6\u89e6\u53d1

\n

\u4e8b\u4ef6\u89e6\u53d1\u5373\u4e91\u51fd\u6570\u7531\u4e8b\u4ef6\u9a71\u52a8\uff0c\u4e8b\u4ef6\u7684\u5b9a\u4e49\u53ef\u4ee5\u662f\u6307\u5b9a\u7684 http \u8bf7\u6c42\uff0c\u6216\u8005\u6570\u636e\u5e93\u7684 binlog \u65e5\u5fd7\u3001\u6d88\u606f\u63a8\u9001\u7b49\u3002\u901a\u8fc7 Serverless \u67b6\u6784\uff0c\u5728\u63a7\u5236\u53f0\u4e0a\u914d\u7f6e\u4e8b\u4ef6\u6e90\u901a\u77e5\uff0c\u7f16\u5199\u4e1a\u52a1\u4ee3\u7801\u3002\u4e1a\u52a1\u903b\u8f91\u6dfb\u52a0\u5230\u5230\u51fd\u6570\u8ba1\u7b97\u91cc\uff0c\u4e1a\u52a1\u9ad8\u5cf0\u671f\u51fd\u6570\u8ba1\u7b97\u4f1a\u52a8\u6001\u4f38\u7f29\uff0c\u8fd9\u4e2a\u8fc7\u7a0b\u4e0d\u9700\u8981\u7ba1\u7406\u8f6f\u786c\u4ef6\u73af\u5883\u3002\u5e38\u89c1\u7684\u573a\u666f\u5982\u89c6\u9891\u3001OSS \u56fe\u7247\uff0c\u5f53\u4e0a\u4f20\u4e4b\u540e\uff0c\u901a\u8fc7\u8fdb\u884c\u540e\u7eed\u7684\u8fc7\u6ee4\u3001\u8f6c\u6362\u548c\u5206\u6790\uff0c\u89e6\u53d1\u4e00\u7cfb\u5217\u7684\u540e\u7eed\u5904\u7406\uff0c\u5982\u5185\u5bb9\u4e0d\u5408\u6cd5\u3001\u5bb9\u91cf\u544a\u8b66\u7b49\u3002

\n

\u5c0f\u7ed3

\n

\u56de\u5230\u6211\u4eec\u6587\u7ae0\u7684\u5f00\u5934\uff0cServerless \u67b6\u6784\u4e0d\u662f\u4e0d\u8981\u670d\u52a1\u5668\u4e86\uff0c\u800c\u662f\u4f9d\u6258\u7b2c\u4e09\u65b9\u4e91\u670d\u52a1\u5e73\u53f0\uff0c\u670d\u52a1\u7aef\u903b\u8f91\u8fd0\u884c\u5728\u65e0\u72b6\u6001\u7684\u8ba1\u7b97\u5bb9\u5668\u4e2d\uff0c\u5176\u4e1a\u52a1\u5c42\u9762\u7684\u72b6\u6001\u5219\u88ab\u5f00\u53d1\u8005\u4f7f\u7528\u7684\u6570\u636e\u5e93\u548c\u5b58\u50a8\u8d44\u6e90\u6240\u8bb0\u5f55\u3002

\n

Serverless \u65e0\u670d\u52a1\u5668\u67b6\u6784\u6709\u5176\u9002\u5408\u5e94\u7528\u7684\u573a\u666f\uff0c\u4f46\u662f\u4e5f\u5b58\u5728\u5c40\u9650\u6027\u3002\u603b\u5f97\u6765\u8bf4\uff0cServerless \u67b6\u6784\u8fd8\u4e0d\u591f\u6210\u719f\uff0c\u5f88\u591a\u5730\u65b9\u5c1a\u4e0d\u5b8c\u5584\u3002Serverless \u4f9d\u8d56\u4e91\u670d\u52a1\u5546\u63d0\u4f9b\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u76ee\u524d\u6765\u8bf4\u4e91\u670d\u52a1\u5546\u8fd8\u505a\u4e0d\u5230\u771f\u6b63\u7684\u5e73\u53f0\u9ad8\u53ef\u7528\u3002Serverless \u8d44\u6e90\u867d\u7136\u4fbf\u5b9c\uff0c\u4f46\u662f\u6784\u5efa\u4e00\u4e2a\u751f\u4ea7\u73af\u5883\u7684\u5e94\u7528\u7cfb\u7edf\u5374\u6bd4\u8f83\u590d\u6742\u3002

\n

\u4e91\u8ba1\u7b97\u8fd8\u5728\u4e0d\u65ad\u53d1\u5c55\uff0c\u57fa\u7840\u8bbe\u65bd\u670d\u52a1\u65e5\u8d8b\u5b8c\u5584\uff0c\u5f00\u53d1\u8005\u5c06\u4f1a\u66f4\u52a0\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u5b9e\u73b0\u3002\u4e91\u8ba1\u7b97\u5c06\u5e73\u53f0\u3001\u4e2d\u95f4\u4ef6\u3001\u8fd0\u7ef4\u90e8\u7f72\u7684\u8d23\u4efb\u8fdb\u884c\u4e86\u8f6c\u79fb\uff0c\u540c\u65f6\u4e5f\u964d\u4f4e\u4e86\u4e2d\u5c0f\u4f01\u4e1a\u4e0a\u4e91\u7684\u6210\u672c\u3002\u8ba9\u6211\u4eec\u4e00\u8d77\u671f\u5f85 Serverless \u67b6\u6784\u7684\u672a\u6765\u3002

\n

\u53c2\u8003\uff1a

\n
    \n
  1. \u963f\u91cc\u4e91\u6587\u6863
  2. \n
  3. https://blog.csdn.net/cc18868876837/article/details/90672971
  4. \n
\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/742077", "title": "\u521b\u4e1a\u516c\u53f8\u7528 Serverless\uff0c\u5230\u5e95\u9999\u4e0d\u9999\uff1f", "id": "t/742077", "date_published": "2021-01-06T02:15:10+00:00", "content_html": "

\"\u5934\u56fe

\n

\u4f5c\u8005 | Mike Butusov\n\u6765\u6e90 | Serverless \u516c\u4f17\u53f7

\n

\u5728\u8fc7\u53bb\u7684 5 \u5e74\u91cc\uff0c\u4f7f\u7528\u4e91\u5382\u5546\u5904\u7406\u5e94\u7528\u540e\u53f0\u7684\u6d41\u884c\u7a0b\u5ea6\u5927\u5e45\u98d9\u5347\u3002\u5176\u4e00\uff0c\u521d\u521b\u4f01\u4e1a\u4e3b\u91c7\u7528 Serverless \u65b9\u5f0f\uff0c\u4ee5\u8282\u7701\u57fa\u7840\u8bbe\u65bd\u6210\u672c\uff0c\u5e76\u968f\u7528\u968f\u4ed8\u3002\u968f\u7740\u516c\u53f8\u89c4\u6a21\u7684\u6269\u5927\uff0c\u4f9d\u9760\u7b2c\u4e09\u65b9\u4f9b\u5e94\u5546\u53ef\u4ee5\u4f7f\u5176\u5feb\u901f\u83b7\u5f97\u540e\u7aef\u8d44\u6e90\u3002

\n

\u5176\u4e8c\uff0c\u867d\u7136\u5b9e\u73b0\u57fa\u4e8e\u4e91\u7684\u57fa\u7840\u8bbe\u65bd\u4e3b\u8981\u5728\u521d\u521b\u4f01\u4e1a\u4e3b\u4e2d\u6d41\u884c\uff0c\u4f46\u5927\u578b\u516c\u53f8\u4e5f\u4f1a\u4f7f\u7528\u5206\u5e03\u5f0f\u67b6\u6784\u3002Amazon Polly \uff08\u4e00\u79cd\u5c06\u6587\u672c\u8f6c\u6362\u4e3a\u903c\u771f\u8bed\u97f3\u7684\u670d\u52a1\uff09\u5c31\u5b8c\u5168\u4f9d\u9760 AWS \u6765\u63d0\u4f9b\u9879\u76ee\u652f\u6301\u3002

\n

\u5728\u672c\u6587\u4e2d\uff0c\u6211\u4eec\u4e3b\u8981\u804a\u804a Serverless \u5bf9\u4e8e\u521d\u521b\u516c\u53f8\u6700\u7a81\u51fa\u7684\u4f18\u52bf\u3002\u4f60\u5c06\u4f1a\u53d1\u73b0\uff0c\u4e3a\u4f60\u7684\u4e0b\u4e00\u4e2a\u9879\u76ee\u9009\u62e9\u5206\u5e03\u5f0f\u5e94\u7528\u662f\u975e\u5e38\u6b63\u786e\u7684\u3002

\n

\u521b\u4e1a\u516c\u53f8\u4f7f\u7528 Serverless \u7684\u597d\u5904

\n

Serverless \u5141\u8bb8\u4f01\u4e1a\u4e3b\u53ea\u5728\u7528\u6237\u8bf7\u6c42\u6216\u4e8b\u4ef6\u88ab\u89e6\u53d1\u65f6\u624d\u4e3a\u670d\u52a1\u5668\u4ed8\u8d39\u3002\u56e0\u6b64\uff0c\u6280\u672f\u56e2\u961f\u6d88\u9664\u4e86\u95f2\u7f6e\u65f6\u95f4\uff0c\u786e\u4fdd\u4ed6\u4eec\u4e0d\u4f1a\u4e3a\u670d\u52a1\u5668\u7535\u6e90\u652f\u4ed8\u989d\u5916\u8d39\u7528\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u901a\u8fc7 Serverless \u5316\uff0c\u521d\u521b\u4f01\u4e1a\u7684\u7ba1\u7406\u8005\u53ef\u4ee5\u96c7\u4f63\u66f4\u5c11\u7684\u4eba\u624d\u8fdb\u884c\u9879\u76ee\u7ef4\u62a4\uff0c\u4ece\u800c\u53ef\u4ee5\u4e13\u6ce8\u4e8e\u63a8\u5e7f\u516c\u53f8\u7684\u6838\u5fc3\u670d\u52a1\u3002

\n

\u6210\u672c\u548c\u65f6\u95f4\u6548\u7387\u5e76\u4e0d\u662f\u521d\u521b\u516c\u53f8\u5728 Serverless \u4e2d\u7684\u552f\u4e00\u597d\u5904\u3002\u8ba9\u6211\u4eec\u4ed4\u7ec6\u770b\u770b\u5206\u5e03\u5f0f\u67b6\u6784\u7684\u4f18\u52bf\u3002

\n

1. \u7b80\u5355\u90e8\u7f72\u548c\u6301\u7eed\u4ea4\u4ed8

\n

\u4e0e\u57fa\u4e8e\u670d\u52a1\u5668\u7684\u67b6\u6784\u4e0d\u540c\uff0c\u57fa\u4e8e\u5206\u5e03\u5f0f\u7cfb\u7edf\u7684\u540e\u53f0\u66f4\u5bb9\u6613\u8bbe\u7f6e\u548c\u90e8\u7f72\u3002\u5c06\u6e90\u7801\u8fde\u63a5\u5230\u4f60\u9009\u62e9\u7684\u4efb\u4f55\u4e00\u4e2a\u5b89\u5168\u7684 Serverless \u521b\u4e1a\u516c\u53f8\u4f9b\u5e94\u5546\u5e73\u53f0\uff08 AWS \u3001Google \u3001Azure \u7b49\uff09\uff0c\u5c31\u53ef\u4ee5\u90e8\u7f72\u9879\u76ee\u4e86\u3002

\n

\u6301\u7eed\u4ea4\u4ed8\u662f\u521d\u521b\u4f01\u4e1a\u4f7f\u7528 Serverless \u4ea7\u751f\u7684\u53e6\u4e00\u4e2a\u597d\u5904\u3002\u4ee3\u7801\u7684\u6bcf\u4e00\u4e2a\u53d8\u5316\u90fd\u4f1a\u5728\u6d4b\u8bd5\u540e\u81ea\u52a8\u90e8\u7f72\u3002\u6574\u4e2a\u8fc7\u7a0b\u90fd\u662f\u81ea\u52a8\u5316\u7684\uff0c\u56e2\u961f\u65e0\u9700\u5bf9\u6bcf\u4e00\u6b21\u66f4\u65b0\u8fdb\u884c\u76d1\u63a7\u3002

\n

2. \u8282\u7ea6\u57fa\u7840\u8bbe\u65bd\u6210\u672c

\n

\u5982\u4e0a\u6240\u8ff0\uff0cServerless \u67b6\u6784\u662f\u4f01\u4e1a\u4e3b\u63a7\u5236\u57fa\u7840\u67b6\u6784\u65b9\u9762\u652f\u51fa\u7684\u6709\u6548\u65b9\u5f0f\u3002\u5982\u679c\u4e00\u4e2a\u521d\u521b\u7f51\u7ad9\u7684\u8bbf\u95ee\u91cf\u5c11\u4e8e 1000 \u4eba\uff0c\u6539\u7528\u73b0\u6536\u73b0\u4ed8\u7684\u6a21\u5f0f\uff0c\u53ef\u4ee5\u524a\u51cf\u9ad8\u8fbe 90% \u7684\u540e\u53f0\u7ef4\u62a4\u548c\u8d44\u6e90\u6210\u672c\u3002\u8981\u4e86\u89e3 Serverless \u7684\u5168\u90e8\u6210\u672c\u6548\u76ca\uff0c\u4e0d\u59a8\u770b\u770b\u8fd9\u4e9b Serverless \u4f01\u4e1a\u521b\u4e1a\u6848\u4f8b\uff1a

\n\n

3. \u65e0\u9650\u6269\u5c55\u6027

\n

\u5728\u670d\u52a1\u5668\u4e0a\u7684\u5e94\u7528\u6709\u6269\u5c55\u6027\u7684\u9650\u5236\u3002\u8fd9\u610f\u5473\u7740\u8d8a\u6765\u8d8a\u591a\u7684\u7528\u6237\u9700\u8981\u91cd\u5efa\u548c\u7ffb\u65b0\u5e94\u7528\u7684\u6280\u672f\u67b6\u6784\u3002\u8fd9\u4e5f\u662f\u4e3a\u4ec0\u4e48\u90a3\u4e9b\u4f18\u5148\u8003\u8651\u6d41\u91cf\u6216\u7528\u6237\u83b7\u53d6\u7684\u521d\u521b\u516c\u53f8\uff0c\u66f4\u503e\u5411\u4e8e\u4f7f\u7528 Serverless \u7684\u539f\u56e0\uff0c\u56e0\u4e3a\u5b83\u5177\u6709\u65e0\u9650\u7684\u6269\u5c55\u80fd\u529b\u3002

\n

\u968f\u7740\u8bf7\u6c42\u6570\u91cf\u7684\u589e\u957f\uff0c\u5382\u5546\u7684\u670d\u52a1\u5668\u4f1a\u4e3a\u5176\u81ea\u52a8\u63d0\u4f9b\u5e94\u7528\u6240\u9700\u7684\u670d\u52a1\u5668\u80fd\u529b\u3002\u56e0\u6b64\uff0cServerless \u5e94\u7528\u7ba1\u7406\u56e2\u961f\u4e0d\u4f1a\u56e0\u7a81\u7136\u7684\u6d41\u91cf\u6fc0\u589e\u800c\u63aa\u624b\u4e0d\u53ca\u3002

\n

4. \u66f4\u5f3a\u7684\u7075\u6d3b\u6027

\n

Serverless \u5177\u5907\u7684\u7075\u6d3b\u6027\u662f\u5b83\u5728\u521d\u521b\u4f01\u4e1a\u4e2d\u5982\u6b64\u53d7\u6b22\u8fce\u7684\u539f\u56e0\u4e4b\u4e00\u3002\u5728\u67d0\u4e9b\u65f6\u5019\uff0c\u516c\u53f8\u7ecf\u8425\u8005\u4f1a\u610f\u8bc6\u5230\u4f01\u4e1a\u5f53\u524d\u7684\u76ee\u6807\u53d7\u4f17\u4e0d\u591f\u7cbe\u51c6\uff0c\u56e0\u6b64\uff0c\u9700\u8981\u8fdb\u884c\u91cd\u65b0\u8c03\u6574\u3002\u90a3\u4e48\u5c06\u4e00\u9879\u670d\u52a1\u5206\u79bb\u6210\u51e0\u4e2a\u5c0f\u7684\u670d\u52a1\uff0c\u9488\u5bf9\u65b0\u7684\u53d7\u4f17\u8bbe\u7f6e\u610f\u5411\u670d\u52a1\u5c31\u975e\u5e38\u6709\u5fc5\u8981\u3002

\n

\u4ee5\u4e0b\u662f Serverless \u5b9e\u9645\u5e94\u7528\u4e2d\u7075\u6d3b\u6027\u7684\u8868\u73b0\uff1a

\n\n

5. \u771f\u5b9e\u53ef\u590d\u7528\u6027

\n

\u7531\u4e8e\u521b\u5efa\u7684\u5143\u7d20\u53ef\u4ee5\u590d\u7528\uff0cServerless \u67b6\u6784\u8ba9\u9879\u76ee\u5f00\u53d1\u53d8\u5f97\u66f4\u52a0\u5bb9\u6613\u3002\u90a3\u7a76\u7adf\u4e3a\u4ec0\u4e48 Serverless \u6bd4\u5176\u4ed6\u57fa\u7840\u67b6\u6784\u7c7b\u578b\u5177\u5907\u66f4\u9ad8\u7684\u53ef\u91cd\u590d\u5229\u7528\u6027\u5462\uff1f

\n

\u8fd9\u662f\u7531\u4e8e\u5927\u591a\u6570 Serverless \u51fd\u6570\u90fd\u662f\u4ee5 HTTP \u8bf7\u6c42\u7684\u5f62\u5f0f\u63d0\u4f9b\u7684\uff0c\u5e76\u4e14\u4e0d\u4f9d\u8d56\u6e90\u4ee3\u7801\u6765\u8fd0\u884c\u3002\u5728 Lambda \u51fd\u6570\u4e0a\u4f7f\u7528\u5c42\uff0c\u901a\u8fc7\u521b\u5efa\u5c01\u88c5\u7684\u3001\u53ef\u6d4b\u8bd5\u7684\u4ee3\u7801\uff0c\u4e5f\u80fd\u4fc3\u8fdb\u53ef\u91cd\u7528\u6027\u3002\u7531\u4e8e Serverless \u975e\u5e38\u9002\u5408\u77ed\u671f\u7684\u3001\u65e0\u72b6\u6001\u7684\u4ee3\u7801\uff0c\u6240\u4ee5\u5927\u591a\u6570\u4e8b\u4ef6\u9a71\u52a8\u7684\u7ed3\u6784\uff08\u5982\u5fae\u670d\u52a1\uff09\u901a\u5e38\u90fd\u662f Serverless \u7684\u3002

\n

\u7ed3\u8bba

\n

\u867d\u7136\u8ddd\u79bb Serverless \u6210\u4e3a\u4e3b\u6d41\u6280\u672f\u8fd8\u6709\u4e00\u6bb5\u8def\u8981\u8d70\uff0c\u4f46\u4e0d\u53ef\u5426\u8ba4\u7684\u662f\uff0c\u5df2\u7ecf\u6709\u8d8a\u6765\u8d8a\u591a\u7684\u521d\u521b\u4f01\u4e1a\u9009\u62e9\u5206\u5e03\u5f0f\u5e94\u7528\u6a21\u5f0f\u3002

\n

\u5bf9\u521d\u521b\u4f01\u4e1a\u6765\u8bf4\uff0c\u8fd9\u79cd\u65b0\u578b\u7684\u57fa\u7840\u8bbe\u65bd\u975e\u5e38\u5b9e\u7528\uff0c\u56e0\u4e3a\u4ed6\u4eec\u4e0d\u518d\u9700\u8981\u5728\u57fa\u7840\u8bbe\u65bd\u4e0a\u82b1\u4e00\u5206\u94b1\uff0c\u5e76\u80fd\u591f\u6839\u636e\u5e94\u7528\u8bbf\u95ee\u8005\u7684\u6570\u91cf\u6765\u8c03\u6574\u652f\u51fa\u3002

\n

\u5fae\u670d\u52a1\u5177\u6709\u8f83\u9ad8\u7684\u6210\u672c\u6548\u7387\u3001\u5de8\u5927\u7684\u53ef\u6269\u5c55\u6027\u6f5c\u529b\u548c\u67a2\u7ebd\u53cb\u597d\u6027\uff0c\u53ef\u4ee5\u4ece\u6839\u672c\u4e0a\u6539\u53d8 IT \u56e2\u961f\u6d88\u8017\u8d44\u6e90\u7684\u65b9\u5f0f\u3002\u672a\u6765\uff0c\u5c06\u4f1a\u6709\u66f4\u591a\u521d\u521b\u4f01\u4e1a\uff0c\u501f\u52a9 Serverless \u5e26\u6765\u7684\u5de8\u5927\u4f18\u52bf\u505a\u51fa\u529f\u80fd\u66f4\u5f3a\u3001\u521b\u65b0\u66f4\u591a\u3001\u66f4\u5f3a\u5927\u7684\u9879\u76ee\u3002

\n
\n

Previously published at\uff1ahttps://blog.techmagic.co/benefits-of-serverless-for-startups/\n\u4f5c\u8005\uff1aMike Butusov\n\u8bd1\u8005\uff1aOrangeJ

\n
\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/738541", "title": "Serverless \u662f\u4e00\u79cd\u601d\u60f3\u72b6\u6001", "id": "t/738541", "date_published": "2020-12-24T04:26:09+00:00", "content_html": "

\"carl-newton-iX7WedkjpUY-unsplash.jpg\"

\n

\u6765\u6e90 | Serverless \u516c\u4f17\u53f7\uff1b\u4f5c\u8005 | Ben Kehoe \uff1b\u8bd1\u8005 | donghui

\n

\u51fd\u6570\u4e0d\u662f\u91cd\u70b9

\n

\u5982\u679c\u4f60\u56e0\u4e3a\u559c\u6b22 Lambda \u800c\u9009\u62e9 Serverless\uff0c\u4f60\u8fd9\u6837\u505a\u7684\u539f\u56e0\u662f\u9519\u8bef\u7684\u3002\u5982\u679c\u4f60\u9009\u62e9 Serverless\uff0c\u662f\u56e0\u4e3a\u4f60\u559c\u6b22 FaaS\uff0c\u4f60\u8fd9\u6837\u505a\u7684\u539f\u56e0\u4e5f\u662f\u9519\u8bef\u7684\u3002\u51fd\u6570\u4e0d\u662f\u91cd\u70b9\u3002

\n

\u5f53\u7136\uff0c\u6211\u559c\u6b22 Lambda \u2014\u2014\u4f46\u8fd9\u4e0d\u662f\u6211\u63d0\u5021 Serverless \u7684\u539f\u56e0\u3002

\n

\u4e0d\u8981\u8bef\u89e3\u6211\uff0c\u51fd\u6570\u5f88\u597d\u3002\u5b83\u4eec\u8ba9\u4f60\u900f\u660e\u5730\u4f38\u7f29\uff0c\u4f60\u4e0d\u5fc5\u7ba1\u7406\u8fd0\u884c\u65f6\uff0c\u800c\u4e14\u5b83\u4eec\u5929\u7136\u5730\u9002\u5408\u4e8b\u4ef6\u9a71\u52a8\u7684\u67b6\u6784\u3002\u8fd9\u4e9b\u90fd\u662f\u975e\u5e38\u6709\u7528\u7684\u7279\u6027\u3002

\n

\u4f46\u662f\u51fd\u6570\u6700\u7ec8\u5e94\u8be5\u6210\u4e3a\u6574\u4e2a\u89e3\u51b3\u65b9\u6848\u7684\u4e00\u5c0f\u90e8\u5206\u3002\u4f60\u5e94\u8be5\u4f7f\u7528\u5305\u542b\u4e1a\u52a1\u903b\u8f91\u7684\u51fd\u6570\u4f5c\u4e3a\u6258\u7ba1\u670d\u52a1\u4e4b\u95f4\u7684\u7c98\u5408\u5242\uff0c\u8fd9\u4e9b\u6258\u7ba1\u670d\u52a1\u63d0\u4f9b\u4e86\u6784\u6210\u5e94\u7528\u7a0b\u5e8f\u7684\u5927\u90e8\u5206\u7e41\u91cd\u5de5\u4f5c\u3002

\n

\u6258\u7ba1\u670d\u52a1\u4e0d\u662f\u91cd\u70b9

\n

\u6211\u4eec\u5f88\u5e78\u8fd0\uff0c\u4e91\u63d0\u4f9b\u5546\u80fd\u591f\u4e3a\u5e94\u7528\u7a0b\u5e8f\u7684\u8bb8\u591a\u4e0d\u540c\u90e8\u5206\u63d0\u4f9b\u5982\u6b64\u5e7f\u6cdb\u7684\u6258\u7ba1\u670d\u52a1\u3002\u6570\u636e\u5e93\u3001\u8eab\u4efd\u548c\u8bbf\u95ee\u7ba1\u7406\uff08\u771f\u9ad8\u5174\u6211\u4e0d\u7528\u81ea\u5df1\u62e5\u6709\u5b83\uff01\uff09\u3001\u5206\u6790\u3001\u673a\u5668\u5b66\u4e60\u3001\u5185\u5bb9\u5206\u53d1\u3001\u6d88\u606f\u961f\u5217\u7b49\u5404\u79cd\u4e0d\u540c\u6a21\u5f0f\u3002

\n

\u6258\u7ba1\u670d\u52a1\u4ee5\u8f83\u5c11\u7684\u9ebb\u70e6\u63d0\u4f9b\u4f60\u6240\u9700\u7684\u529f\u80fd\u3002\u4f60\u4e0d\u5fc5\u7ed9\u4ed6\u4eec\u8fd0\u884c\u7684\u670d\u52a1\u5668\u6253\u8865\u4e01\u3002\u4f60\u4e0d\u5fc5\u786e\u4fdd\u81ea\u52a8\u7f29\u653e\u5728\u6ca1\u6709\u5927\u91cf\u7a7a\u95f2\u5bb9\u91cf\u7684\u60c5\u51b5\u4e0b\u6b63\u786e\u5730\u63d0\u4f9b\u6240\u9700\u7684\u541e\u5410\u91cf\u3002

\n

\u6258\u7ba1\u670d\u52a1\u663e\u8457\u964d\u4f4e\u4e86\u4f60\u7684\u8fd0\u7ef4\u8d1f\u62c5\u3002\u6258\u7ba1\u670d\u52a1\u5f88\u68d2\u2014\u2014\u4f46\u2026\u2026\u5b83\u4eec\u4e0d\u662f\u91cd\u70b9\u3002

\n

\u8fd0\u7ef4\u4e0d\u662f\u91cd\u70b9

\n

\u5f88\u9ad8\u5174\u77e5\u9053\u4f60\u53ef\u4ee5\u5e94\u7528\u66f4\u5c11\u7684\u8fd0\u7ef4\u8d44\u6e90\u6765\u4fdd\u6301\u5e94\u7528\u7a0b\u5e8f\u7684\u5065\u5eb7\u3002\u5c24\u5176\u91cd\u8981\u7684\u662f\uff0c\u4f60\u6240\u9700\u8981\u7684\u8d44\u6e90\u4e3b\u8981\u662f\u6839\u636e\u4f60\u6240\u63d0\u4f9b\u7684\u51fd\u6570\u6570\u91cf\u800c\u4e0d\u662f\u6d41\u91cf\u6765\u4f38\u7f29\u7684\u3002

\n

\u51cf\u5c11\u8fd0\u7ef4\u3001\u6548\u7387\u66f4\u9ad8\u2014\u2014\u4f46\u2026\u2026\u8fd9\u4e0d\u662f\u91cd\u70b9\u3002\u00a0

\n

\u6210\u672c\u4e0d\u662f\u91cd\u70b9

\n

\u597d\u5427\uff0c\u6709\u65f6\u5019\u4f01\u4e1a\u5e0c\u671b\u4f60\u505a\u7684\u53ea\u662f\u964d\u4f4e\u6210\u672c\u2014\u2014\u800c\u8fd9\u6b63\u662f\u4f60\u6240\u5173\u5fc3\u7684\u3002Serverless \u4f1a\u5e2e\u52a9\u4f60\u505a\u5230\u8fd9\u4e00\u70b9\u3002\u4f46\u603b\u7684\u6765\u8bf4\uff0c\u4e91\u8ba1\u7b97\u8d26\u5355\u5e76\u4e0d\u662f\u95ee\u9898\u7684\u91cd\u70b9\u3002

\n

\u4f60\u7684\u4e91\u8d26\u5355\u53ea\u662f\u4e91\u5e94\u7528\u7a0b\u5e8f\u603b\u6210\u672c\u7684\u4e00\u4e2a\u7ec4\u6210\u90e8\u5206\u3002\u9996\u5148\uff0c\u662f\u8fd0\u7ef4\u4eba\u5458\u7684\u85aa\u6c34\u2014\u2014\u5982\u679c\u4f60\u7684\u8fd0\u7ef4\u4eba\u5458\u8d44\u6e90\u66f4\u5c11\u7684\u8bdd\uff0c\u6210\u672c\u4f1a\u66f4\u4f4e\u3002\u8fd8\u6709\u4f60\u7684\u5f00\u53d1\u6210\u672c\u3002

\n

\u8fd9\u91cc\u6709\u5f88\u591a\u6210\u672c\u4f18\u52bf\u2014\u2014\u4f46\u2026\u2026\u8fd9\u4e9b\u90fd\u4e0d\u662f\u91cd\u70b9\u3002\u00a0

\n

\u4ee3\u7801\u4e0d\u662f\u91cd\u70b9

\n

\u4ee3\u7801\u4e0d\u4ec5\u4e0d\u662f\u91cd\u70b9\uff0c\u800c\u4e14\u662f\u4e00\u79cd\u8d23\u4efb\u3002\u4ee3\u7801\u6700\u591a\u53ea\u80fd\u505a\u4f60\u60f3\u505a\u7684\u4e8b\u60c5\u3002Bug \u4f1a\u524a\u5f31\u8fd9\u4e00\u70b9\u3002\u4f60\u53ea\u4f1a\u56e0\u4e3a\u7f16\u5199\u66f4\u591a\u7684\u4ee3\u7801\u800c\u5931\u53bb\u91cd\u70b9\u3002\u4f60\u62e5\u6709\u7684\u4ee3\u7801\u8d8a\u591a\uff0c\u504f\u79bb\u4f60\u9884\u671f\u4ef7\u503c\u7684\u673a\u4f1a\u5c31\u8d8a\u591a\u3002\u7406\u89e3\u8fd9\u662f\u4e00\u79cd\u6587\u5316\u8f6c\u53d8\u3002

\n

\u6280\u672f\u4e00\u76f4\u4ee5\u6765\u90fd\u5f88\u56f0\u96be\u3002\u806a\u660e\u7684\u4eba\u901a\u8fc7\u6280\u672f\u521b\u9020\u4ef7\u503c\u3002\u6240\u4ee5\u5f00\u53d1\u8005\u5f00\u59cb\u76f8\u4fe1\u806a\u660e\u662f\u4e0e\u751f\u4ff1\u6765\u7684\uff0c\u662f\u597d\u7684\u3002\u6211\u4eec\u82b1\u4e86\u8fd9\u4e48\u957f\u65f6\u95f4\u6765\u5236\u9020\u745e\u58eb\u624b\u8868\uff0c\u4ee5\u81f3\u4e8e\u6ca1\u6709\u610f\u8bc6\u5230\u77f3\u82f1\u5361\u897f\u6b27\u7684\u51fa\u73b0\uff0c\u5e76\u6307\u8d23\u8fd9\u79cd\u6f14\u53d8\u7f3a\u4e4f\u4f18\u96c5\u3002

\n

\u6211\u4eec\u9700\u8981\u7406\u89e3\u5e76\u89e3\u51b3\u4e1a\u52a1\u95ee\u9898\uff0c\u800c\u4e0d\u662f\u5c06\u6211\u4eec\u7684\u806a\u660e\u624d\u667a\u7528\u4e8e\u89e3\u51b3\u6280\u672f\u95ee\u9898\u3002\u5f53\u4f60\u5fc5\u987b\u7f16\u7801\u65f6\uff0c\u4f60\u662f\u5728\u89e3\u51b3\u6280\u672f\u95ee\u9898\u3002\u00a0

\n

\u6280\u672f\u4e0d\u662f\u91cd\u70b9

\n

\u6211\u4eec\u8fd9\u6837\u505a\u7684\u539f\u56e0\uff0c\u662f\u4e3a\u4e86\u8fbe\u5230\u67d0\u79cd\u5546\u4e1a\u76ee\u6807\u3002\u4f60\u7684\u7ec4\u7ec7\u8bd5\u56fe\u521b\u9020\u7684\u4e1a\u52a1\u4ef7\u503c\u5c31\u662f\u91cd\u70b9\u3002

\n

\u73b0\u5728\uff0c\u6709\u65f6\u5019\uff0c\u4f60\u5356\u7684\u662f\u6280\u672f\u3002\u4f46\u5373\u4f7f\u4f60\u7684\u4ea7\u54c1\u662f\u6280\u672f\uff0c\u90a3\u4e5f\u53ef\u80fd\u4e0d\u662f\u4f60\u9500\u552e\u7684\u4ea7\u54c1\u7684\u4ef7\u503c\u6240\u5728\u3002

\n

\u6709\u53e5\u8001\u8bdd\u8bf4\uff0c\u4eba\u4eec\u4e70\u7684\u4e0d\u662f\u94bb\u5b50\uff0c\u800c\u662f\u6d1e\u3002\u5f53\u4f60\u9700\u8981\u5728\u5899\u4e0a\u94bb\u4e2a\u6d1e\u65f6\uff0c\u4f60\u4e0d\u4f1a\u5728\u4e4e\u94bb\u5f97\u6709\u591a\u6f02\u4eae\uff0c\u4f60\u53ea\u5728\u4e4e\u94bb\u5f97\u6709\u591a\u597d\u5c31\u80fd\u94bb\u51fa\u4f60\u9700\u8981\u7684\u6d1e\u3002

\n

\u5728 iRobot\uff0c\u6211\u4eec\u4e0d\u5356\u673a\u5668\u4eba\u3002\u6211\u4eec\u751a\u81f3\u90fd\u4e0d\u5356\u5438\u5c18\u5668\u3002\u6211\u4eec\u5356\u6e05\u6d01\u623f\u5c4b\u3002Roomba \u8ba9\u4f60\u6709\u65f6\u95f4\u56de\u5230\u4f60\u7684\u65e5\u5e38\u751f\u6d3b\u4e2d\u53bb\u5173\u6ce8\u5bf9\u4f60\u6765\u8bf4\u91cd\u8981\u7684\u4e8b\u60c5\u3002\u6240\u4ee5\uff0c\u5982\u679c\u6280\u672f\u4e0d\u662f\u91cd\u70b9\uff0c\u6211\u4eec\u5728\u8fd9\u91cc\u662f\u4e3a\u4e86\u4ec0\u4e48?

\n

\u91cd\u70b9\u662f\u4e13\u6ce8

\n

Serverless \u662f\u4e00\u79cd\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u4ef7\u503c\u7684\u65b9\u6cd5\u3002

\n

\u51fd\u6570\u5982\u4f55\u5e2e\u52a9\u4f60\u4ea4\u4ed8\u4ef7\u503c\uff1f\u5b83\u4eec\u8ba9\u4f60\u5c06\u91cd\u70b9\u653e\u5728\u7f16\u5199\u4e1a\u52a1\u903b\u8f91\u4e0a\uff0c\u800c\u4e0d\u662f\u4e3a\u4e1a\u52a1\u903b\u8f91\u7f16\u5199\u652f\u6301\u7684\u57fa\u7840\u8bbe\u65bd\u3002

\n

\u6258\u7ba1\u670d\u52a1\u8ba9\u4f60\u53ef\u4ee5\u4e13\u6ce8\u4e8e\u7f16\u5199\u51fd\u6570\u3002\u8f83\u5c11\u7684\u8fd0\u7ef4\u8d44\u6e90\u53ef\u4ee5\u817e\u51fa\u4eba\u529b\u548c\u8d44\u91d1\uff0c\u4e3a\u5ba2\u6237\u521b\u9020\u65b0\u7684\u4ef7\u503c\u3002

\n

\u53ef\u89c2\u5bdf\u6027\u4e3a\u4f60\u63d0\u4f9b\u4e86\u5904\u7406 MTBF \u548c MTTR \u7684\u5de5\u5177\uff0c\u8fd9\u4e24\u79cd\u5de5\u5177\u90fd\u53ef\u4ee5\u5ea6\u91cf\u4f60\u7684\u5ba2\u6237\u83b7\u5f97\u4ef7\u503c\u7684\u9891\u7387\u3002\u5728\u4e91\u8ba1\u7b97\u4e0a\u82b1\u66f4\u5c11\u7684\u94b1\u610f\u5473\u7740\u4f60\u53ef\u4ee5\u66f4\u76f4\u63a5\u5730\u628a\u94b1\u82b1\u5728\u652f\u6301\u521b\u9020\u4ef7\u503c\u4e0a\u3002\u00a0

\n

\u4e13\u6ce8\u662f\u9009\u62e9 Serverless \u7684\u539f\u56e0

\n

\u4f60\u5e94\u8be5\u9009\u62e9 Serverless\uff0c\u56e0\u4e3a\u4f60\u60f3\u4e13\u6ce8\u4e8e\u521b\u9020\u4ef7\u503c\u2014\u2014\u5728\u4f60\u7684\u516c\u53f8\uff0c\u4f60\u52aa\u529b\u5e94\u7528\u6280\u672f\u6765\u521b\u9020\u5546\u4e1a\u4ef7\u503c\u3002

\n

\u56de\u5230\u6210\u672c\u4e0a\uff0cLyft \u7684 AWS \u8d26\u5355\uff0c\u6bcf\u5e74 1 \u4ebf\u7f8e\u5143\uff0c\u6700\u8fd1\u5df2\u7ecf\u6210\u4e3a\u65b0\u95fb\u3002\u8bb8\u591a\u4eba\u63d2\u8bdd\u8bf4\u4ed6\u4eec\u53ef\u4ee5\u505a\u5f97\u66f4\u4fbf\u5b9c\u2014\u2014\u4ed6\u4eec\u4e0d\u80fd\uff0c\u4f46\u8fd9\u4e0d\u662f\u91cd\u70b9\u3002

\n

\u5982\u679c Lyft \u5207\u6362\u5230 Lambda \u5e76\u5c3d\u53ef\u80fd\u5730\u6258\u7ba1\u670d\u52a1\uff0c\u4ed6\u4eec\u7684\u8d26\u5355\u4f1a\u66f4\u4f4e\u5417?\u53ef\u80fd\u3002\u4f46\u5f53\u4ed6\u4eec\u82b1\u65f6\u95f4\u91cd\u65b0\u67b6\u6784\u65f6\uff0c\u8fd9\u4f1a\u6709\u4ec0\u4e48\u7528\u5462?\u4ed6\u4eec\u4f1a\u5931\u91cd\u70b9\u3002

\n

\u516c\u53f8\u6b63\u5904\u4e8e\u53d1\u5c55\u6bd4\u6210\u672c\u63a7\u5236\u66f4\u91cd\u8981\u7684\u9636\u6bb5\u3002\u6700\u7ec8\uff0c\u8fd9\u79cd\u60c5\u51b5\u53ef\u80fd\u4f1a\u6539\u53d8\u3002\u4e0a\u5e02\u516c\u53f8\u5bf9\u80a1\u4e1c\u8d1f\u8d23\uff0c\u56e0\u6b64\u964d\u4f4e\u6210\u672c\u53ef\u4ee5\u4e3a\u4ed6\u4eec\u5e26\u6765\u4ef7\u503c\u3002\u4f46\u662f\u5bf9\u4e8e\u73b0\u5728\u7684 Lyft \u6765\u8bf4\uff0c\u4e3a\u4ed6\u4eec\u7684\u5ba2\u6237\u63d0\u4f9b\u4ef7\u503c\u610f\u5473\u7740\u6267\u884c\u4ed6\u4eec\u5f53\u524d\u7684\u5e94\u7528\u7a0b\u5e8f\u548c\u6d41\u7a0b\u3002\u4ed6\u4eec\u6b63\u5728\u505a\u4e00\u4e2a Serverless \u7684\u9009\u62e9\u3002

\n

\u6211\u8981\u544a\u8bc9\u4f60\u7684\u662f\uff0cServerless \u4ece\u672a\u6d89\u53ca\u5230\u6211\u4eec\u79f0\u4e4b\u4e3a Serverless \u7684\u6280\u672f\u3002\u90a3\u4e48\u6211\u4eec\u6240\u8c13\u7684 Serverless \u6280\u672f\u548c\u5b83\u6709\u4ec0\u4e48\u5173\u7cfb\u5462?

\n

Serverless \u662f\u4e13\u6ce8\u4e1a\u52a1\u4ef7\u503c\u7684\u7ed3\u679c

\n

\u6280\u672f\u662f\u4f60\u5982\u4f55\u4ea4\u4ed8\u4ef7\u503c\u7684\u7ed3\u679c\u3002\u5f00\u53d1\u56e2\u961f\u548c\u8fd0\u7ef4\u56e2\u961f\u4f20\u7edf\u4e0a\u662f\u5206\u5f00\u7684\uff0c\u56e0\u4e3a\u4ed6\u4eec\u6709\u4e0d\u540c\u7684\u4e13\u6ce8\u70b9\u3002\u4f46\u6211\u4eec\u770b\u5230\u8fd9\u4e00\u8d8b\u52bf\u6b63\u5728\u6539\u53d8\u3002

\n

\u4f20\u7edf\u7684\u6a21\u5f0f\u628a\u91cd\u70b9\u653e\u5728\u6280\u672f\u4e0a\u2014\u2014\u5f00\u53d1\u6280\u672f vs \u8fd0\u7ef4\u6280\u672f\u3002\u4f46\u662f\u6211\u4eec\u770b\u5230\u4eba\u4eec\u610f\u8bc6\u5230\u91cd\u70b9\u5e94\u8be5\u653e\u5728\u4ef7\u503c\u4e0a\u2014\u2014\u4ea4\u4ed8\u7684\u529f\u80fd\uff0c\u5305\u62ec\u5982\u4f55\u6784\u5efa\u548c\u8fd0\u884c\u3002

\n

\u5f53\u6211\u4eec\u91c7\u7528\u8fd9\u79cd\u5173\u6ce8\u4e1a\u52a1\u4ef7\u503c\u7684\u6982\u5ff5\uff0c\u5e76\u8fd0\u884c\u5176\u903b\u8f91\u7ed3\u8bba\u65f6\uff0c\u6211\u4eec\u5f97\u5230 Serverless \u3002

\n

\u5f53\u4f60\u60f3\u8981\u4e13\u6ce8\u4e8e\u4ea4\u4ed8\u4ef7\u503c\u65f6\uff0c\u4f60\u60f3\u8981\u7f16\u5199\u51fd\u6570\u3002\u5f53\u51fd\u6570\u9700\u8981\u72b6\u6001\u65f6\uff0c\u9700\u8981\u4e00\u4e2a\u6570\u636e\u5e93\u3002\u8981\u4ece\u522b\u4eba\u90a3\u91cc\u83b7\u5f97\u5b83\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 DBaaS\u2014\u2014\u4f60\u53ef\u4ee5\u6839\u636e\u5b83\u8ba9\u4f60\u4e13\u6ce8\u7684\u7a0b\u5ea6\u6765\u5728\u4f60\u7684\u9009\u9879\u4e4b\u95f4\u8fdb\u884c\u9009\u62e9\u3002

\n

\u5728\u9009\u62e9\u6258\u7ba1\u670d\u52a1\u65f6\uff0c\u5176\u4e2d\u4e00\u4e9b\u751a\u81f3\u53ef\u80fd\u662f\u9762\u5411\u7528\u6237\u7684\u3002\u5982\u679c\u4f60\u53ef\u4ee5\u4f7f\u7528\u793e\u4ea4\u8d26\u6237\u767b\u5f55\u800c\u4e0d\u662f\u62e5\u6709\u81ea\u5df1\u7684\u8d26\u6237\uff0c\u90a3\u4f60\u5c31\u5c11\u4e86\u4e00\u4ef6\u9700\u8981\u7ba1\u7406\u7684\u4e8b\u60c5\uff0c\u4e5f\u5c11\u4e86\u4f60\u62e5\u6709\u7684\u5bf9\u7528\u6237\u4f53\u9a8c\u7684\u7b79\u7801\u3002

\n

\u73b0\u5728\uff0c\u5bf9\u4e8e\u4f60\u6240\u5916\u5305\u7684\u4e00\u5207\uff0c\u4f60\u4ecd\u7136\u6709\u8d23\u4efb\u3002\u4f60\u7684\u7528\u6237\u5e76\u4e0d\u5173\u5fc3\u4ed6\u4eec\u7684\u7cdf\u7cd5\u4f53\u9a8c\u662f\u7531\u7b2c\u4e09\u65b9\u9020\u6210\u7684\uff0c\u8fd9\u4ecd\u7136\u662f\u4f60\u7684\u95ee\u9898\u3002\u4f60\u9700\u8981\u5c06\u4e2d\u65ad\u7559\u7ed9\u4f60\u7684\u7528\u6237\uff0c\u540c\u65f6\u63a5\u53d7\u4f60\u4e0d\u80fd\u5b8c\u5168\u63a7\u5236\u4f60\u5728\u90a3\u91cc\u7684\u547d\u8fd0\u3002\u8fd9\u662f\u4e00\u4e2a\u4e0d\u8212\u670d\u7684\u5730\u65b9\uff0c\u4f46\u5b83\u662f\u503c\u5f97\u7684\u3002

\n

\u5728\u8fd9\u4e9b\u4e8b\u60c5\u4e0a\u4f60\u4e0d\u80fd\u8d62\u5f97\u5206\u6570\u2014\u2014\u4f46\u4f60\u53ef\u4ee5\u5931\u53bb\u3002\u8fd9\u610f\u5473\u7740\u4f60\u9700\u8981\u77e5\u9053\u201c\u574f\u201d\u662f\u4ec0\u4e48\u6837\u5b50\u3002\u8fd9\u5c31\u8981\u6c42\u4f60\u5bf9\u5916\u5305\u7684\u4ea7\u54c1\u548c\u6280\u672f\u6709\u8db3\u591f\u7684\u4e86\u89e3\uff0c\u4ee5\u786e\u4fdd\u4f60\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u8db3\u591f\u7684\u8d28\u91cf\u3002

\n

\u8bf7\u6ce8\u610f\uff0c\u5728\u4e00\u4e2a\u91cd\u70b9\u9886\u57df\u6709\u6df1\u5165\u7684\u4e13\u4e1a\u77e5\u8bc6\uff0c\u800c\u5728\u76f8\u90bb\u9886\u57df\u6709\u5e7f\u6cdb\u4f46\u8584\u5f31\u7684\u77e5\u8bc6\uff0c\u8fd9\u4e0e T \u578b\u6280\u80fd\u7684\u6982\u5ff5\u975e\u5e38\u76f8\u4f3c\u2014\u2014\u9002\u7528\u4e8e\u7ec4\u7ec7\u548c\u56e2\u961f\u3002\u00a0

\n

Serverless \u662f\u4e00\u79cd\u7279\u8d28

\n

Serverless \u662f\u516c\u53f8\u7684\u4e00\u4e2a\u7279\u8d28\u3002\u5982\u679c\u4e00\u4e2a\u516c\u53f8\u51b3\u5b9a\u5b83\u4e0d\u5e94\u8be5\u62e5\u6709\u4e0d\u662f\u5b9e\u73b0\u5176\u5546\u4e1a\u4ef7\u503c\u7684\u6838\u5fc3\u6280\u672f\uff0c\u90a3\u4e48\u5b83\u5c31\u662f Serverless \u7684\u3002\u5f88\u5c11\u6709\u516c\u53f8\u662f\u5b8c\u5168 Serverless \u7684\u3002\u4f46\u662f\u5728\u516c\u53f8\u5185\u90e8\uff0c\u4ecd\u7136\u53ef\u4ee5\u6709 Serverless \u7684\u90e8\u5206\u3002

\n

\u5982\u679c\u4f60\u7684\u56e2\u961f\u51b3\u5b9a\u53ea\u5173\u6ce8\u5b83\u6240\u4f20\u9012\u7684\u4ef7\u503c\uff0c\u5e76\u5c06\u4efb\u4f55\u8d85\u51fa\u8fd9\u4e9b\u4ef7\u503c\u7684\u4e1c\u897f\u59d4\u6258\u7ed9\u53e6\u4e00\u4e2a\u56e2\u961f\uff0c\u6216\u8005\u7406\u60f3\u60c5\u51b5\u4e0b\u59d4\u6258\u7ed9\u5916\u90e8\u2014\u2014\u90a3\u4e48\u4f60\u7684\u56e2\u961f\u5c31\u4f1a\u53d8\u5f97 Serverless \u3002\u4f60\u4e0d\u80fd\u603b\u662f\u9009\u62e9\u4f7f\u7528\u5916\u90e8\u6280\u672f\u2014\u2014\u8fd9\u5f88\u597d\uff0c\u4f60\u4ecd\u7136\u53ef\u4ee5\u5728\u6709\u9650\u7684\u6761\u4ef6\u4e0b\u505a\u51fa\u6700\u597d\u7684\u9009\u62e9\u3002

\n

\u5728\u4e00\u4e2a\u8db3\u591f\u5927\u7684\u7ec4\u7ec7\u4e2d\uff0c\u5b83\u5c31\u4e0d\u518d\u91cd\u8981\u4e86\u3002\u5f53 Amazon.com \u4f7f\u7528 Lambda \u65f6\uff0c\u5b83\u662f\u5b8c\u5168 Serverless \u7684\uff0c\u5c3d\u7ba1\u5b83\u5728\u67d0\u79cd\u610f\u4e49\u4e0a\u662f on-prem \u7684\u3002\u4f46\u5982\u679c\u53ea\u6709\u4f60\u4e00\u4e2a\u4eba\u5462?

\n

\u5982\u679c\u4f60\u5bf9 Serverless \u611f\u5230\u5174\u594b\uff0c\u4f46\u5728\u516c\u53f8\u91cc\u611f\u5230\u5b8c\u5168\u5b64\u72ec\u600e\u4e48\u529e?\u5982\u679c\u4f60\u4e0e\u5b9e\u9645\u7684\u5546\u4e1a\u4ef7\u503c\u76f8\u53bb\u751a\u8fdc\u2014\u2014\u5982\u679c\u4f60\u4e3a\u4e00\u4e2a\u670d\u52a1\u4e8e\u521b\u5efa\u9762\u5411\u7528\u6237\u5185\u5bb9\u7684\u56e2\u961f\u7684\u56e2\u961f\u6253\u8865\u4e01\uff0c\u90a3\u8be5\u600e\u4e48\u529e?\u6211\u60f3\u8bf4\u670d\u4f60\uff0c\u4f60\u4eca\u5929\u53ef\u4ee5\u5728\u4efb\u4f55\u60c5\u51b5\u4e0b\u53d8\u5f97 Serverless \u3002

\n

Serverless \u662f\u65b9\u5411\uff0c\u800c\u4e0d\u662f\u7ec8\u70b9

\n

\u6211\u66fe\u7ecf\u628a Serverless \u6280\u672f\u4f5c\u4e3a\u4e00\u4e2a\u5149\u8c31\u6765\u8ba8\u8bba\uff0c\u56e0\u4e3a\u6211\u77e5\u9053\u6ca1\u6709\u4e00\u6761\u6e05\u6670\u7684\u7ebf\u6765\u533a\u5206 Serverless \u6280\u672f\u548c\u975e Serverless \u6280\u672f\u3002\u6211\u7684\u610f\u601d\u662f\uff0c\u51e0\u4e4e\u6ca1\u6709\u4e00\u6761\u660e\u4eae\u7684\u7ebf\u6765\u5206\u9694\u4efb\u4f55\u7ed9\u5b9a\u7684\u5206\u7ec4\uff0c\u6240\u4ee5\u6211\u5728\u8fd9\u4e2a\u5047\u8bbe\u4e2d\u6211\u662f\u5f88\u5b89\u5168\u7684\u3002

\n

\u6211\u8bb2\u8fc7\u50cf Kinesis \u8fd9\u6837\u9700\u8981\u7ba1\u7406\u788e\u7247\u7684\u4e1c\u897f\uff0c\u5b83\u662f Serverless \u7684\uff0c\u4f46\u6bd4 SQS \u5c11\u4e00\u4e9b Serverless \u3002\u4f60\u4e0d\u5fc5\u4f7f\u7528 RDS \u4fee\u8865\u5b9e\u4f8b\uff0c\u4f46\u9700\u8981\u9009\u62e9\u5b9e\u4f8b\u7c7b\u578b\u548c\u6570\u91cf\u3002\u8fd9\u4e9b\u6280\u672f\u90fd\u662f\u4e0d\u540c\u7a0b\u5ea6\u7684 Serverless \u3002

\n

\u4f46\u6700\u8fd1\u6211\u5f00\u59cb\u610f\u8bc6\u5230\u5c06 Serverless \u63cf\u8ff0\u4e3a\u5149\u8c31\u7684\u4e00\u4e2a\u95ee\u9898\u662f\uff0c\u5b83\u5e76\u4e0d\u610f\u5473\u7740\u79fb\u52a8\u3002\u4ec5\u4ec5\u56e0\u4e3a\u4f60\u4f7f\u7528\u7684\u662f\u67d0\u79cd\u6307\u5b9a\u4e3a Serverless \u7684\u4ea7\u54c1\uff0c\u5e76\u4e0d\u610f\u5473\u7740\u4f60\u5e94\u8be5\u611f\u5230\u81ea\u5df1\u5df2\u7ecf\u83b7\u5f97\u4e86 Serverless -\u7ee7\u7eed\u4f7f\u7528\u5b83\u5e76\u8ba4\u4e3a\u4f60\u5df2\u7ecf\u9009\u4e2d\u4e86 Serverless \u590d\u9009\u6846\u662f\u53ef\u4ee5\u63a5\u53d7\u7684\u3002\u00a0

\n

\u722c\u4e0a Serverless \u9636\u68af

\n

\u6211\u5f00\u59cb\u628a Serverless \u60f3\u8c61\u6210\u4e00\u4e2a\u68af\u5b50\u3002\u4f60\u6b63\u5728\u6500\u767b\u67d0\u79cd\u5fc5\u6740\u6280\uff0c\u5728\u90a3\u91cc\u4f60\u53ef\u4ee5\u5728\u6ca1\u6709\u5f00\u9500\u7684\u60c5\u51b5\u4e0b\u4ea4\u4ed8\u7eaf\u4e1a\u52a1\u4ef7\u503c\u3002\u4f46\u9636\u68af\u4e0a\u7684\u6bcf\u4e2a\u68af\u7ea7\u90fd\u662f\u6709\u6548\u7684 Serverless \u6b65\u9aa4\u3002

\n

\u5982\u679c\u4f60\u4ece on-prem \u79fb\u52a8\u5230\u516c\u5171\u4e91\uff0c\u90a3\u662f\u9636\u68af\u3002\u5982\u679c\u4f60\u4ece\u865a\u62df\u673a\u8fc1\u79fb\u5230\u5bb9\u5668\uff0c\u90a3\u7b80\u76f4\u5c31\u662f\u5929\u68af\u3002\u5982\u679c\u4f60\u4ece\u6ca1\u6709\u5bb9\u5668\u7f16\u6392\u6216\u81ea\u5b9a\u4e49\u7f16\u6392\u8fc1\u79fb\u5230 Kubernetes\uff0c\u8fd9\u662f\u9636\u68af\u3002\u5982\u679c\u4f60\u4ece\u957f\u671f\u8fd0\u884c\u7684\u670d\u52a1\u5668\u8f6c\u79fb\u5230\u81ea\u6258\u7ba1\u7684 FaaS\uff0c\u90a3\u5c06\u662f\u5929\u68af\u3002\u4f46\u603b\u6709\u4e00\u4e2a\u68af\u7ea7\u5728\u4f60\u4e4b\u4e0a\uff0c\u4f60\u5e94\u8be5\u59cb\u7ec8\u4fdd\u6301\u6500\u767b\u3002\u00a0

\n

\"2.png\"

\n

\"\u9636\u68af\"\u6ca1\u6709\u4f20\u8fbe\u7684\u4e00\u4ef6\u4e8b\u662f\u5b83\u4e0d\u662f\u7ebf\u6027\u7684\u3002\u4ece\u865a\u62df\u673a\u8fc1\u79fb\u5230\u5bb9\u5668\u518d\u5230 Kubernetes \u90fd\u662f\u5728\u68af\u7ea7\u4e0a\u7684\u9636\u68af\uff0c\u4f46\u662f\u5c06\u865a\u62df\u673a\u4ece\u672c\u5730\u8fc1\u79fb\u5230\u4e91\u4e5f\u662f\u5982\u6b64\u3002\u5728\u8fd9\u4e9b\u60c5\u51b5\u4e0b\uff0c\u901a\u5e38\u6ca1\u6709\u4e00\u4e2a\u660e\u786e\u7684\u201c\u66f4\u597d\u201d\u3002

\n

\u6211\u60f3\u5230\u4e86\u901a\u5f80\u5c71\u9876\u7684\u8bb8\u591a\u8def\u5f84\u7684\u6bd4\u55bb\uff0c\u4f46\u6211\u559c\u6b22\u68af\u5b50\u7684\u4e00\u70b9\u662f\u5b83\u53ef\u4ee5\u662f\u65e0\u9650\u7684\u3002\u6ca1\u6709\u6700\u7ec8\u72b6\u6001\u3002\u6211\u559c\u6b22 Lambda\uff0c\u4f46\u6211\u4e00\u76f4\u5728\u5bfb\u627e\u66f4\u597d\u7684\u65b9\u5f0f\u6765\u4ea4\u4ed8\u4ee3\u7801\uff0c\u4f7f\u6211\u66f4\u5173\u6ce8\u4ef7\u503c\u3002

\n

Serverless \u662f\u4e00\u79cd\u601d\u60f3\u72b6\u6001

\n

Serverless \u662f\u5173\u4e8e\u4f60\u5982\u4f55\u51b3\u7b56\u7684\u95ee\u9898\uff0c\u800c\u4e0d\u662f\u4f60\u7684\u9009\u62e9\u3002\u6bcf\u4e2a\u51b3\u5b9a\u90fd\u662f\u6709\u7ea6\u675f\u7684\u3002\u4f46\u662f\uff0c\u5982\u679c\u4f60\u77e5\u9053\u6b63\u786e\u7684\u65b9\u5411\uff0c\u5373\u4f7f\u4f60\u4e0d\u80fd\u4ee5\u8fd9\u79cd\u65b9\u5f0f\u76f4\u63a5\u79fb\u52a8\uff0c\u4e5f\u53ef\u4ee5\u9009\u62e9\u6700\u7d27\u5bc6\u7ed3\u5408\u7684\u9009\u62e9\uff0c\u7136\u540e\u518d\u5411\u4e0a\u79fb\u52a8\u53e6\u4e00\u4e2a\u68af\u7ea7\u3002\u90a3\u4e48\uff0c\u4f60\u5982\u4f55\u91c7\u7528\u8fd9\u79cd\u601d\u7ef4\u65b9\u5f0f\uff1f\u4f60\u5982\u4f55\u505a\u51fa Serverless \u9009\u62e9\uff1f

\n

\u914d\u7f6e\u662f\u4f60\u7684\u670b\u53cb

\n

\u6211\u8ba4\u4e3a\u8bb8\u591a\u5f00\u53d1\u4eba\u5458\u770b\u4e0d\u8d77\u914d\u7f6e\uff0c\u8ba4\u4e3a\u5b83\u201c\u4e0d\u662f\u771f\u6b63\u7684\u7f16\u7a0b\u201d\u3002\u73b0\u5728\u6709\u4e00\u79cd\u5bf9\u7f16\u7a0b\u7684\u76f2\u76ee\u5d07\u62dc\u3002\u6211\u4eec\u88ab\u544a\u77e5\u201c\u8f6f\u4ef6\u6b63\u5728\u541e\u566c\u4e16\u754c\u201d\uff0c\u800c\u6211\u4eec\u5374\u4e0d\u51c6\u786e\u5730\u5c06\u5176\u7ffb\u8bd1\u6210\u201c\u7f16\u7801\u6b63\u5728\u541e\u566c\u4e16\u754c\u201d\u3002

\n

\u6211\u4eec\u5df2\u7ecf\u76f8\u4fe1\uff0c\u5f00\u53d1\u4eba\u5458\u662f\u7ec4\u7ec7\u4e2d\u552f\u4e00\u91cd\u8981\u7684\u4eba\uff0c\u800c\u6211\u4eec\u7684\u751f\u4ea7\u529b\u610f\u8bc6\u662f\u552f\u4e00\u91cd\u8981\u7684\u4e8b\u60c5\u3002\u6211\u4eec\u60f3\u5728\u533a\u57df\u4e2d\u611f\u53d7\u5230\uff0c\u8fd9\u5c31\u662f\u7f16\u7801\u6240\u63d0\u4f9b\u7684\u3002\u8fd9\u65b9\u9762\u7684\u4efb\u4f55\u969c\u788d\u90fd\u5bf9\u4f01\u4e1a\u4e0d\u5229\u3002\u6211\u4eec\u5bf9\u8fdb\u5165\u8be5\u533a\u57df\u662f\u5426\u771f\u7684\u6bd4\u66ff\u4ee3\u8def\u7ebf\u66f4\u5feb\uff0c\u66f4\u597d\u5730\u521b\u9020\u4ef7\u503c\u6ca1\u6709\u4efb\u4f55\u611f\u89c9\u3002\u00a0

\n

\u5207\u8bb0\uff1a\u6570\u5929\u7684\u7f16\u7a0b\u53ef\u4ee5\u8282\u7701\u6570\u5c0f\u65f6\u7684\u914d\u7f6e

\n

\u7ea6\u675f\u662f\u597d\u7684\u3002\u5220\u9664\u9009\u9879\u53ef\u4ee5\u5e2e\u52a9\u4f60\u4fdd\u6301\u4e13\u6ce8\u3002\u663e\u7136\uff0c\u5e76\u4e0d\u662f\u6240\u6709\u7684\u7ea6\u675f\u90fd\u662f\u597d\u7684\u2014\u2014\u4f46\u662f\u4e00\u822c\u6765\u8bf4\uff0c\u505a\u4e00\u822c\u4e8b\u60c5\u7684\u80fd\u529b\u662f\u4ee5\u82b1\u8d39\u66f4\u957f\u7684\u65f6\u95f4\u6765\u505a\u4e00\u4ef6\u7279\u5b9a\u7684\u4e8b\u60c5\u4e3a\u4ee3\u4ef7\u7684\u3002\u62a4\u680f\u53ef\u80fd\u4f1a\u78e8\u635f\uff0c\u4f46\u4f60\u4f1a\u6bd4\u4e00\u76f4\u76ef\u7740\u62a4\u680f\u8fb9\u7f18\u8dd1\u5f97\u5feb\u3002

\n

\u8fd9\u6837\uff0cServerless \u662f\u5173\u4e8e\u6781\u7b80\u4e3b\u4e49\u7684\u3002\u6d88\u9664\u5e72\u6270\u3002Marie Kondo \u73b0\u5728\u5f88\u5927\uff0c\u5e76\u4e14\u540c\u6837\u7684\u5efa\u8bae\u4e5f\u9002\u7528\u3002\u67e5\u627e\u4f60\u7684\u5806\u6808\u4e2d\u4e0d\u4f1a\u4ea7\u751f\u4ef7\u503c\u7684\u7ec4\u4ef6\u3002\u00a0

\n

\u5bb3\u6015\u53ef\u80fd\u53d1\u751f\u7684\u5de8\u5927\u4e8b\u4ef6

\n

\u53ef\u80fd\u6027\u8574\u542b\u7740\u9690\u85cf\u7684\u590d\u6742\u6027\u3002\u5bf9\u4e8e\u4efb\u4f55\u6280\u672f\uff0c\u6211\u7684\u4e3b\u8981\u8bc4\u4f30\u6307\u6807\u4e4b\u4e00\u662f\u5b83\u6709\u591a\u5c11\u80fd\u529b\u8d85\u51fa\u624b\u5934\u7684\u4efb\u52a1\u3002\u5f53\u6709\u5f88\u591a\u989d\u5916\u7684\u7a7a\u95f4\u65f6\uff0c\u5c31\u4f1a\u5904\u7406\u548c\u5b66\u4e60\u4e0d\u5fc5\u8981\u7684\u590d\u6742\u6027\u3002

\n

\u4eba\u4eec\u628a Kubernetes \u5439\u6367\u4e3a\u4e00\u4e2a\u5355\u4e00\u7684\u5de5\u5177\u6765\u5b8c\u6210\u6bcf\u4e00\u4e2a\u4e91\u9700\u6c42\u2014\u2014\u5b83\u786e\u5b9e\u53ef\u4ee5\uff01\u4f46\u5982\u679c\u4e00\u5207\u7686\u6709\u53ef\u80fd\uff0c\u4e00\u5207\u7686\u6709\u53ef\u80fd\u3002\u5bf9\u4e8e\u4e00\u4e2a\u7ed9\u5b9a\u7684\u4efb\u52a1\uff0cKubernetes \u53ef\u80fd\u4f1a\u51fa\u9519\uff0c\u56e0\u4e3a\u4f60\u6ca1\u6709\u8003\u8651\u5b83\u5728\u4e0e\u8be5\u4efb\u52a1\u65e0\u5173\u7684\u60c5\u51b5\u4e0b\u7684\u884c\u4e3a\u65b9\u5f0f\u3002

\n

\u53e6\u4e00\u65b9\u9762\uff0c\u5f53\u4f60\u8003\u8651 Serverless \u7684\u670d\u52a1\u65f6\uff0c\u4f60\u53ef\u80fd\u5fc5\u987b\u5728\u4e3b\u8981\u63d0\u4f9b\u5546\u63d0\u4f9b\u7684 80%\u7684\u89e3\u51b3\u65b9\u6848\u6216\u7b2c\u4e09\u65b9\u63d0\u4f9b\u5546\u63d0\u4f9b\u7684\u66f4\u9002\u5408\u4f60\u9700\u6c42\u7684\u670d\u52a1\u4e4b\u95f4\u505a\u51fa\u9009\u62e9\u3002\u4f46\u662f\u8be5\u65b0\u63d0\u4f9b\u5546\u7684\u8fd0\u7ef4\u9700\u6c42\u662f\u4ec0\u4e48\uff1f\u8eab\u4efd\u9a8c\u8bc1\u662f\u4ec0\u4e48\u6837\u7684\uff1f\u8fd9\u4e9b\u662f\u9690\u85cf\u7684\u590d\u6742\u6027\uff0c\u4f60\u9700\u8981\u5f15\u5165\u8fd9\u4e9b\u7279\u6027\uff0c\u4f60\u9700\u8981\u6743\u8861\u8fd9\u4e9b\u7279\u6027\u5dee\u5f02\u3002\u00a0

\n

\u63a5\u53d7\u4e0d\u62e5\u6709\u81ea\u5df1\u547d\u8fd0\u7684\u4e0d\u9002\u611f

\n

\u5f53\u4f60\u4f7f\u7528\u6258\u7ba1\u670d\u52a1\u65f6\uff0c\u63d0\u4f9b\u8005\u4e2d\u65ad\u4f1a\u5e26\u6765\u538b\u529b\u3002\u4f60\u65e0\u6cd5\u89e3\u51b3\u4ed6\u4eec\u7684\u95ee\u9898\u3002\u8fd9\u662f\u65e0\u6cd5\u56de\u907f\u7684\u2014\u2014\u8fd9\u603b\u662f\u8ba9\u4eba\u611f\u89c9\u5f88\u7cdf\u7cd5\u3002\u4f60\u53ef\u80fd\u4f1a\u60f3\uff0c\u201c\u5982\u679c\u6211\u8fd0\u884c\u81ea\u5df1\u7684 Kafka \u96c6\u7fa4\u800c\u4e0d\u662f\u4f7f\u7528 Kinesis\uff0c\u6211\u5c31\u53ef\u4ee5\u627e\u5230\u95ee\u9898\u5e76\u89e3\u51b3\u5b83\u201d\u3002\u8fd9\u53ef\u80fd\u662f\u771f\u7684\uff0c\u4f46\u4f60\u5e94\u8be5\u8bb0\u4f4f\u4e24\u4ef6\u4e8b\uff1a

\n\n

\u8d85\u8d8a\u201c\u6211\u603b\u662f\u53ef\u4ee5\u81ea\u5df1\u5efa\u7acb\u5b83\u201d\u7684\u6001\u5ea6\u53ef\u80fd\u5f88\u96be\u3002Jared Short \u6700\u8fd1\u4e3a\u9009\u62e9\u6280\u672f\u63d0\u4f9b\u4e86\u4e00\u5957\u51fa\u8272\u7684\u6307\u5bfc\u65b9\u9488\u3002\n_\n\u8fd9\u4e9b\u5929\u6765\u6211\u5bf9\u65e0\u670d\u52a1\u5668\u7684\u601d\u8003\u662f\u6309\u8003\u8651\u987a\u5e8f\u8fdb\u884c\u7684\u3002\u2013\u5982\u679c\u5e73\u53f0\u62e5\u6709\uff0c\u8bf7\u4f7f\u7528\u2013\u5982\u679c\u5e02\u573a\u62e5\u6709\uff0c\u8bf7\u8d2d\u4e70\u2013\u5982\u679c\u4f60\u53ef\u4ee5\u91cd\u65b0\u8003\u8651\u9700\u6c42\uff0c\u8bf7\u6267\u884c\u2013\u5982\u679c\u5fc5\u987b\u6784\u5efa\uff0c\u8bf7\u62e5\u6709\u3002\u2014\u2014@ShortJared

\n

\u56e0\u6b64\uff0c\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f\u4e91\u5e73\u53f0\uff0c\u8bf7\u5c3d\u53ef\u80fd\u7559\u5728\u751f\u6001\u7cfb\u7edf\u4e2d\u3002\u8fd9\u6837\uff0c\u4f60\u5c31\u53ef\u4ee5\u4ece\u65b9\u7a0b\u5f0f\u4e2d\u6d88\u9664\u5f88\u591a\u53ef\u80fd\u6027\u3002\u4f46\u662f\uff0c\u5982\u679c\u65e0\u6cd5\u5728\u5e73\u53f0\u4e0a\u83b7\u5f97\u6240\u9700\u7684\u4e1c\u897f\uff0c\u8bf7\u4ece\u5176\u4ed6\u5730\u65b9\u8d2d\u4e70\u3002

\n

\u5982\u679c\u4f60\u4e0d\u80fd\u5b8c\u5168\u8d2d\u4e70\u6240\u9700\u7684\u4e1c\u897f\uff0c\u4f60\u662f\u5426\u53ef\u4ee5\u91cd\u65b0\u8003\u8651\u81ea\u5df1\u5728\u505a\u4ec0\u4e48\u4ee5\u9002\u5e94\u4f60\u53ef\u4ee5\u8d2d\u4e70\u7684\u4e1c\u897f\uff1f\u8fd9\u4e00\u70b9\u771f\u7684\u5f88\u91cd\u8981\u3002\u5b83\u5230\u8fbe\u4e86\u4e0a\u5e02\u65f6\u95f4\u7684\u6838\u5fc3\u3002

\n

\u5982\u679c\u4f60\u6709\u4e00\u4e9b\u4f60\u8ba4\u4e3a\u6709\u4ef7\u503c\u7684\u4e1c\u897f\uff0c\u4f60\u4f1a\u60f3\u8981\u5c3d\u5feb\u8fd0\u9001\u3002\u4f46\u66f4\u5feb\u5730\u8fd0\u9001\u4e00\u4e9b\u4e1c\u897f\uff0c\u603b\u6bd4\u7cbe\u786e\u5730\u6784\u5efa\u597d\uff0c\u56e0\u4e3a\u4f60\u8fd8\u4e0d\u77e5\u9053\u8fd9\u662f\u4e0d\u662f\u6b63\u786e\u7684\u4e1c\u897f\u3002

\n

\u7b49\u5f85\u6784\u5efa\u51fa\u6b63\u786e\u7684\u4e1c\u897f\u4e0d\u4ec5\u4f1a\u82b1\u8d39\u66f4\u957f\u7684\u65f6\u95f4\uff0c\u800c\u4e14\u540e\u7eed\u7684\u8fed\u4ee3\u4e5f\u4f1a\u66f4\u6162\u2014\u2014\u5e76\u4e14\u5bf9\u5176\u8fdb\u884c\u7ef4\u62a4\u5c06\u5360\u7528\u4f60\u5c06\u6765\u53ef\u7528\u4e8e\u8fd0\u9001\u66f4\u591a\u4e1c\u897f\u7684\u8d44\u6e90\u3002\u5373\u4f7f\u5728\u8be5\u6280\u672f\u4e0d\u662f Serverless \u7684\u60c5\u51b5\u4e0b\uff0c\u8fd9\u4e5f\u9002\u7528\uff1a\u59cb\u7ec8\u8be2\u95ee\u5bf9\u4f60\u7684\u8981\u6c42\u7684\u8c03\u6574\u662f\u5426\u53ef\u4ee5\u5b9e\u73b0\u66f4\u5feb\uff0c\u66f4\u597d\u6216\u66f4\u4e13\u6ce8\u7684\u4ef7\u503c\u4ea4\u4ed8\u3002

\n

\u4f46\u662f\uff0c\u6700\u540e\uff0c\u5982\u679c\u5fc5\u987b\u6784\u5efa\u5b83\uff0c\u8bf7\u62e5\u6709\u5b83\u3002\u5bfb\u627e\u4e00\u79cd\u4f7f\u5176\u4e0e\u4f17\u4e0d\u540c\u7684\u65b9\u6cd5\u3002\u73b0\u5728\uff0c\u8fd9\u5e76\u4e0d\u610f\u5473\u7740\u4f60\u5df2\u7ecf\u6784\u5efa\u7684\u6240\u6709\u5185\u5bb9\u90fd\u5e94\u8be5\u53d8\u6210\u5dee\u5f02\u5316\u7684\u3002\u5728\u5b8c\u7f8e\u7684\u4e16\u754c\u91cc\u53ea\u770b\u4f60\u4e70\u4e0d\u5230\u7684\u4e1c\u897f\u3002\u60f3\u8c61\u4e00\u4e0b\u5b8c\u5168 Serverless \u7684\u7eff\u5730\u5b9e\u73b0\u4f1a\u662f\u4ec0\u4e48\u6837\u5b50\uff0c\u5e76\u627e\u5230\u9700\u8981\u5728\u90a3\u91cc\u6784\u5efa\u7684\u5185\u5bb9\u3002\u00a0

\n

\u627e\u5230\u4f60\u7684\u4e1a\u52a1\u4ef7\u503c\u90e8\u5206

\n

\u56e0\u6b64\uff0c\u4ece\u6839\u672c\u4e0a\u8bb2\uff0c\u4f60\u5e0c\u671b\u627e\u5230\u4f60\u7684\u4e1a\u52a1\u4ef7\u503c\u90e8\u5206\u3002\u4f60\u6240\u670d\u52a1\u7684\u6280\u672f\u5de5\u4f5c\u662f\u4ec0\u4e48\uff1f\u4e5f\u8bb8\u4f60\u4e0e\u9762\u5411\u7528\u6237\u7684\u4ea7\u54c1\u76f8\u53bb\u751a\u8fdc\u3002\u4f60\u53ef\u80fd\u53ea\u8d21\u732e\u4e86\u4e00\u5c0f\u90e8\u5206\u3002\u4f46\u5b83\u5728\u90a3\u91cc\uff0c\u4f60\u53ef\u4ee5\u627e\u5230\u5b83-\u5e76\u4e13\u6ce8\u4e8e\u8fd9\u4e00\u4ef7\u503c\u3002

\n

\u4ece\u4f60\u4e3a\u7ec4\u7ec7\u4e2d\u5176\u4ed6\u4eba\u63d0\u4f9b\u7684\u76f4\u63a5\u4ef7\u503c\u5f00\u59cb\uff0c\u5e76\u4e13\u6ce8\u4e8e\u6b64\u3002\u7136\u540e\u5f00\u59cb\u8ffd\u8e2a\u4ef7\u503c\u94fe\u3002\u786e\u4fdd\u6240\u6709\u51b3\u7b56\u90fd\u56f4\u7ed5\u4f60\u6240\u521b\u9020\u7684\u4ef7\u503c\u3002\u505a\u51fa Serverless \u7684\u9009\u62e9\u3002

\n

\u96c7\u7528\u53ef\u4ee5\u81ea\u52a8\u5b8c\u6210\u5de5\u4f5c\u7684\u4eba\u5458\uff0c\u7136\u540e\u7ee7\u7eed\u4e3a\u4ed6\u4eec\u63d0\u4f9b\u5de5\u4f5c\u3002\u2014\u2014@jessfraz

\n

\u6211\u559c\u6b22 Jessie Frazelle \u7684\u8bdd\u3002\u4f60\u53ef\u4ee5\u628a\u5b83\u8f6c\u8fc7\u6765\uff1a\u81ea\u52a8\u5316\u5b8c\u6210\u5de5\u4f5c\uff0c\u7ee7\u7eed\u505a\u6709\u8981\u6c42\u7684\u5de5\u4f5c\u3002

\n

\u8bf7\u8bb0\u4f4f\uff0c\u4f60\u4e0d\u662f\u5de5\u5177\u3002\u5bf9\u4e8e\u4f60\u8981\u521b\u5efa\u7684\u4efb\u4f55\u4ef7\u503c\uff0c\u8bf7\u81ea\u52a8\u5316\u521b\u5efa\u3002\u5982\u679c\u4f60\u7ba1\u7406\u6784\u5efa\u670d\u52a1\u5668\uff0c\u8bf7\u627e\u5230\u4f7f\u5b83\u4eec\u6210\u4e3a\u81ea\u52a9\u670d\u52a1\u7684\u65b9\u6cd5\uff0c\u56e0\u6b64\u4f60\u4ea4\u4ed8\u7684\u4e0d\u662f\u6784\u5efa\u672c\u8eab\uff0c\u800c\u662f\u6784\u5efa\u5de5\u5177\uff0c\u4ee5\u4fbf\u56e2\u961f\u53ef\u4ee5\u81ea\u5df1\u4ea4\u4ed8\u6784\u5efa\u3002\u00a0

\n

\u603b\u7ed3\uff1aServerless \u662f\u4e00\u79cd\u601d\u60f3\u72b6\u6001

\n

\u91cd\u70b9\u4e0d\u662f\u51fd\u6570\uff0c\u6258\u7ba1\u670d\u52a1\uff0c\u8fd0\u7ef4\uff0c\u6210\u672c\uff0c\u4ee3\u7801\u6216\u6280\u672f\u3002\u91cd\u70b9\u662f\u4e13\u6ce8\u2014\u2014\u8fd9\u5c31\u662f\u9009\u62e9 Serverless \u7684\u539f\u56e0\u3002

\n

Serverless \u662f\u4e13\u6ce8\u4e1a\u52a1\u4ef7\u503c\u7684\u7ed3\u679c\u3002\u8fd9\u662f\u4e00\u4e2a\u7279\u8d28\u3002\u8fd9\u662f\u65b9\u5411\uff0c\u800c\u4e0d\u662f\u7ec8\u70b9\u3002\u722c\u4e0a\u6c38\u65e0\u6b62\u5883\u7684 Serverless \u9636\u68af\u3002

\n

\u914d\u7f6e\u662f\u4f60\u7684\u670b\u53cb\u3002\u6570\u5929\u7684\u7f16\u7a0b\u65f6\u95f4\u53ef\u4ee5\u8282\u7701\u6570\u5c0f\u65f6\u7684\u914d\u7f6e\u65f6\u95f4\u3002\u5bb3\u6015\u53ef\u80fd\u53d1\u751f\u7684\u5de8\u5927\u4e8b\u4ef6\u3002\u63a5\u53d7\u4e0d\u62e5\u6709\u81ea\u5df1\u547d\u8fd0\u7684\u4e0d\u9002\u611f\u3002

\n

\u627e\u5230\u4f60\u7684\u4e1a\u52a1\u4ef7\u503c\u90e8\u5206\uff0c\u5e76\u5b9e\u73b0 Serverless \u72b6\u6001\u3002\u00a0

\n
\n

\u539f\u6587\u94fe\u63a5\uff1ahttps://read.acloud.guru/serverless-is-a-state-of-mind-717ef2088b42

\n
\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/738211", "title": "\u90fd 2021 \u5e74\u4e86\uff0c Serverless \u80fd\u53d6\u4ee3\u5fae\u670d\u52a1\u5417\uff1f", "id": "t/738211", "date_published": "2020-12-23T05:35:03+00:00", "content_html": "

\"\u5934\u56fe.png\"\n\u6765\u6e90 | Serverless \u516c\u4f17\u53f7\n\u7f16\u8bd1 | OrangeJ\n\u4f5c\u8005 | Mariliis Retter

\n

\u201cServerless \u80fd\u53d6\u4ee3\u5fae\u670d\u52a1\u5417\uff1f\u201d \u8fd9\u662f\u77e5\u4e4e\u4e0a Serverless \u5206\u7c7b\u7684\u9ad8\u70ed\u8bdd\u9898\u3002

\n

\"1.png\"

\n

\u6709\u4eba\u8bf4\u5fae\u670d\u52a1\u4e0e Serverless \u662f\u76f8\u80cc\u79bb\u7684\uff0c\u867d\u7136\u6211\u4eec\u53ef\u4ee5\u57fa\u4e8e Serverless \u540e\u7aef\u6765\u6784\u5efa\u5fae\u670d\u52a1\uff0c\u4f46\u5728\u5fae\u670d\u52a1\u548c Serverless \u4e4b\u95f4\u5e76\u4e0d\u5b58\u5728\u76f4\u63a5\u7684\u8def\u5f84\u3002\u4e5f\u6709\u4eba\u8bf4\uff0c\u56e0\u4e3a Serverless \u5185\u542b\u7684 Function \u53ef\u4ee5\u89c6\u4e3a\u66f4\u5c0f\u7684\u3001\u539f\u5b50\u5316\u7684\u670d\u52a1\uff0c\u5929\u7136\u5730\u5951\u5408\u5fae\u670d\u52a1\u7684\u4e00\u4e9b\u7406\u5ff5\uff0c\u6240\u4ee5 Serverless \u4e0e\u5fae\u670d\u52a1\u662f\u5929\u4f5c\u4e4b\u5408\u3002\u9a6c\u4e0a\u5c31\u8981 2021 \u5e74\u4e86\uff0cServerless \u662f\u5426\u7ec8\u5c06\u53d6\u4ee3\u5fae\u670d\u52a1\uff1f\u4ece\u5fae\u670d\u52a1\u5230 Serverless \u9700\u8981\u7ecf\u8fc7\u600e\u6837\u7684\u8def\u5f84\uff1f\u672c\u6587\u5c06\u5bf9 Serverless \u4e0e\u5fae\u670d\u52a1\u5728\u4f18\u52bf\u52a3\u52bf\u4e0a\u8fdb\u884c\u6df1\u5ea6\u5bf9\u6bd4\u3002

\n

\u4ece\u6982\u5ff5\u4e0a\u8bb2\uff0c\u5fae\u670d\u52a1\u5b8c\u5168\u7b26\u5408 Serverless \u529f\u80fd\u7ed3\u6784\uff0c\u5fae\u670d\u52a1\u53ef\u4ee5\u8f7b\u677e\u5b9e\u73b0\u4e0d\u540c\u670d\u52a1\u7684\u90e8\u7f72\u548c\u8fd0\u884c\u65f6\u9694\u79bb\u3002\u5728\u5b58\u50a8\u65b9\u9762\uff0c\u50cf DynamoDB \u8fd9\u6837\u7684\u670d\u52a1\u53ef\u4ee5\u8ba9\u6bcf\u4e2a\u5fae\u670d\u52a1\u62e5\u6709\u72ec\u7acb\u7684\u6570\u636e\u5e93\uff0c\u5e76\u72ec\u7acb\u5730\u8fdb\u884c\u6269\u5c55\u3002\u5728\u6211\u4eec\u6df1\u5165\u63a2\u8ba8\u7ec6\u8282\u4e4b\u524d\uff0c\u5148\u522b\u6025\u7740\u201c\u7ad9\u961f\u201d\uff0c\u4e0d\u59a8\u5148\u57fa\u4e8e\u4f60\u56e2\u961f\u7684\u5b9e\u9645\u60c5\u51b5\uff0c\u771f\u5b9e\u7684\u53bb\u601d\u8003\u662f\u5426\u9002\u5408\u4f7f\u7528\u5fae\u670d\u52a1\uff0c\u5343\u4e07\u4e0d\u8981\u56e0\u4e3a \"\u8fd9\u662f\u8d8b\u52bf \"\u800c\u53bb\u9009\u62e9\u5b83\u3002

\n

\u5fae\u670d\u52a1\u5728 Serverless \u73af\u5883\u4e0b\u7684\u4f18\u52bf

\n

\u53ef\u9009\u62e9\u7684\u53ef\u6269\u5c55\u6027\u548c\u5e76\u53d1\u6027

\n

Serverless \u8ba9\u7ba1\u7406\u5e76\u53d1\u6027\u548c\u53ef\u6269\u5c55\u6027\u53d8\u5f97\u5bb9\u6613\u3002\u5728\u5fae\u670d\u52a1\u67b6\u6784\u4e2d\uff0c\u6211\u4eec\u6700\u5927\u9650\u5ea6\u5730\u5229\u7528\u4e86\u8fd9\u4e00\u70b9\u3002\u6bcf\u4e00\u4e2a\u5fae\u670d\u52a1\u90fd\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u5bf9\u5e76\u53d1\u6027 /\u53ef\u6269\u5c55\u6027\u8fdb\u884c\u8bbe\u7f6e\u3002\u4ece\u4e0d\u540c\u7684\u89d2\u5ea6\u6765\u770b\u8fd9\u975e\u5e38\u6709\u4ef7\u503c\uff1a\u6bd4\u5982\u51cf\u8f7b DDoS \u653b\u51fb\u53ef\u80fd\u6027\uff0c\u964d\u4f4e\u4e91\u8d26\u5355\u5931\u63a7\u7684\u8d22\u52a1\u98ce\u9669\uff0c\u66f4\u597d\u5730\u5206\u914d\u8d44\u6e90......\u7b49\u7b49\u3002

\n

\u7ec6\u7c92\u5ea6\u7684\u8d44\u6e90\u5206\u914d

\n

\u56e0\u4e3a\u53ef\u6269\u5c55\u6027\u548c\u5e76\u53d1\u6027\u53ef\u4ee5\u81ea\u4e3b\u9009\u62e9\uff0c\u7528\u6237\u53ef\u4ee5\u7ec6\u7c92\u5ea6\u63a7\u5236\u8d44\u6e90\u5206\u914d\u7684\u4f18\u5148\u7ea7\u3002\u5728 Lambda functions \u4e2d\uff0c\u6bcf\u4e2a\u5fae\u670d\u52a1\u90fd\u53ef\u4ee5\u6839\u636e\u5176\u9700\u6c42\uff0c\u62e5\u6709\u4e0d\u540c\u7ea7\u522b\u7684\u5185\u5b58\u5206\u914d\u3002\u6bd4\u5982\uff0c\u9762\u5411\u5ba2\u6237\u7684\u670d\u52a1\u53ef\u4ee5\u62e5\u6709\u66f4\u9ad8\u7684\u5185\u5b58\u5206\u914d\uff0c\u56e0\u4e3a\u8fd9\u5c06\u6709\u52a9\u4e8e\u52a0\u5feb\u6267\u884c\u65f6\u95f4\uff1b\u800c\u5bf9\u4e8e\u5ef6\u8fdf\u4e0d\u654f\u611f\u7684\u5185\u90e8\u670d\u52a1\uff0c\u5c31\u53ef\u4ee5\u7528\u4f18\u5316\u7684\u5185\u5b58\u8bbe\u7f6e\u6765\u8fdb\u884c\u90e8\u7f72\u3002

\n

\u8fd9\u4e00\u7279\u6027\u540c\u6837\u9002\u7528\u4e8e\u5b58\u50a8\u673a\u5236\u3002\u6bd4\u5982 DynamoDB \u6216 Aurora Serverless \u6570\u636e\u5e93\u5c31\u53ef\u4ee5\u6839\u636e\u6240\u670d\u52a1\u7684\u7279\u5b9a\uff08\u5fae\uff09\u670d\u52a1\u7684\u9700\u6c42\uff0c\u62e5\u6709\u4e0d\u540c\u7ea7\u522b\u7684\u5bb9\u91cf\u5206\u914d\u3002

\n

\u677e\u8026\u5408

\n

\u8fd9\u662f\u5fae\u670d\u52a1\u7684\u4e00\u822c\u5c5e\u6027\uff0c\u5e76\u4e0d\u662f Serverless \u7684\u72ec\u6709\u5c5e\u6027\uff0c\u8fd9\u4e2a\u7279\u6027\u8ba9\u7cfb\u7edf\u4e2d\u4e0d\u540c\u529f\u80fd\u7684\u7ec4\u4ef6\u66f4\u5bb9\u6613\u89e3\u8026\u3002

\n

\u652f\u6301\u591a\u8fd0\u884c\u73af\u5883

\n

Serverless \u529f\u80fd\u7684\u914d\u7f6e\u3001\u90e8\u7f72\u548c\u6267\u884c\u7684\u7b80\u6613\u6027\uff0c\u4e3a\u57fa\u4e8e\u591a\u4e2a\u8fd0\u884c\u65f6\u7684\u7cfb\u7edf\u63d0\u4f9b\u4e86\u53ef\u80fd\u6027\u3002

\n

\u867d\u7136 Node.js \uff08 Javascript \u8fd0\u884c\u65f6\uff09\u662f\u540e\u7aef Web \u5e94\u7528\u6700\u6d41\u884c\u7684\u6280\u672f\u4e4b\u4e00\uff0c\u4f46\u5b83\u4e0d\u53ef\u80fd\u6210\u4e3a\u6bcf\u4e00\u9879\u4efb\u52a1\u7684\u6700\u4f73\u5de5\u5177\u3002\u5bf9\u4e8e\u6570\u636e\u5bc6\u96c6\u578b\u4efb\u52a1\u3001\u9884\u6d4b\u5206\u6790\u548c\u4efb\u4f55\u7c7b\u578b\u7684\u673a\u5668\u5b66\u4e60\uff0c\u4f60\u53ef\u80fd\u9009\u62e9 Python \u4f5c\u4e3a\u7f16\u7a0b\u8bed\u8a00\uff1b\u50cf SageMaker \u8fd9\u6837\u7684\u4e13\u7528\u5e73\u53f0\u66f4\u9002\u5408\u5927\u9879\u76ee\u3002

\n

\u6709\u4e86 Serverless \u57fa\u7840\u67b6\u6784\uff0c\u4f60\u65e0\u9700\u5728\u64cd\u4f5c\u65b9\u9762\u82b1\u8d39\u989d\u5916\u7684\u7cbe\u529b\u5c31\u53ef\u4ee5\u76f4\u63a5\u4e3a\u5e38\u89c4\u540e\u7aef API \u9009\u62e9 Node.js \uff0c\u4e3a\u6570\u636e\u5bc6\u96c6\u578b\u5de5\u4f5c\u9009\u62e9 Python \u3002\u663e\u7136\uff0c\u8fd9\u53ef\u80fd\u4f1a\u7ed9\u4f60\u7684\u56e2\u961f\u5e26\u6765\u4ee3\u7801\u7ef4\u62a4\u548c\u56e2\u961f\u7ba1\u7406\u7684\u989d\u5916\u5de5\u4f5c\u3002

\n

\u5f00\u53d1\u56e2\u961f\u7684\u72ec\u7acb\u6027

\n

\u4e0d\u540c\u7684\u5f00\u53d1\u8005\u6216\u56e2\u961f\u53ef\u4ee5\u5728\u5404\u81ea\u7684\u5fae\u670d\u52a1\u4e0a\u5de5\u4f5c\u3001\u4fee\u590d bug \u3001\u6269\u5c55\u529f\u80fd\u7b49\uff0c\u505a\u5230\u4e92\u4e0d\u5e72\u6270\u3002\u6bd4\u5982 AWS SAM \u3001Serverless \u6846\u67b6\u7b49\u5de5\u5177\u8ba9\u5f00\u53d1\u8005\u5728\u64cd\u4f5c\u5c42\u9762\u66f4\u52a0\u72ec\u7acb\u3002\u800c AWS CDK \u6784\u67b6\u7684\u51fa\u73b0\uff0c\u53ef\u4ee5\u5728\u4e0d\u635f\u5bb3\u9ad8\u8d28\u91cf\u548c\u8fd0\u7ef4\u6807\u51c6\u7684\u524d\u63d0\u4e0b\uff0c\u8ba9\u5f00\u53d1\u56e2\u961f\u62e5\u6709\u66f4\u9ad8\u7684\u72ec\u7acb\u6027\u3002

\n

\u5fae\u670d\u52a1\u5728 Serverless \u4e2d\u7684\u52a3\u52bf

\n

\u96be\u4ee5\u76d1\u63a7\u548c\u8c03\u8bd5

\n

\u5728 Serverless \u5e26\u6765\u7684\u4f17\u591a\u6311\u6218\u4e2d\uff0c\u76d1\u63a7\u548c\u8c03\u8bd5\u53ef\u80fd\u662f\u6700\u6709\u96be\u5ea6\u7684\u3002\u56e0\u4e3a\u8ba1\u7b97\u548c\u5b58\u50a8\u7cfb\u7edf\u5206\u6563\u5728\u8bb8\u591a\u4e0d\u540c\u7684\u529f\u80fd\u548c\u6570\u636e\u5e93\u4e2d\uff0c\u66f4\u4e0d\u7528\u8bf4\u961f\u5217\u3001\u7f13\u5b58\u7b49\u5176\u4ed6\u670d\u52a1\u4e86\uff0c\u8fd9\u4e9b\u95ee\u9898\u90fd\u662f\u7531\u5fae\u670d\u52a1\u672c\u8eab\u5f15\u8d77\u7684\u3002\u4e0d\u8fc7\uff0c\u76ee\u524d\u5df2\u7ecf\u6709\u4e13\u4e1a\u7684\u5e73\u53f0\u53ef\u4ee5\u89e3\u51b3\u6240\u6709\u8fd9\u4e9b\u95ee\u9898\u3002\u90a3\u4e48\uff0c\u4e13\u4e1a\u7684\u5f00\u53d1\u56e2\u961f\u662f\u5426\u8981\u5f15\u5165\u8fd9\u4e9b\u4e13\u4e1a\u5e73\u53f0\u4e5f\u5e94\u8be5\u57fa\u4e8e\u6210\u672c\u8fdb\u884c\u8003\u91cf\u3002

\n

\u53ef\u80fd\u7ecf\u5386\u66f4\u591a\u51b7\u542f\u52a8

\n

\u5f53 FaaS \u5e73\u53f0\uff08\u5982 Lambda \uff09\u9700\u8981\u542f\u52a8\u4e00\u4e2a\u65b0\u7684\u865a\u62df\u673a\u6765\u8fd0\u884c\u51fd\u6570\u4ee3\u7801\u65f6\uff0c\u5c31\u4f1a\u53d1\u751f\u51b7\u542f\u52a8\u3002\u5982\u679c\u4f60\u7684\u51fd\u6570 Workload \u5bf9\u5ef6\u8fdf\u654f\u611f\uff0c\u5c31\u5f88\u53ef\u80fd\u4f1a\u9047\u5230\u95ee\u9898\u3002\u56e0\u4e3a\u51b7\u542f\u52a8\u4f1a\u5728\u603b\u542f\u52a8\u65f6\u95f4\u4e2d\u589e\u52a0\u51e0\u767e\u6beb\u79d2\u5230\u51e0\u79d2\u7684\u65f6\u95f4\uff0c\u5f53\u4e00\u4e2a\u8bf7\u6c42\u5b8c\u6210\u540e\uff0cFaaS \u5e73\u53f0\u901a\u5e38\u4f1a\u8ba9 microVM \u7a7a\u95f2\u4e00\u6bb5\u65f6\u95f4\uff0c\u7b49\u5f85\u4e0b\u4e00\u4e2a\u8bf7\u6c42\uff0c\u7136\u540e\u5728 10-60 \u5206\u949f\u540e\u5173\u95ed\uff08\u662f\u7684\uff0c\u53d8\u5316\u5f88\u5927\uff09\u3002\u7ed3\u679c\u662f\uff1a\u4f60\u7684\u529f\u80fd\u6267\u884c\u7684\u8d8a\u9891\u7e41\uff0cmicroVM \u5c31\u8d8a\u6709\u53ef\u80fd\u4e3a\u4f20\u5165\u7684\u8bf7\u6c42\u800c\u542f\u52a8\u5e76\u8fd0\u884c\uff08\u907f\u514d\u51b7\u542f\u52a8\uff09\u3002

\n

\u5f53\u6211\u4eec\u5c06\u5e94\u7528\u5206\u6563\u5728\u6570\u767e\u4e2a\u6216\u6570\u5343\u4e2a\u5fae\u670d\u52a1\u4e2d\u65f6\uff0c\u6211\u4eec\u53ef\u80fd\u5728\u6bcf\u4e2a\u670d\u52a1\u4e2d\u5206\u6563\u8c03\u7528\u65f6\u95f4\uff0c\u5bfc\u81f4\u6bcf\u4e2a\u51fd\u6570\u7684\u8c03\u7528\u9891\u7387\u964d\u4f4e\u3002\u6ce8\u610f \"\u53ef\u80fd\u4f1a\u5206\u6563\u8c03\u7528\"\u3002\u6839\u636e\u4e1a\u52a1\u903b\u8f91\u548c\u4f60\u7684\u7cfb\u7edf\u884c\u4e3a\u65b9\u5f0f\uff0c\u8fd9\u79cd\u8d1f\u9762\u5f71\u54cd\u53ef\u80fd\u5f88\u5c0f\uff0c\u6216\u8005\u53ef\u4ee5\u5ffd\u7565\u4e0d\u8ba1\u3002

\n

\u5176\u4ed6\u7f3a\u70b9

\n

\u5fae\u670d\u52a1\u6982\u5ff5\u672c\u8eab\u8fd8\u5b58\u5728\u5176\u4ed6\u56fa\u6709\u7684\u7f3a\u70b9\u3002\u8fd9\u4e9b\u5e76\u4e0d\u662f\u4e0e Serverless \u6709\u5185\u5728\u8054\u7cfb\u7684\u3002\u5c3d\u7ba1\u5982\u6b64\uff0c\u6bcf\u4e00\u4e2a\u91c7\u7528\u8fd9\u79cd\u7c7b\u578b\u67b6\u6784\u7684\u56e2\u961f\u90fd\u5e94\u8be5\u8c28\u614e\uff0c\u4ee5\u964d\u4f4e\u5176\u6f5c\u5728\u7684\u98ce\u9669\u548c\u6210\u672c\u3002

\n\n

\u5fae\u670d\u52a1\u5728 Serverless \u4e2d\u7684\u6311\u6218\u548c\u6700\u4f73\u5b9e\u8df5

\n

Serverless \u4e2d\u5fae\u670d\u52a1\u5e94\u8be5\u591a\u5927\uff1f

\n

\u4eba\u4eec\u5728\u7406\u89e3 Serverless \u65f6\uff0c\"Function as a Services \uff08 FaaS \uff09 \" \u7684\u6982\u5ff5\u5f88\u5bb9\u6613\u4e0e\u7f16\u7a0b\u8bed\u8a00\u4e2d\u7684\u51fd\u6570\u8bed\u53e5\u76f8\u6df7\u6dc6\u3002\u76ee\u524d\uff0c\u6211\u4eec\u6b63\u5728\u5904\u5728\u4e00\u4e2a\u6ca1\u6709\u529e\u6cd5\u5212\u51fa\u5b8c\u7f8e\u754c\u9650\u7684\u65f6\u671f\uff0c\u4f46\u7ecf\u9a8c\u8868\u660e\uff0c\u4f7f\u7528\u975e\u5e38\u5c0f\u7684 Serverless \u51fd\u6570\u5e76\u4e0d\u662f\u4e00\u4e2a\u597d\u4e3b\u610f\u3002

\n

\u5f53\u4f60\u51b3\u5b9a\u5c06\u4e00\u4e2a\uff08\u5fae\uff09\u670d\u52a1\u5206\u62c6\u6210\u72ec\u7acb\u7684\u529f\u80fd\u65f6\uff0c\u4f60\u5c31\u5c06\u4e0d\u5f97\u4e0d\u9762\u5bf9 Serverless \u96be\u9898\u3002\u56e0\u6b64\uff0c\u5728\u6b64\u63d0\u9192\uff0c\u53ea\u8981\u6709\u53ef\u80fd\uff0c\u5c06\u76f8\u5173\u7684\u903b\u8f91\u4fdd\u6301\u5728\u4e00\u4e2a\u51fd\u6570\u4e2d\u4f1a\u597d\u5f88\u591a\u3002

\n

\u5f53\u7136\uff0c\u51b3\u7b56\u8fc7\u7a0b\u4e5f\u5e94\u8be5\u8003\u8651\u62e5\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u5fae\u670d\u52a1\u7684\u4f18\u52bf

\n

\u4f60\u53ef\u4ee5\u8fd9\u6837\u8bbe\u60f3\uff1a\"\u5982\u679c\u6211\u628a\u8fd9\u4e2a\u5fae\u670d\u52a1\u5206\u62c6\u51fa\u6765......

\n\n

\u5982\u679c\u4e0d\u80fd\uff0c\u4f60\u5e94\u8be5\u8003\u8651\u5c06\u8fd9\u4e2a\u670d\u52a1\u4e0e\u53e6\u4e00\u4e2a\u9700\u8981\u7c7b\u4f3c\u8d44\u6e90\u3001\u4e0a\u4e0b\u6587\u5173\u8054\u5e76\u6267\u884c\u76f8\u5173 Workload \u7684\u670d\u52a1\u6346\u7ed1\u5728\u4e00\u8d77\u3002

\n

\u677e\u8026\u5408\u7684\u67b6\u6784

\n

\u901a\u8fc7\u7ec4\u6210 Serverless \u51fd\u6570\u6765\u534f\u8c03\u5fae\u670d\u52a1\u7684\u65b9\u6cd5\u6709\u5f88\u591a\u3002

\n

\u5f53\u9700\u8981\u540c\u6b65\u901a\u4fe1\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u8c03\u7528(\u5373 AWS Lambda RequestResponse \u8c03\u7528\u65b9\u6cd5)\uff0c\u4f46\u8fd9\u4f1a\u5bfc\u81f4\u9ad8\u5ea6\u8026\u5408\u7684\u67b6\u6784\u3002\u66f4\u597d\u7684\u9009\u62e9\u662f\u4f7f\u7528 Lambda Layers \u6216 HTTP API\uff0c\u8fd9\u6837\u53ef\u4ee5\u8ba9\u4ee5\u540e\u7684\u4fee\u6539\u6216\u8fc1\u79fb\u670d\u52a1\u5bf9\u5ba2\u6237\u7aef\u4e0d\u6784\u6210\u5f71\u54cd\u3002

\n

\u5bf9\u4e8e\u63a5\u53d7\u5f02\u6b65\u901a\u4fe1\u6a21\u578b\uff0c\u6211\u4eec\u6709\u51e0\u79cd\u9009\u62e9\uff0c\u5982\u961f\u5217\uff08 SQS \uff09\u3001\u4e3b\u9898\u901a\u77e5\uff08 SNS \uff09\u3001Event Bridge \u6216\u8005 DynamoDB Streams \u3002

\n

\u8de8\u7ec4\u4ef6\u9694\u79bb

\n

\u7406\u60f3\u60c5\u51b5\u4e0b\uff0c\u5fae\u670d\u52a1\u4e0d\u5e94\u5411\u4f7f\u7528\u8005\u66b4\u9732\u7ec6\u8282\u3002\u50cf Lambda \u8fd9\u6837\u7684 Serverless \u5e73\u53f0\u4f1a\u63d0\u4f9b\u4e00\u4e2a API \u6765\u9694\u79bb\u51fd\u6570\u3002\u4f46\u8fd9\u672c\u8eab\u5c31\u662f\u4e00\u79cd\u5b9e\u73b0\u7ec6\u8282\u7684\u6cc4\u9732\uff0c\u7406\u60f3\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u4f1a\u5728\u51fd\u6570\u4e4b\u4e0a\u6dfb\u52a0\u4e00\u4e2a\u4e0d\u53ef\u77e5\u7684 HTTP API \u5c42\uff0c\u4f7f\u5176\u771f\u6b63\u9694\u79bb\u3002

\n

\u4f7f\u7528\u5e76\u53d1\u9650\u5236\u548c\u8282\u6d41\u7b56\u7565\u7684\u91cd\u8981\u6027

\n

\u4e3a\u4e86\u51cf\u8f7b DDoS \u653b\u51fb\uff0c\u5728\u4f7f\u7528 AWS API Gateway \u7b49\u670d\u52a1\u65f6\uff0c\u4e00\u5b9a\u8981\u4e3a\u6bcf\u4e2a\u9762\u5411\u516c\u4f17\u7684\u7ec8\u7aef\u8bbe\u7f6e\u5355\u72ec\u7684\u5e76\u53d1\u9650\u5236\u548c\u8282\u6d41\u7b56\u7565\u3002\u8fd9\u7c7b\u670d\u52a1\u4e00\u822c\u5728\u4e91\u5e73\u53f0\u4e2d\u4f1a\u4e3a\u6574\u4e2a\u533a\u57df\u8bbe\u7f6e\u5168\u5c40\u5e76\u53d1\u914d\u989d\u3002\u5982\u679c\u4f60\u6ca1\u6709\u57fa\u4e8e\u7aef\u70b9\u7684\u9650\u5236\uff0c\u653b\u51fb\u8005\u53ea\u9700\u8981\u5c06\u4e00\u4e2a\u5355\u4e00\u7684\u7aef\u70b9\u4f5c\u4e3a\u653b\u51fb\u76ee\u6807\uff0c\u5c31\u53ef\u4ee5\u8017\u5c3d\u4f60\u7684\u914d\u989d\uff0c\u5e76\u8ba9\u4f60\u5728\u8be5\u533a\u57df\u7684\u6574\u4e2a\u7cfb\u7edf\u762b\u75ea\u3002

\n
\n

\u7ffb\u8bd1\uff1aOrangeJ\n\u539f\u6587\u94fe\u63a5\uff1ahttps://dzone.com/articles/microservices-and-serverless-winning-strategies-an

\n
\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/737362", "title": "\u8d44\u6e90\u6210\u672c\u53cc\u4f18\u5316\uff01\u770b Serverless \u98a0\u8986\u7f16\u7a0b\u6559\u80b2\u7684\u521b\u65b0\u5b9e\u8df5", "id": "t/737362", "date_published": "2020-12-21T01:57:10+00:00", "content_html": "

\"1.jpg\"\n\u4f5c\u8005 | \u8ba1\u7f18\n\u6765\u6e90 | Serverless \u516c\u4f17\u53f7

\n

\u8bf4\u8d77 Serverless \u8fd9\u4e2a\u8bcd\uff0c\u6211\u60f3\u5927\u5bb6\u5e94\u8be5\u90fd\u4e0d\u964c\u751f\uff0c\u90a3\u4e48 Serverless \u8fd9\u4e2a\u8bcd\u5230\u5e95\u662f\u4ec0\u4e48\u610f\u601d\uff1f Serverless \u5230\u5e95\u80fd\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\uff1f\u53ef\u80fd\u5f88\u591a\u670b\u53cb\u8fd8\u6ca1\u6709\u6df1\u523b\u7684\u4f53\u4f1a\u548c\u4f53\u611f\uff0c\u8fd9\u7bc7\u6587\u7ae0\u6211\u5c31\u548c\u5927\u5bb6\u4e00\u8d77\u804a\u804a Serverless \u3002

\n

\u4ec0\u4e48\u662f Serverless

\n

\u6211\u4eec\u5148\u5c06 Serverless \u8fd9\u4e2a\u8bcd\u62c6\u5f00\u6765\u770b\u3002Server\uff0c\u5927\u5bb6\u90fd\u77e5\u9053\u662f\u670d\u52a1\u5668\u7684\u610f\u601d\uff0c\u8bf4\u660e Serverless \u89e3\u51b3\u7684\u95ee\u9898\u8303\u56f4\u5728\u670d\u52a1\u7aef\u3002Less\uff0c\u5927\u5bb6\u80af\u5b9a\u4e5f\u77e5\u9053\u5b83\u7684\u610f\u601d\u662f\u8f83\u5c11\u7684\u3002\u90a3\u4e48 Serverless \u8fde\u8d77\u6765\uff0c\u518d\u7a0d\u52a0\u4fee\u9970\uff0c\u90a3\u5c31\u662f\u8f83\u5c11\u7684\u5173\u5fc3\u670d\u52a1\u5668\u7684\u610f\u601d\u3002

\n

Serverfull \u65f6\u4ee3

\n

\u6211\u4eec\u90fd\u77e5\u9053\uff0c\u5728\u7814\u53d1\u4fa7\u90fd\u4f1a\u6709\u7814\u53d1\u4eba\u5458\u548c\u8fd0\u7ef4\u4eba\u5458\u4e24\u4e2a\u89d2\u8272\uff0c\u8981\u5f00\u53d1\u4e00\u4e2a\u65b0\u7cfb\u7edf\u7684\u65f6\u5019\uff0c\u7814\u53d1\u4eba\u5458\u6839\u636e\u4ea7\u54c1\u7ecf\u7406\u7684 PRD \u5f00\u59cb\u5199\u4ee3\u7801\u5f00\u53d1\u529f\u80fd\uff0c\u5f53\u529f\u80fd\u5f00\u53d1\u3001\u6d4b\u8bd5\u5b8c\u4e4b\u540e\uff0c\u8981\u53d1\u5e03\u5230\u670d\u52a1\u5668\u3002\u8fd9\u4e2a\u65f6\u5019\u5f00\u59cb\u7531\u8fd0\u7ef4\u4eba\u5458\u89c4\u5212\u670d\u52a1\u5668\u89c4\u683c\u3001\u670d\u52a1\u5668\u6570\u91cf\u3001\u6bcf\u4e2a\u670d\u52a1\u90e8\u7f72\u7684\u8282\u70b9\u6570\u91cf\u3001\u670d\u52a1\u5668\u7684\u6269\u7f29\u5bb9\u7b56\u7565\u548c\u673a\u5236\u3001\u53d1\u5e03\u670d\u52a1\u8fc7\u7a0b\u3001\u670d\u52a1\u4f18\u96c5\u4e0a\u4e0b\u7ebf\u673a\u5236\u7b49\u7b49\u3002\u8fd9\u79cd\u6a21\u5f0f\u662f\u7814\u53d1\u548c\u8fd0\u7ef4\u9694\u79bb\uff0c\u670d\u52a1\u7aef\u8fd0\u7ef4\u90fd\u7531\u4e13\u95e8\u7684\u8fd0\u7ef4\u4eba\u5458\u5904\u7406\uff0c\u800c\u4e14\u5f88\u591a\u65f6\u5019\u662f\u9760\u7eaf\u4eba\u529b\u5904\u7406\uff0c\u4e5f\u5c31\u662f Serverfull \u65f6\u4ee3\u3002

\n

DevOps \u65f6\u4ee3

\n

\u4e92\u8054\u7f51\u516c\u53f8\u91cc\u6700\u8f9b\u82e6\u7684\u662f\u8c01\uff1f\u6211\u76f8\u4fe1\u5927\u591a\u6570\u90fd\u662f\u8fd0\u7ef4\u540c\u5b66\u3002\u767d\u5929\u505a\u5404\u79cd\u7f51\u7edc\u89c4\u5212\u3001\u73af\u5883\u89c4\u5212\u3001\u6570\u636e\u5e93\u89c4\u5212\u7b49\u7b49\uff0c\u665a\u4e0a\u71ac\u591c\u53d1\u5e03\u65b0\u7248\u672c\uff0c\u505a\u4e0a\u7ebf\u4fdd\u969c\uff0c\u800c\u4e14\u5f88\u591a\u4e8b\u60c5\u662f\u91cd\u590d\u6027\u7684\u5de5\u4f5c\u3002\u7136\u540e\u6162\u6162\u5c31\u6709\u4e86\u8d4b\u80fd\u7814\u53d1\u8fd9\u6837\u7684\u58f0\u97f3\uff0c\u8fd0\u7ef4\u540c\u5b66\u5e2e\u52a9\u7814\u53d1\u540c\u5b66\u505a\u4e00\u5957\u8fd0\u7ef4\u63a7\u5236\u53f0\uff0c\u53ef\u4ee5\u8ba9\u7814\u53d1\u540c\u5b66\u5728\u8fd0\u7ef4\u63a7\u5236\u53f0\u4e0a\u81ea\u884c\u53d1\u5e03\u670d\u52a1\u3001\u67e5\u770b\u65e5\u5fd7\u3001\u67e5\u8be2\u6570\u636e\u3002\u8fd9\u6837\u4e00\u6765\uff0c\u8fd0\u7ef4\u540c\u5b66\u4e3b\u8981\u7ef4\u62a4\u8fd9\u5957\u8fd0\u7ef4\u63a7\u5236\u53f0\u7cfb\u7edf\uff0c\u5e76\u4e14\u4e0d\u65ad\u5b8c\u5584\u529f\u80fd\uff0c\u8f7b\u677e\u4e86\u4e0d\u5c11\u3002\u8fd9\u5c31\u662f\u7814\u53d1\u517c\u8fd0\u7ef4\u7684 DevOps \u65f6\u4ee3\u3002

\n

Serverless \u65f6\u4ee3

\n

\u6e10\u6e10\u7684\uff0c\u7814\u53d1\u540c\u5b66\u548c\u8fd0\u7ef4\u540c\u5b66\u7684\u5173\u6ce8\u70b9\u90fd\u5728\u8fd0\u7ef4\u63a7\u5236\u53f0\u4e86\uff0c\u8fd0\u7ef4\u63a7\u5236\u53f0\u7684\u529f\u80fd\u8d8a\u6765\u8d8a\u5f3a\u5927\uff0c\u6bd4\u5982\u6839\u636e\u8fd0\u7ef4\u4fa7\u7684\u9700\u6c42\u589e\u52a0\u4e86\u81ea\u52a8\u5f39\u6027\u6269\u7f29\u3001\u6027\u80fd\u76d1\u63a7\u7684\u529f\u80fd\uff0c\u6839\u636e\u7814\u53d1\u4fa7\u7684\u9700\u6c42\u589e\u52a0\u4e86\u81ea\u52a8\u5316\u53d1\u5e03\u7684\u6d41\u6c34\u7ebf\u529f\u80fd\u3002\u56e0\u4e3a\u6709\u4e86\u8fd9\u5957\u7cfb\u7edf\uff0c\u4ee3\u7801\u8d28\u91cf\u68c0\u6d4b\u3001\u5355\u5143\u6d4b\u8bd5\u3001\u6253\u5305\u7f16\u8bd1\u3001\u90e8\u7f72\u3001\u96c6\u6210\u6d4b\u8bd5\u3001\u7070\u5ea6\u53d1\u5e03\u3001\u5f39\u6027\u6269\u7f29\u3001\u6027\u80fd\u76d1\u63a7\u3001\u5e94\u7528\u9632\u62a4\u8fd9\u4e00\u7cfb\u5217\u670d\u52a1\u7aef\u7684\u5de5\u4f5c\u57fa\u672c\u4e0a\u4e0d\u9700\u8981\u4eba\u5de5\u53c2\u4e0e\u5904\u7406\u4e86\u3002\u8fd9\u5c31\u662f NoOps\uff0cServerless \u65f6\u4ee3\u3002

\n

Serverless \u5728\u7f16\u7a0b\u6559\u80b2\u4e2d\u7684\u5e94\u7528

\n

2020 \u5e74\u6ce8\u5b9a\u662f\u4e0d\u5e73\u51e1\u7684\u4e00\u5e74\uff0c\u75ab\u60c5\u671f\u95f4\uff0c\u591a\u5c11\u5bb6\u4f01\u4e1a\u5982\u5272\u97ed\u83dc\u822c\u5012\u4e0b\uff0c\u53c8\u6709\u591a\u5c11\u5bb6\u4f01\u4e1a\u5982\u96e8\u540e\u6625\u7b0b\u822c\u8301\u58ee\u6210\u957f\uff0c\u6bd4\u5982\u5728\u7ebf\u6559\u80b2\u884c\u4e1a\u3002

\n

\u6ca1\u9519\uff0c\u5728\u7ebf\u6559\u80b2\u884c\u4e1a\u662f\u8fd9\u6b21\u75ab\u60c5\u7684\u6700\u5927\u53d7\u76ca\u8005\uff0c\u5728\u5728\u7ebf\u6559\u80b2\u5728\u8fd9\u4e2a\u884c\u4e1a\u91cc\uff0c\u6709\u4e00\u4e2a\u7ec6\u5206\u5e02\u573a\u662f\u5728\u7ebf\u7f16\u7a0b\u6559\u80b2\uff0c\u5c24\u5176\u662f\u5c11\u513f\u7f16\u7a0b\u6559\u80b2\u548c\u9762\u5411\u975e\u4e13\u4e1a\u4eba\u58eb\u7684\u7f16\u7a0b\u6559\u80b2\uff0c\u6bd4\u5982\u7f16\u7a0b\u732b\u3001\u6591\u9a6c AI \u3001\u5c0f\u8c61\u5b66\u9662\u7b49\u3002\u8fd9\u4e9b\u4f01\u4e1a\u7684\u5728\u7ebf\u7f16\u7a0b\u7cfb\u7edf\u90fd\u6709\u4e00\u4e9b\u5171\u540c\u7684\u7279\u70b9\u548c\u8bc9\u6c42\uff1a

\n
\n

\u5c4f\u5e55\u4e00\u4fa7\u5199\u4ee3\u7801\uff0c\u6267\u884c\u4ee3\u7801\uff0c\u53e6\u4e00\u4fa7\u663e\u793a\u8fd0\u884c\u7ed3\u679c\u3002\n\u6839\u636e\u9898\u76ee\u7f16\u5199\u7684\u4ee3\u7801\u90fd\u662f\u4ee3\u7801\u5757\uff0c\u6bcf\u9053\u9898\u7684\u4ee3\u7801\u91cf\u4e0d\u4f1a\u5f88\u5927\u3002\n\u8fd0\u884c\u4ee3\u7801\u7684\u901f\u5ea6\u8981\u5feb\u3002\n\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u3002\n\u80fd\u652f\u6491\u4e0d\u53ef\u9884\u8ba1\u7684\u6d41\u91cf\u6d2a\u5cf0\u51b2\u51fb\u3002

\n
\n

\u4f8b\u5982\u5c0f\u8c61\u5b66\u9662\u7684\u7f16\u7a0b\u8bfe\u754c\u9762\uff1a

\n

\"2.png\"

\n

\u7ed3\u5408\u4e0a\u8ff0\u8fd9\u4e9b\u7279\u70b9\u548c\u8bc9\u6c42\uff0c\u4e0d\u96be\u770b\u51fa\uff0c\u6784\u5efa\u8fd9\u6837\u4e00\u5957\u5728\u7ebf\u7f16\u7a0b\u7cfb\u7edf\u7684\u6838\u5fc3\u5728\u4e8e\u6709\u4e00\u4e2a\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u3001\u5065\u58ee\u9ad8\u53ef\u7528\u7684\u4ee3\u7801\u8fd0\u884c\u73af\u5883\u3002

\n

\u90a3\u4e48\u6211\u4eec\u5148\u6765\u770b\u770b\u4f20\u7edf\u7684\u5b9e\u73b0\u67b6\u6784\uff1a

\n

\"3.png\"

\n

\u4ece High Level \u7684\u67b6\u6784\u6765\u770b\uff0c\u524d\u7aef\u53ea\u9700\u8981\u5c06\u4ee3\u7801\u7247\u6bb5\u548c\u7f16\u7a0b\u8bed\u8a00\u7684\u6807\u8bc6\u4f20\u7ed9 Server \u7aef\u5373\u53ef\uff0c\u7136\u540e\u7b49\u5f85\u54cd\u5e94\u5c55\u793a\u7ed3\u679c\u3002\u6240\u4ee5\u6574\u4e2a Server \u7aef\u8981\u8d1f\u8d23\u5bf9\u4e0d\u540c\u8bed\u8a00\u7684\u4ee3\u7801\u8fdb\u884c\u5206\u7c7b\u3001\u9884\u5904\u7406\u7136\u540e\u4f20\u7ed9\u4e0d\u540c\u7f16\u7a0b\u8bed\u8a00\u7684 Runtime \u3002\u8fd9\u79cd\u67b6\u6784\u6709\u4ee5\u4e0b\u51e0\u4e2a\u6bd4\u8f83\u6838\u5fc3\u7684\u95ee\u9898\u3002

\n

\u5de5\u4f5c\u91cf\u5927\uff0c\u7075\u6d3b\u6027\u5dee

\n

\u9996\u5148\u662f\u7814\u53d1\u548c\u8fd0\u7ef4\u5de5\u4f5c\u91cf\u7684\u95ee\u9898\uff0c\u5f53\u5e02\u573a\u6709\u65b0\u7684\u9700\u6c42\uff0c\u6216\u8005\u6d1e\u5bdf\u5230\u65b0\u4e1a\u52a1\u6a21\u5f0f\u65f6\u9700\u8981\u589e\u52a0\u7f16\u7a0b\u8bed\u8a00\uff0c\u6b64\u65f6\u7814\u53d1\u4fa7\u9700\u8981\u589e\u52a0\u7f16\u7a0b\u4ee3\u7801\u5206\u7c7b\u548c\u9884\u5904\u7406\u7684\u903b\u8f91\uff0c\u53e6\u5916\u9700\u8981\u6784\u5efa\u5bf9\u5e94\u7f16\u7a0b\u8bed\u8a00\u7684 Runtime \u3002\u5728\u8fd0\u7ef4\u4fa7\u9700\u8981\u89c4\u5212\u652f\u6491\u65b0\u8bed\u8a00\u7684\u670d\u52a1\u5668\u89c4\u683c\u4ee5\u53ca\u6570\u91cf\uff0c\u8fd8\u6709\u6574\u4f53\u7684 CICD \u6d41\u7a0b\u7b49\u3002\u6240\u4ee5\u652f\u6301\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u8fd9\u4e2a\u9700\u6c42\u8981\u843d\u5730\uff0c\u9700\u8981\u7814\u53d1\u3001\u8fd0\u7ef4\u82b1\u8d39\u4e0d\u5c11\u7684\u65f6\u95f4\u6765\u5b9e\u73b0\uff0c\u518d\u52a0\u4e0a\u9ed1 /\u767d\u76d2\u6d4b\u8bd5\u548c CICD \u6d41\u7a0b\u6d4b\u8bd5\u7684\u65f6\u95f4\uff0c\u5bf9\u5e02\u573a\u9700\u6c42\u7684\u652f\u6491\u4e0d\u80fd\u5feb\u901f\u7684\u54cd\u5e94\uff0c\u7075\u6d3b\u6027\u76f8\u5bf9\u8f83\u5dee\u3002

\n

\u9ad8\u53ef\u7528\u81ea\u5df1\u515c\u5e95

\n

\u5176\u6b21\u6574\u4e2a\u5728\u7ebf\u7f16\u7a0b\u7cfb\u7edf\u7684\u7a33\u5b9a\u6027\u662f\u91cd\u4e2d\u4e4b\u91cd\u3002\u6240\u4ee5\u6240\u6709 Server \u7aef\u670d\u52a1\u7684\u9ad8\u53ef\u7528\u67b6\u6784\u90fd\u9700\u8981\u81ea\u5df1\u642d\u5efa\uff0c\u7528\u4ee5\u4fdd\u8bc1\u6d41\u91cf\u9ad8\u5cf0\u573a\u666f\u548c\u7a33\u6001\u573a\u666f\u4e0b\u7684\u7cfb\u7edf\u7a33\u5b9a\u3002\u9ad8\u53ef\u7528\u4e00\u65b9\u9762\u662f\u4ee3\u7801\u903b\u8f91\u7f16\u5199\u7684\u662f\u5426\u4f18\u96c5\u548c\u5b8c\u5584\uff0c\u53e6\u4e00\u65b9\u9762\u662f\u90e8\u7f72\u670d\u52a1\u7684\u96c6\u7fa4\uff0c\u65e0\u8bba\u662f ECS \u96c6\u7fa4\u8fd8\u662f K8s \u96c6\u7fa4\uff0c\u90fd\u9700\u8981\u7814\u53d1\u548c\u8fd0\u7ef4\u540c\u5b66\u4e00\u8d77\u89c4\u5212\uff0c\u90a3\u4e48\u5bf9\u4e8e\u5bf9\u7f16\u7a0b\u8bed\u8a00\u8fdb\u884c\u5206\u7c7b\u548c\u9884\u5904\u7406\u7684\u670d\u52a1\u6765\u8bb2\uff0c\u5c1a\u80fd\u7ed9\u5b9a\u4e00\u4e2a\u8282\u70b9\u6570\uff0c\u4f46\u662f\u5bf9\u4e8e\u4e0d\u540c\u8bed\u8a00\u7684 Runtime \u670d\u52a1\u6765\u8bb2\uff0c\u5e02\u573a\u9700\u6c42\u968f\u65f6\u4f1a\u53d8\uff0c\u6240\u4ee5\u4e0d\u597d\u5177\u4f53\u8861\u91cf\u6bcf\u4e2a\u670d\u52a1\u7684\u8282\u70b9\u6570\u3002\u53e6\u5916\u5f88\u91cd\u8981\u7684\u4e00\u70b9\u662f\u6240\u4ee5\u670d\u52a1\u7684\u6269\u5bb9\uff0c\u7f29\u5bb9\u673a\u5236\u90fd\u9700\u8981\u8fd0\u7ef4\u540c\u5b66\u6765\u5b9e\u65f6\u624b\u52a8\u64cd\u4f5c\uff0c\u5373\u4fbf\u662f\u901a\u8fc7\u811a\u672c\u5b9e\u73b0\u81ea\u52a8\u5316\uff0c\u90a3\u4e48 ECS \u5f39\u8d77\u7684\u901f\u5ea6\u4e5f\u662f\u8fdc\u8fbe\u4e0d\u5230\u4e1a\u52a1\u9884\u671f\u7684\u3002

\n

\u6210\u672c\u63a7\u5236\u7c92\u5ea6\u7c97

\n

\u518d\u6b21\u662f\u6574\u4e2a IaaS \u8d44\u6e90\u7684\u6210\u672c\u63a7\u5236\uff0c\u6211\u4eec\u90fd\u77e5\u9053\u8fd9\u79cd\u5728\u7ebf\u6559\u80b2\u662f\u6709\u660e\u663e\u7684\u6d41\u91cf\u6f6e\u6c50\u7684\uff0c\u6bd4\u5982\u4e0a\u5348 10 \u70b9\u5230 12 \u70b9\uff0c\u4e0b\u5348 3 \u70b9\u5230 5 \u70b9\uff0c\u665a\u4e0a 8 \u70b9\u5230 10 \u70b9\u8fd9\u51e0\u4e2a\u65f6\u6bb5\u662f\u6d41\u91cf\u6bd4\u8f83\u5927\u7684\u65f6\u5019\uff0c\u5176\u4ed6\u65f6\u95f4\u7aef\u6d41\u91cf\u6bd4\u8f83\u5c0f\uff0c\u800c\u4e14\u591c\u665a\u66f4\u662f\u6ca1\u4ec0\u4e48\u6d41\u91cf\u3002\u6240\u4ee5\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4f20\u7edf\u7684\u90e8\u7f72\u67b6\u6784\u65e0\u6cd5\u505a\u5230 IaaS \u8d44\u6e90\u548c\u6d41\u91cf\u7684\u8d34\u5408\u3002\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u52a0\u5165\u4e3a\u4e86\u5e94\u5bf9\u6d41\u91cf\u9ad8\u5cf0\u65f6\u671f\uff0c\u9700\u8981 20 \u53f0 ECS \u642d\u5efa\u96c6\u7fa4\u6765\u627f\u8f7d\u6d41\u91cf\u51b2\u51fb\uff0c\u6b64\u65f6\u6bcf\u53f0 ECS \u7684\u8d44\u6e90\u4f7f\u7528\u7387\u53ef\u80fd\u5728 70% \u4ee5\u4e0a\uff0c\u5229\u7528\u7387\u8f83\u9ad8\uff0c\u4f46\u662f\u5728\u6d41\u91cf\u5c0f\u7684\u65f6\u5019\u548c\u591c\u665a\uff0c\u6bcf\u53f0 ECS \u7684\u8d44\u6e90\u4f7f\u7528\u7387\u53ef\u80fd\u5c31\u662f\u767e\u5206\u4e4b\u5341\u51e0\u751a\u81f3\u66f4\u4f4e\uff0c\u8fd9\u5c31\u662f\u4e00\u79cd\u8d44\u6e90\u6d6a\u8d39\u3002

\n

Serverless \u67b6\u6784

\n

\u90a3\u4e48\u6211\u4eec\u6765\u770b\u770b\u5982\u4f55\u4f7f\u7528 Serverless \u67b6\u6784\u6765\u5b9e\u73b0\u540c\u6837\u7684\u529f\u80fd\uff0c\u5e76\u4e14\u89e3\u51b3\u4e0a\u8ff0\u51e0\u4e2a\u95ee\u9898\u3002\u5728\u9009\u62e9 Serverless \u4ea7\u54c1\u65f6\uff0c\u5728\u56fd\u5185\u81ea\u7136\u800c\u7136\u4f18\u5148\u60f3\u5230\u7684\u5c31\u662f\u963f\u91cc\u4e91\u7684\u4ea7\u54c1\u3002\u963f\u91cc\u4e91\u6709\u4e24\u6b3e Serverless \u67b6\u6784\u7684\u4ea7\u54c1 Serverless \u5e94\u7528\u5f15\u64ce\u548c\u51fd\u6570\u8ba1\u7b97\uff0c\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u51fd\u6570\u8ba1\u7b97\u6765\u5b9e\u73b0\u7f16\u7a0b\u6559\u80b2\u7684\u573a\u666f\u3002

\n

\u51fd\u6570\u8ba1\u7b97\uff08 Function Compute \uff09\u662f\u4e8b\u4ef6\u9a71\u52a8\u7684\u5168\u6258\u7ba1\u8ba1\u7b97\u670d\u52a1\uff0c\u7b80\u79f0 FC \u3002\u4f7f\u7528\u51fd\u6570\u8ba1\u7b97\uff0c\u6211\u4eec\u65e0\u9700\u91c7\u8d2d\u4e0e\u7ba1\u7406\u670d\u52a1\u5668\u7b49\u57fa\u7840\u8bbe\u65bd\uff0c\u53ea\u9700\u7f16\u5199\u5e76\u4e0a\u4f20\u4ee3\u7801\u3002\u51fd\u6570\u8ba1\u7b97\u4e3a\u60a8\u51c6\u5907\u597d\u8ba1\u7b97\u8d44\u6e90\uff0c\u5f39\u6027\u5730\u3001\u53ef\u9760\u5730\u8fd0\u884c\u4efb\u52a1\uff0c\u5e76\u63d0\u4f9b\u65e5\u5fd7\u67e5\u8be2\u3001\u6027\u80fd\u76d1\u63a7\u548c\u62a5\u8b66\u7b49\u529f\u80fd\u3002

\n

\u8fd9\u91cc\u4e0d\u5bf9 FC \u7684\u542b\u4e49\u505a\u8fc7\u591a\u8d58\u8ff0\uff0c\u53ea\u4e3e\u4e00\u4e2a\u4f8b\u5b50\u3002FC \u4e2d\u6709\u4e24\u4e2a\u6982\u5ff5\uff0c\u4e00\u4e2a\u662f\u670d\u52a1\uff0c\u4e00\u4e2a\u662f\u51fd\u6570\u3002\u4e00\u4e2a\u670d\u52a1\u5305\u542b\u591a\u4e2a\u51fd\u6570\uff1a

\n

\"4.png\"

\n

\u8fd9\u91cc\u62ff Java \u5fae\u670d\u52a1\u67b6\u6784\u6765\u5bf9\u5e94\uff0c\u53ef\u4ee5\u7406\u89e3\u4e3a\uff0cFC \u4e2d\u7684\u670d\u52a1\u662f Java \u4e2d\u7684\u4e00\u4e2a\u7c7b\uff0cFC \u4e2d\u7684\u51fd\u6570\u662f Java \u7c7b\u4e2d\u7684\u4e00\u4e2a\u65b9\u6cd5\uff1a

\n

\"5.png\"

\n

\u4f46\u662f Java \u7c7b\u4e2d\u7684\u65b9\u6cd5\u56fa\u7136\u53ea\u80fd\u662f Java \u4ee3\u7801\uff0c\u800c FC \u4e2d\u7684\u51fd\u6570\u53ef\u4ee5\u8bbe\u7f6e\u4e0d\u540c\u8bed\u8a00\u7684 Runtime \u6765\u8fd0\u884c\u4e0d\u540c\u7684\u7f16\u7a0b\u8bed\u8a00\uff1a

\n

\"6.png\"

\n

\u8fd9\u4e2a\u7ed3\u6784\u7406\u89e3\u6e05\u695a\u4e4b\u540e\uff0c\u6211\u4eec\u6765\u770b\u770b\u5982\u4f55\u8c03\u7528 FC \u7684\u51fd\u6570\uff0c\u8fd9\u91cc\u4f1a\u5f15\u51fa\u4e00\u4e2a\u89e6\u53d1\u5668\u7684\u6982\u5ff5\u3002\u6211\u4eec\u6700\u5e38\u4f7f\u7528\u7684 HTTP \u8bf7\u6c42\u534f\u8bae\u5176\u5b9e\u5c31\u662f\u4e00\u79cd\u7c7b\u578b\u7684\u89e6\u53d1\u5668\uff0c\u5728 FC \u91cc\u79f0\u4e3a HTTP \u89e6\u53d1\u5668\uff0c\u9664\u4e86 HTTP \u89e6\u53d1\u5668\u4ee5\u5916\uff0c\u8fd8\u63d0\u4f9b\u4e86 OSS \uff08\u5bf9\u8c61\u5b58\u50a8\uff09\u89e6\u53d1\u5668\u3001SLS \uff08\u65e5\u5fd7\u670d\u52a1\uff09\u89e6\u53d1\u5668\u3001\u5b9a\u65f6\u89e6\u53d1\u5668\u3001MNS \u89e6\u53d1\u5668\u3001CDN \u89e6\u53d1\u5668\u7b49\u3002

\n

\"7.png\"

\n

\u4ece\u4e0a\u56fe\u53ef\u4ee5\u5927\u6982\u7406\u89e3\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u591a\u79cd\u9014\u5f84\u8c03\u7528 FC \u4e2d\u7684\u51fd\u6570\u3002\u4e3e\u4f8b\u4e24\u4e2a\u573a\u666f\uff0c\u6bd4\u5982\u6bcf\u5f53\u6211\u5728\u6307\u5b9a\u7684 OSS Bucket \u7684\u67d0\u4e2a\u76ee\u5f55\u4e0b\u4e0a\u4f20\u4e00\u5f20\u56fe\u7247\u540e\uff0c\u5c31\u53ef\u4ee5\u89e6\u53d1 FC \u4e2d\u7684\u51fd\u6570\uff0c\u51fd\u6570\u7684\u903b\u8f91\u662f\u5c06\u521a\u521a\u4e0a\u4f20\u7684\u56fe\u7247\u4e0b\u8f7d\u4e0b\u6765\uff0c\u7136\u540e\u5bf9\u56fe\u7247\u505a\u5904\u7406\uff0c\u7136\u540e\u518d\u4e0a\u4f20\u56de OSS \u3002\u518d\u6bd4\u5982\u5411 MNS \u7684\u67d0\u4e2a\u961f\u5217\u53d1\u9001\u4e00\u6761\u6d88\u606f\uff0c\u7136\u540e\u89e6\u53d1 FC \u4e2d\u7684\u51fd\u6570\u6765\u5904\u7406\u9488\u5bf9\u8fd9\u6761\u6d88\u606f\u7684\u903b\u8f91\u3002

\n

\u6700\u540e\u6211\u4eec\u518d\u6765\u770b\u770b FC \u7684\u9ad8\u53ef\u7528\u3002\u6bcf\u4e00\u4e2a\u51fd\u6570\u5728\u8fd0\u884c\u4ee3\u7801\u65f6\u5e95\u5c42\u80af\u5b9a\u8fd8\u662f IaaS \u8d44\u6e90\uff0c\u4f46\u6211\u4eec\u53ea\u9700\u8981\u7ed9\u6bcf\u4e2a\u51fd\u6570\u8bbe\u7f6e\u8fd0\u884c\u4ee3\u7801\u65f6\u9700\u8981\u7684\u5185\u5b58\u6570\u5373\u53ef\uff0c\u6700\u5c0f 128M\uff0c\u6700\u5927 3G\uff0c\u5bf9\u4f7f\u7528\u8005\u800c\u8a00\uff0c\u4e0d\u9700\u8981\u8003\u8651\u591a\u5c11\u6838\u6570\uff0c\u4e5f\u4e0d\u9700\u8981\u77e5\u9053\u4ee3\u7801\u8fd0\u884c\u5728\u4ec0\u4e48\u6837\u7684\u670d\u52a1\u5668\u4e0a\uff0c\u4e0d\u9700\u8981\u5173\u5fc3\u542f\u52a8\u4e86\u591a\u5c11\u4e2a\u51fd\u6570\u5b9e\u4f8b\uff0c\u4e5f\u4e0d\u9700\u8981\u5173\u5fc3\u5f39\u6027\u6269\u7f29\u7684\u95ee\u9898\u7b49\uff0c\u8fd9\u4e9b\u90fd\u7531 FC \u6765\u5904\u7406\u3002

\n

\"8.png\"

\n

\u4ece\u4e0a\u56fe\u53ef\u4ee5\u770b\u5230\uff0c\u9ad8\u53ef\u7528\u6709\u4e24\u79cd\u7b56\u7565\uff1a

\n
\n

\u7ed9\u51fd\u6570\u8bbe\u7f6e\u5e76\u53d1\u5b9e\u4f8b\u6570\uff0c\u5047\u5982\u8bbe\u7f6e\u4e3a 3\uff0c\u90a3\u4e48\u6709\u4e09\u4e2a\u8bf7\u6c42\u8fdb\u6765\u65f6\uff0c\u8be5\u51fd\u6570\u53ea\u542f\u4e00\u4e2a\u5b9e\u4f8b\uff0c\u4f46\u662f\u4f1a\u542f\u4e09\u4e2a\u7ebf\u7a0b\u6765\u8fd0\u884c\u903b\u8f91\u3002

\n
\n
\n

\u7ebf\u7a0b\u6570\u8fbe\u5230\u4e0a\u9650\u540e\uff0c\u4f1a\u518d\u62c9\u8d77\u4e00\u4e2a\u51fd\u6570\u5b9e\u4f8b\u3002

\n
\n

\u5927\u5bb6\u770b\u5230\u8fd9\u91cc\uff0c\u53ef\u80fd\u5df2\u7ecf\u5927\u6982\u5bf9\u57fa\u4e8e FC \u5b9e\u73b0\u5728\u7ebf\u7f16\u7a0b\u6559\u80b2\u7cfb\u7edf\u7684\u67b6\u6784\u6709\u4e86\u4e00\u4e2a\u5927\u6982\u7684\u8f6e\u5ed3\u3002

\n

\"9.png\"

\n

\u4e0a\u56fe\u662f\u57fa\u4e8e FC \u5b9e\u73b0\u7684\u5728\u7ebf\u7f16\u7a0b\u6559\u80b2\u7cfb\u7edf\u7684\u67b6\u6784\u56fe\uff0c\u5728\u8fd9\u4e2a\u67b6\u6784\u4e0b\u6765\u770b\u770b\u4e0a\u8ff0\u90a3\u4e09\u4e2a\u6838\u5fc3\u95ee\u9898\u600e\u4e48\u89e3\uff1a

\n\n

\"10.png\"

\n

Python \u7f16\u7a0b\u8bed\u8a00\u793a\u4f8b

\n

\u4e0b\u9762\u4ee5\u8fd0\u884c Python \u4ee3\u7801\u4e3a\u4f8b\u6765\u770b\u770b\u5982\u4f55\u7528 FC \u5b9e\u73b0 Python \u5728\u7ebf\u7f16\u7a0b Demo \u3002

\n

\u521b\u5efa\u670d\u52a1\u548c\u51fd\u6570

\n

\u6253\u5f00\u51fd\u6570\u8ba1\u7b97\uff08 FC \uff09\u63a7\u5236\u53f0\uff0c\u9009\u62e9\u5bf9\u5e94\u7684 Region\uff0c\u9009\u62e9\u5de6\u4fa7\u670d\u52a1 /\u51fd\u6570\uff0c\u7136\u540e\u65b0\u5efa\u670d\u52a1\uff1ahttps://fc.console.aliyun.com/fc/overview/cn-hangzhou

\n

\"11.png\"

\n

\u8f93\u51fa\u670d\u52a1\u540d\u79f0\uff0c\u521b\u5efa\u670d\u52a1\u3002

\n

\"12.png\"

\n

\u8fdb\u5165\u65b0\u521b\u5efa\u7684\u670d\u52a1\uff0c\u7136\u540e\u521b\u5efa\u51fd\u6570\uff0c\u9009\u62e9 HTTP \u51fd\u6570\uff0c\u5373\u53ef\u914d\u7f6e HTTP \u89e6\u53d1\u5668\u7684\u51fd\u6570\uff1a

\n

\"13.png\"

\n

\u8bbe\u7f6e\u51fd\u6570\u7684\u5404\u4e2a\u53c2\u6570\uff1a

\n

\"14.png\"

\n

\u51e0\u4e2a\u9700\u8981\u7684\u6ce8\u610f\u7684\u53c2\u6570\u8fd9\u91cc\u505a\u4ee5\u8bf4\u660e\uff1a

\n\n

\u4ee3\u7801\u89e3\u6790

\n

\u51fd\u6570\u521b\u5efa\u597d\uff0c\u8fdb\u5165\u51fd\u6570\uff0c\u53ef\u4ee5\u770b\u5230\u6982\u8ff0\u3001\u4ee3\u7801\u6267\u884c\u3001\u89e6\u53d1\u5668\u3001\u65e5\u5fd7\u67e5\u8be2\u7b49\u9875\u7b7e\uff0c\u6211\u4eec\u5148\u770b\u89e6\u53d1\u5668\uff0c\u4f1a\u770b\u5230\u8fd9\u4e2a\u51fd\u6570\u81ea\u52a8\u521b\u5efa\u4e86\u4e00\u4e2a HTTP \u89e6\u53d1\u5668\uff0c\u6709\u8c03\u7528\u8be5\u51fd\u6570\u5bf9\u5e94\u7684 HTTP \u8def\u5f84\uff1a

\n

\"15.png\"

\n

\u7136\u540e\u6211\u4eec\u9009\u62e9\u4ee3\u7801\u6267\u884c\uff0c\u76f4\u63a5\u5728\u7ebf\u5199\u5165\u6211\u4eec\u7684\u4ee3\u7801\uff1a

\n

\"16.png\"

\n

\u5177\u4f53\u4ee3\u7801\u5982\u4e0b\uff1a

\n
-- coding: utf-8 --\nimport logging\nimport urllib.parse\nimport time\nimport subprocess\ndef handler(environ, start_response):\ncOntext= environ['fc.context']\nrequest_uri = environ['fc.request_uri']\nfor k, v in environ.items():\nif k.startswith('HTTP_'):\npass\ntry:\nrequest_body_size = int(environ.get('CONTENT_LENGTH', 0))\nexcept (ValueError):\nrequest_body_size = 0\n# \u83b7\u53d6\u7528\u6237\u4f20\u5165\u7684 code\nrequest_body = environ['wsgi.input'].read(request_body_size)\ncodeStr = urllib.parse.unquote(request_body.decode(\"GBK\"))\n# \u56e0\u4e3a body \u91cc\u7684\u5bf9\u8c61\u91cc\u6709 code \u548c input \u4e24\u4e2a\u5c5e\u6027\uff0c\u8fd9\u91cc\u5206\u522b\u83b7\u53d6\u7528\u6237 code \u548c\u7528\u6237\u8f93\u5165\ncodeArr = codeStr.split('&')\ncode = codeArr[0][5:]\ninputStr = codeArr[1][6:]\n# \u5c06\u7528\u6237 code \u4fdd\u5b58\u4e3a py \u6587\u4ef6\uff0c\u653e /tmp \u76ee\u5f55\u4e0b\uff0c\u4ee5\u65f6\u95f4\u6233\u4e3a\u6587\u4ef6\u540d\nfileName = '/tmp/' + str(int(time.time())) + '.py'\nf = open(fileName, \"w\")\n# \u8fd9\u91cc\u9884\u7f6e\u5f15\u5165\u4e86 time \u5e93\nf.write('import time \\r\\n')\nf = open(fileName, \"a\")\nf.write(code)\nf.close()\n# \u521b\u5efa\u5b50\u8fdb\u7a0b\uff0c\u6267\u884c\u521a\u624d\u4fdd\u5b58\u7684\u7528\u6237 code py \u6587\u4ef6\np = subprocess.Popen(\"python \" + fileName, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, encoding='utf-8')\n# \u901a\u8fc7\u6807\u51c6\u8f93\u5165\u4f20\u5165\u7528\u6237\u7684 input \u8f93\u5165\nif inputStr != '' :\np.stdin.write(inputStr + \"\\n\")\np.stdin.flush()\n# \u901a\u8fc7\u6807\u51c6\u8f93\u51fa\u83b7\u53d6\u4ee3\u7801\u6267\u884c\u7ed3\u679c\nr = p.stdout.read()\nstatus = '200 OK'\nresponse_headers = [('Content-type', 'text/plain')]\nstart_response(status, response_headers)\nreturn [r.encode('UTF-8')]\n
\n

\u6574\u4e2a\u4ee3\u7801\u601d\u8def\u5982\u4e0b\uff1a

\n\n

\u524d\u7aef\u4ee3\u7801

\n

\u524d\u7aef\u6211\u4f7f\u7528 VUE \u5199\u4e86\u7b80\u5355\u7684\u9875\u9762\uff0c\u8fd9\u91cc\u89e3\u6790\u4e24\u4e2a\u7b80\u5355\u7684\u65b9\u6cd5\uff1a

\n

\"17.png\"

\n

\u9875\u9762\u52a0\u8f7d\u65f6\u521d\u59cb\u5316 HTTP \u8bf7\u6c42\u5bf9\u8c61\uff0c\u8c03\u7528\u7684 HTTP \u8def\u5f84\u5c31\u662f\u65b9\u624d\u51fd\u6570\u7684 HTTP \u89e6\u53d1\u5668\u7684\u8def\u5f84\u3002

\n

\"18.png\"

\n

\u8fd9\u4e2a\u65b9\u6cd5\u5c31\u662f\u8c03\u7528 FC \u4e2d\u7684 PythonRuntime \u51fd\u6570\uff0c\u5c06\u524d\u7aef\u9875\u9762\u7684\u4ee3\u7801\u7247\u6bb5\u4f20\u7ed9\u8be5\u51fd\u6570\u3002\u8fd9\u91cc\u5904\u7406 input \u4ea4\u4e92\u7684\u601d\u8def\u662f\uff0c\u626b\u63cf\u6574\u4e2a\u4ee3\u7801\u7247\u6bb5\uff0c\u4ee5\u5305\u542b input \u4ee3\u7801\u4e3a\u6807\u8bc6\u5c06\u6574\u4e2a\u4ee3\u7801\u6bb5\u5206\u6210\u591a\u6bb5\u3002\u6ca1\u6709\u5305\u542b input \u4ee3\u7801\u7684\u76f4\u63a5\u9001\u7ed9 FC \u51fd\u6570\u6267\u884c\uff0c\u5305\u542b input \u4ee3\u7801\u7684\uff0c\u8bf7\u6c42\u7528\u6237\u7684\u8f93\u5165\uff0c\u7136\u540e\u4ee3\u7801\u7247\u6bb5\u5e26\u7740\u7528\u6237\u8f93\u5165\u7684\u4fe1\u606f\u4e00\u8d77\u9001\u7ed9 FC \u51fd\u6570\u6267\u884c\u3002

\n

\"19.png\"

\n

\u6f14\u793a\u5982\u4e0b\uff1a

\n

\"20.gif\"

\n

\u7ed3\u675f\u8bed

\n

\u8fd9\u7bc7\u6587\u7ae0\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u4e86 Serverless\uff0c\u963f\u91cc\u4e91\u7684 Serverless \u4ea7\u54c1\u51fd\u6570\u8ba1\u7b97\uff08 FC \uff09\u4ee5\u53ca\u57fa\u4e8e\u51fd\u6570\u8ba1\u7b97\uff08 FC \uff09\u5b9e\u73b0\u7684\u5728\u7ebf\u7f16\u7a0b\u7cfb\u7edf\u7684 Demo \u3002\u5927\u5bb6\u5e94\u8be5\u6709\u6240\u4f53\u611f\uff0c\u57fa\u4e8e\u51fd\u6570\u8ba1\u7b97\uff08 FC \uff09\u5b9e\u73b0\u5728\u7ebf\u7f16\u7a0b\u7cfb\u7edf\u65f6\uff0c\u7814\u53d1\u540c\u5b66\u53ea\u9700\u8981\u4e13\u6ce8\u5728\u5982\u4f55\u6267\u884c\u7531\u524d\u7aef\u4f20\u5165\u7684\u4ee3\u7801\u5373\u53ef\uff0c\u6574\u4e2a Server \u7aef\u7684\u5404\u4e2a\u73af\u8282\u90fd\u4e0d\u9700\u8981\u7814\u53d1\u540c\u5b66\u548c\u8fd0\u7ef4\u540c\u5b66\u53bb\u5173\u5fc3\uff0c\u57fa\u672c\u4f53\u73b0\u4e86 Serverless \u7684\u7cbe\u9ad3\u3002

\n

\u57fa\u4e8e Serverless \u8fd8\u6709\u5f88\u591a\u5176\u4ed6\u7684\u5e94\u7528\u573a\u666f\uff0c\u4e4b\u540e\u6211\u4f1a\u4e00\u4e00\u5206\u4eab\u7ed9\u5927\u5bb6\uff0c\u6211\u4eec\u4e0d\u89c1\u4e0d\u6563\uff01

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/736015", "title": "Serverless \u7684\u4ef7\u503c", "id": "t/736015", "date_published": "2020-12-16T06:42:37+00:00", "content_html": "

\"1.jpg\"

\n

\u4f5c\u8005 | \u8bb8\u6653\u658c\u00a0\u963f\u91cc\u4e91\u9ad8\u7ea7\u6280\u672f\u4e13\u5bb6

\n

\u56de\u987e\u67b6\u6784\u7684\u6f14\u8fdb\u8fc7\u7a0b\uff0c\u6211\u4eec\u4e0d\u96be\u53d1\u73b0\uff0c\u7814\u53d1\u8fd0\u7ef4\u4eba\u5458\u6b63\u5728\u9010\u6e10\u5730\u628a\u5173\u6ce8\u70b9\u4ece\u673a\u5668\u4e0a\u79fb\u8d70\uff0c\u4e0d\u518d\u53bb\u7ba1\u7406\u673a\u5668\u3002

\n

\u5176\u5b9e\u6211\u4eec\u90fd\u77e5\u9053\uff0c\u867d\u7136\u8bf4\u662f Serverless\uff0c\u4f46 Server \uff08\u670d\u52a1\u5668\uff09\u662f\u4e0d\u53ef\u80fd\u771f\u6b63\u6d88\u5931\u7684\uff0cServerless \u91cc\u8fd9\u4e2a less \u66f4\u786e\u5207\u5730\u8bf4\uff0c\u5e94\u8be5\u662f\u5f00\u53d1\u8005\u4e0d\u7528\u5173\u5fc3\u670d\u52a1\u5668\u7684\u610f\u601d\u3002\u8fd9\u5c31\u597d\u6bd4\u73b0\u4ee3\u7f16\u7a0b\u8bed\u8a00 Java \u548c Python\uff0c\u5f00\u53d1\u4e0d\u7528\u624b\u5de5\u5206\u914d\u548c\u91ca\u653e\u5185\u5b58\uff0c\u4f46\u5185\u5b58\u4f9d\u7136\u5728\u54ea\u91cc\uff0c\u53ea\u4e0d\u8fc7\u4ea4\u7ed9\u5783\u573e\u6536\u96c6\u5668\u7ba1\u7406\u4e86\u3002\u79f0\u4e00\u4e2a\u80fd\u5e2e\u52a9\u4f60\u7ba1\u7406\u670d\u52a1\u5668\u7684\u5e73\u53f0\u4e3a Serverless \u5e73\u53f0\uff0c\u5c31\u597d\u6bd4\u79f0\u547c Java \u548c Python \u4e3a Memoryless \u8bed\u8a00\u4e00\u6837\u3002

\n

\u4f46\u662f\uff0c\u5982\u679c\u6211\u4eec\u628a\u76ee\u5149\u653e\u5230\u4eca\u5929\u8fd9\u4e2a\u4e91\u7684\u65f6\u4ee3\uff0c\u90a3\u4e48\u5c31\u4e0d\u80fd\u72ed\u4e49\u5730\u628a Serverless \u4ec5\u4ec5\u7406\u89e3\u4e3a\u4e0d\u7528\u5173\u5fc3\u670d\u52a1\u5668\u3002\u4e91\u4e0a\u7684\u8d44\u6e90\u9664\u4e86\u670d\u52a1\u5668\u6240\u5305\u542b\u7684\u57fa\u7840\u8ba1\u7b97\u3001\u7f51\u7edc\u3001\u5b58\u50a8\u8d44\u6e90\u4e4b\u5916\uff0c\u8fd8\u5305\u62ec\u5404\u79cd\u7c7b\u522b\u7684\u66f4\u4e0a\u5c42\u7684\u8d44\u6e90\uff0c\u4f8b\u5982\u6570\u636e\u5e93\u3001\u7f13\u5b58\u3001\u6d88\u606f\u7b49\u3002

\n

Serverless \u7684\u613f\u666f

\n

2019 \u5e74 2 \u6708\uff0cUC \u4f2f\u514b\u5229\u5927\u5b66\u53d1\u8868\u4e86\u4e00\u7bc7\u6807\u9898\u4e3a\u300a Cloud Programming Simplified: A Berkeley View on Serverless Computing \u300b\u7684\u8bba\u6587\uff0c\u8bba\u6587\u4e2d\u4e5f\u6709\u4e00\u4e2a\u975e\u5e38\u6e05\u6670\u5f62\u8c61\u7684\u6bd4\u55bb\uff0c\u6587\u4e2d\u8fd9\u6837\u63cf\u8ff0\uff1a

\n
\n

\u5728\u4e91\u7684\u4e0a\u4e0b\u6587\u4e2d\uff0cServerful \u7684\u8ba1\u7b97\u5c31\u50cf\u4f7f\u7528\u4f4e\u7ea7\u7684\u6c47\u7f16\u8bed\u8a00\u7f16\u7a0b\uff0c\u800c Serverless \u7684\u8ba1\u7b97\u5c31\u50cf\u4f7f\u7528 Python \u8fd9\u6837\u7684\u9ad8\u7ea7\u8bed\u8a00\u8fdb\u884c\u7f16\u7a0b\u3002\u4f8b\u5982 c = a + b \u8fd9\u6837\u7b80\u5355\u7684\u8868\u8fbe\u5f0f\uff0c\u5982\u679c\u7528\u6c47\u7f16\u63cf\u8ff0\uff0c\u5c31\u5fc5\u987b\u5148\u9009\u62e9\u51e0\u4e2a\u5bc4\u5b58\u5668\uff0c\u628a\u503c\u52a0\u8f7d\u5230\u5bc4\u5b58\u5668\uff0c\u8fdb\u884c\u6570\u5b66\u8ba1\u7b97\uff0c\u518d\u5b58\u50a8\u7ed3\u679c\u3002\u8fd9\u5c31\u597d\u6bd4\u4eca\u5929\u5728\u4e91\u73af\u5883\u4e0b Serverful \u7684\u8ba1\u7b97\uff0c\u5f00\u53d1\u9996\u5148\u9700\u8981\u5206\u914d\u6216\u627e\u5230\u53ef\u7528\u7684\u8d44\u6e90\uff0c\u7136\u540e\u52a0\u8f7d\u4ee3\u7801\u548c\u6570\u636e\uff0c\u518d\u6267\u884c\u8ba1\u7b97\uff0c\u5c06\u8ba1\u7b97\u7684\u7ed3\u679c\u5b58\u50a8\u8d77\u6765\uff0c\u6700\u540e\u8fd8\u9700\u8981\u7ba1\u7406\u8d44\u6e90\u7684\u91ca\u653e\u3002

\n
\n

\u8bba\u6587\u4e2d\u6240\u8c13\u7684 Serverful \u8ba1\u7b97\uff0c\u662f\u6211\u4eec\u4eca\u5929\u4e3b\u6d41\u7684\u4f7f\u7528\u4e91\u7684\u65b9\u5f0f\uff0c\u4f46\u4e0d\u5e94\u8be5\u662f\u672a\u6765\u6211\u4eec\u4f7f\u7528\u4e91\u7684\u65b9\u5f0f\u3002\u6211\u8ba4\u4e3a Serverless \u7684\u613f\u666f\u5e94\u8be5\u662f Write locally, compile to the cloud\uff0c\u5373\u4ee3\u7801\u53ea\u5173\u5fc3\u4e1a\u52a1\u903b\u8f91\uff0c\u7531\u5de5\u5177\u548c\u4e91\u53bb\u7ba1\u7406\u8d44\u6e90\u3002

\n

Serverless \u7684\u4ef7\u503c

\n

\u5728\u5bf9 Serverless \u6709\u4e00\u4e2a\u603b\u4f53\u7684\u62bd\u8c61\u6982\u5ff5\u4e4b\u540e\uff0c\u4e5f\u9700\u8981\u5177\u4f53\u4e86\u89e3 Serverless \u5e73\u53f0\u7684\u4e3b\u8981\u7279\u70b9\uff0c\u540c\u65f6\u8fd9\u4e9b\u7279\u70b9\u4e5f\u662f Serverless \u6838\u5fc3\u4f18\u52bf\u7684\u4f53\u73b0\u3002

\n

1. \u4e0d\u7528\u5173\u5fc3\u670d\u52a1\u5668

\n

\u7ba1\u7406\u4e00\u4e24\u53f0\u670d\u52a1\u5668\u53ef\u80fd\u4e0d\u662f\u4ec0\u4e48\u9ebb\u70e6\u7684\u4e8b\u60c5\uff0c\u7ba1\u7406\u6570\u5343\u751a\u81f3\u6570\u4e07\u53f0\u670d\u52a1\u5668\u5c31\u6ca1\u90a3\u4e48\u7b80\u5355\u4e86\u3002\u4efb\u4f55\u4e00\u53f0\u670d\u52a1\u5668\u90fd\u53ef\u80fd\u51fa\u73b0\u6545\u969c\uff0c\u5982\u4f55\u81ea\u52a8\u8bc6\u522b\u6545\u969c\uff0c\u6458\u9664\u6709\u95ee\u9898\u7684\u5b9e\u4f8b\uff0c\u8fd9\u662f Serverless \u5e73\u53f0\u5fc5\u987b\u5177\u5907\u7684\u80fd\u529b\uff1b\u6b64\u5916\uff0c\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u8865\u4e01\u5347\u7ea7\uff0c\u9700\u8981\u505a\u5230\u4e0d\u5f71\u54cd\u4e1a\u52a1\uff0c\u81ea\u52a8\u5b8c\u6210\uff1b\u65e5\u5fd7\u548c\u76d1\u63a7\u7cfb\u7edf\u9700\u8981\u9ed8\u8ba4\u6253\u901a\uff1b\u7cfb\u7edf\u7684\u5b89\u5168\u7b56\u7565\u9700\u8981\u81ea\u52a8\u914d\u7f6e\u597d\u4ee5\u907f\u514d\u98ce\u9669\uff1b\u5f53\u8d44\u6e90\u4e0d\u591f\u65f6\uff0c\u9700\u8981\u80fd\u591f\u81ea\u52a8\u5206\u914d\u8d44\u6e90\u5e76\u5b89\u88c5\u76f8\u5173\u7684\u4ee3\u7801\u548c\u914d\u7f6e\uff0c\u7b49\u7b49\u3002

\n

2. \u81ea\u52a8\u5f39\u6027

\n

\u4eca\u5929\u7684\u4e92\u8054\u7f51\u5e94\u7528\u90fd\u88ab\u8bbe\u8ba1\u6210\u53ef\u4f38\u7f29\u67b6\u6784\uff0c\u5f53\u4e1a\u52a1\u6709\u6bd4\u8f83\u660e\u663e\u7684\u9ad8\u5cf0\u548c\u4f4e\u8c37\u65f6\uff0c\u6216\u8005\u4e1a\u52a1\u6709\u4e34\u65f6\u7684\u5bb9\u91cf\u9700\u6c42\u65f6\uff08\u6bd4\u5982\u8425\u9500\u6d3b\u52a8\uff09\uff0cServerless \u5e73\u53f0\u90fd\u80fd\u591f\u53ca\u65f6\u4e14\u7a33\u5b9a\u5730\u5b9e\u73b0\u81ea\u52a8\u5f39\u6027\u3002\u4e3a\u4e86\u5b9e\u73b0\u8fd9\u4e2a\u80fd\u529b\uff0c\u5e73\u53f0\u9700\u8981\u6709\u975e\u5e38\u5f3a\u5927\u7684\u8d44\u6e90\u8c03\u5ea6\u80fd\u529b\uff0c\u4ee5\u53ca\u5bf9\u5e94\u7528\u5404\u9879\u6307\u6807\uff08\u5982 load \u3001\u5e76\u53d1\uff09\u975e\u5e38\u654f\u9510\u7684\u611f\u77e5\u80fd\u529b\u3002

\n

3. \u6309\u5b9e\u9645\u8d44\u6e90\u4f7f\u7528\u8ba1\u8d39

\n

Serverful \u7684\u65b9\u5f0f\u4f7f\u7528\u4e91\u8d44\u6e90\uff0c\u662f\u6309\u5360\u7528\u800c\u975e\u4f7f\u7528\u8ba1\u8d39\u7684\uff0c\u4f8b\u5982\u7528\u6237\u5728\u4e91\u4e0a\u8d2d\u4e70\u4e86\u4e09\u53f0 ECS\uff0c\u90a3\u4e48\u4e0d\u7ba1\u7528\u6237\u5b9e\u9645\u4f7f\u7528\u4e86\u8fd9\u4e09\u53f0 ECS \u591a\u5c11\u7684 CPU \u548c\u5185\u5b58\uff0c\u4ed6\u90fd\u9700\u8981\u652f\u4ed8\u8fd9\u4e09\u53f0 ECS \u6574\u4f53\u7684\u8d39\u7528\u3002\u800c\u5728 Serverless \u6a21\u5f0f\u4e0b\uff0c\u7528\u6237\u662f\u6309\u5b9e\u9645\u4f7f\u7528\u7684\u8d44\u6e90\u4ed8\u8d39\u7684\uff0c\u4f8b\u5982\u4e00\u4e2a\u8bf7\u6c42\u5b9e\u9645\u4f7f\u7528\u4e86\u4e00\u53f0 1core2g \u89c4\u683c\u8d44\u6e90 100ms \u7684\u65f6\u95f4\uff0c\u90a3\u4e48\u7528\u6237\u5c31\u53ea\u9700\u8981\u4e3a\u8be5\u89c4\u683c\u7684\u5355\u4ef7\u4e58\u4ee5\u65f6\u95f4\uff08\u5373 100ms \uff09\u4ed8\u8d39\u3002\u7c7b\u4f3c\u7684\uff0c\u7528\u6237\u5982\u679c\u7528\u7684\u662f Serverless \u6570\u636e\u5e93\uff0c\u90a3\u4e48\u5c31\u53ea\u9700\u8981\u4e3a query \u5b9e\u9645\u6d88\u8017\u7684\u8d44\u6e90\uff0c\u4ee5\u53ca\u6570\u636e\u5b58\u50a8\u7684\u8d44\u6e90\u4ed8\u8d39\u3002

\n

4. \u66f4\u5c11\u7684\u4ee3\u7801\uff0c\u66f4\u5feb\u7684\u4ea4\u4ed8\u901f\u5ea6

\n

\u57fa\u4e8e Serverless \u67b6\u6784\u7684\u4ee3\u7801\u901a\u5e38\u4f1a\u91cd\u5ea6\u4f7f\u7528\u540e\u7aef\u7684\u670d\u52a1\uff0c\u5c06\u6570\u636e\u3001\u72b6\u6001\u7ba1\u7406\u7b49\u5185\u5bb9\u4ece\u4ee3\u7801\u4e2d\u5206\u79bb\u51fa\u53bb\uff1b\u6b64\u5916\uff0c\u66f4\u5f7b\u5e95\u7684 FaaS \u67b6\u6784\u5219\u628a\u4ee3\u7801\u7684 Runtime \u4e5f\u4ea4\u7ed9\u4e86\u5e73\u53f0\u7ba1\u7406\u3002\u8fd9\u5c31\u610f\u5473\u7740\uff0c\u540c\u6837\u7684\u5e94\u7528\uff0cServerless \u6a21\u5f0f\u4e0b\u7684\u4ee3\u7801\u76f8\u6bd4 Serverful \u6a21\u5f0f\u4f1a\u5c11\u5f88\u591a\uff0c\u56e0\u6b64\u4e0d\u8bba\u662f\u4ece\u5206\u53d1\u8fd8\u662f\u542f\u52a8\uff0c\u90fd\u4f1a\u66f4\u5feb\u3002Serverless \u5e73\u53f0\u4e5f\u901a\u5e38\u80fd\u591f\u63d0\u4f9b\u975e\u5e38\u6210\u719f\u7684\u4ee3\u7801\u6784\u5efa\u53d1\u5e03\u3001\u7248\u672c\u5207\u6362\u7b49\u7279\u6027\uff0c\u63d0\u5347\u4ea4\u4ed8\u901f\u5ea6\u3002

\n

\u4f5c\u8005\u7b80\u4ecb

\n

\u8bb8\u6653\u658c\uff0c\u963f\u91cc\u4e91\u9ad8\u7ea7\u6280\u672f\u4e13\u5bb6\u3002\u76ee\u524d\u8d1f\u8d23\u963f\u91cc\u96c6\u56e2 Serverless \u7814\u53d1\u8fd0\u7ef4\u5e73\u53f0\u5efa\u8bbe\uff0c\u5728\u8fd9\u4e4b\u524d\u8d1f\u8d23 AliExpress \u5fae\u670d\u52a1\u67b6\u6784\u3001Spring Boot \u6846\u67b6\u3001\u7814\u53d1\u6548\u7387\u63d0\u5347\u5de5\u4f5c\u3002\u300a Maven \u5b9e\u6218\u300b\u4f5c\u8005\uff0c\u66fe\u7ecf\u662f Maven \u4e2d\u592e\u4ed3\u5e93\u7684\u7ef4\u62a4\u8005\u3002

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/736006", "title": "Serverless \u5728\u5927\u89c4\u6a21\u6570\u636e\u5904\u7406\u7684\u5b9e\u8df5", "id": "t/736006", "date_published": "2020-12-16T06:27:17+00:00", "content_html": "

\"\u5934\u56fe.jpg\"

\n

\u4f5c\u8005 |\u00a0\u897f\u6d41\u00a0 \u963f\u91cc\u4e91\u6280\u672f\u4e13\u5bb6

\n

\u524d\u8a00

\n

\u5f53\u60a8\u7b2c\u4e00\u6b21\u63a5\u89e6 Serverless \u7684\u65f6\u5019\uff0c\u6709\u4e00\u4e2a\u4e0d\u90a3\u4e48\u660e\u663e\u7684\u65b0\u4f7f\u7528\u65b9\u5f0f\uff1a\u4e0e\u4f20\u7edf\u7684\u57fa\u4e8e\u670d\u52a1\u5668\u7684\u65b9\u6cd5\u76f8\u6bd4\uff0cServerless \u670d\u52a1\u5e73\u53f0\u53ef\u4ee5\u4f7f\u60a8\u7684\u5e94\u7528\u5feb\u901f\u6c34\u5e73\u6269\u5c55\uff0c\u5e76\u884c\u5904\u7406\u7684\u5de5\u4f5c\u66f4\u52a0\u6709\u6548\u3002\u8fd9\u4e3b\u8981\u662f\u56e0\u4e3a Serverless \u53ef\u4ee5\u4e0d\u5fc5\u4e3a\u95f2\u7f6e\u7684\u8d44\u6e90\u4ed8\u8d39\uff0c\u4e0d\u7528\u62c5\u5fc3\u9884\u7559\u7684\u8d44\u6e90\u4e0d\u591f\u3002\u800c\u5728\u4f20\u7edf\u7684\u4f7f\u7528\u8303\u5f0f\u4e2d\uff0c\u7528\u6237\u5fc5\u987b\u9884\u7559\u6210\u767e\u4e0a\u5343\u7684\u670d\u52a1\u5668\u6765\u505a\u4e00\u4e9b\u9ad8\u5ea6\u5e76\u884c\u5316\u4f46\u6267\u884c\u65f6\u957f\u8f83\u77ed\u7684\u4efb\u52a1\uff0c\u800c\u4e14\u5fc5\u987b\u4e3a\u6bcf\u4e00\u53f0\u670d\u52a1\u5668\u4e70\u5355\uff0c\u5373\u4f7f\u6709\u7684\u670d\u52a1\u5668\u5df2\u7ecf\u4e0d\u518d\u5de5\u4f5c\u4e86\u3002

\n

\u4ee5\u963f\u91cc\u4e91 Serverless \u4ea7\u54c1\u2014\u2014\u51fd\u6570\u8ba1\u7b97\u4e3a\u4f8b\uff0c\u4fbf\u53ef\u4ee5\u5b8c\u7f8e\u89e3\u51b3\u60a8\u4e0a\u8ff0\u6240\u6709\u987e\u8651\uff1a

\n\n

\u5728\u8fd9\u79cd\u573a\u666f\u4e0b\uff0c\u7528\u6237\u552f\u4e00\u5173\u6ce8\u7684\u5c31\u662f\uff1a\u60a8\u7684\u4efb\u52a1\u662f\u53ef\u4ee5\u5206\u6cbb\u62c6\u89e3\u5e76\u4e14\u5b50\u4efb\u52a1\u662f\u53ef\u4ee5\u5e76\u884c\u5904\u7406\u7684\uff0c\u4e00\u4e2a\u9700\u8981\u4e00\u4e2a\u5c0f\u65f6\u624d\u80fd\u5904\u7406\u5b8c\u7684\u957f\u4efb\u52a1\uff0c\u53ef\u4ee5\u5206\u89e3\u6210 360 \u4e2a\u72ec\u7acb\u7684 10 \u79d2\u957f\u7684\u5b50\u4efb\u52a1\u5e76\u884c\u5904\u7406\uff0c\u8fd9\u6837\uff0c\u4ee5\u524d\u60a8\u8981\u82b1\u4e00\u4e2a\u5c0f\u65f6\u624d\u80fd\u5904\u7406\u5b8c\u7684\u4efb\u52a1\uff0c\u73b0\u5728\u53ea\u9700\u8981 10 \u79d2\u5c31\u53ef\u4ee5\u641e\u5b9a\u3002\u7531\u4e8e\u91c7\u7528\u7684\u662f\u6309\u91cf\u8ba1\u8d39\u7684\u6a21\u578b\uff0c\u5b8c\u6210\u7684\u8ba1\u7b97\u91cf\u548c\u6210\u672c\u662f\u5927\u81f4\u76f8\u5f53\u7684\uff0c\u800c\u4f20\u7edf\u6a21\u578b\u5219\u56e0\u4e3a\u9884\u7559\u8d44\u6e90\u80af\u5b9a\u4f1a\u5b58\u5728\u6d6a\u8d39\uff0c\u6d6a\u8d39\u7684\u8d39\u7528\u4e5f\u662f\u9700\u8981\u60a8\u53bb\u627f\u62c5\u7684\u3002

\n

\u63a5\u4e0b\u6765\uff0c\u5c06\u8be6\u7ec6\u9610\u8ff0 Serverless \u5728\u5927\u89c4\u6a21\u6570\u636e\u5904\u7406\u4e0a\u7684\u5b9e\u8df5\u3002

\n

\u6781\u81f4\u5f39\u6027\u6269\u7f29\u5bb9\u5e94\u5bf9\u8ba1\u7b97\u6ce2\u52a8

\n

\u5728\u4ecb\u7ecd\u76f8\u5173\u7684\u5927\u89c4\u6a21\u6570\u636e\u5904\u7406\u793a\u4f8b\u4e4b\u524d\uff0c \u8fd9\u91cc\u5148\u7b80\u5355\u4ecb\u7ecd\u4e00\u4e0b\u51fd\u6570\u8ba1\u7b97\u3002

\n

1. \u51fd\u6570\u8ba1\u7b97\u7b80\u4ecb

\n

\"1.png\"

\n\n

\u8be6\u60c5\uff1a\u51fd\u6570\u8ba1\u7b97\u5b98\u7f51

\n

\u81f3\u6b64\uff0c\u60a8\u5927\u7ea6\u53ef\u4ee5\u7b80\u5355\u7406\u89e3\u5230\u51fd\u6570\u8ba1\u7b97\u662f\u600e\u4e48\u8fd0\u4f5c\u7684\uff0c\u63a5\u4e0b\u6765\u4ee5\u5927\u91cf\u89c6\u9891\u5e76\u884c\u8f6c\u7801\u7684\u6848\u4f8b\u6765\u9610\u8ff0\uff1a\u5047\u8bbe\u4e00\u5bb6\u5728\u5bb6\u6559\u80b2\u6216\u5a31\u4e50\u76f8\u5173\u7684\u4f01\u4e1a\uff0c\u8001\u5e08\u6388\u8bfe\u89c6\u9891\u6216\u8005\u65b0\u7684\u7247\u6e90\u4e00\u822c\u662f\u96c6\u4e2d\u5f0f\u4ea7\u751f\uff0c\u800c\u60a8\u5e0c\u671b\u8fd9\u4e9b\u89c6\u9891\u88ab\u5feb\u901f\u8f6c\u7801\u5904\u7406\u5b8c\u4ee5\u4fbf\u80fd\u8ba9\u5ba2\u6237\u5feb\u901f\u770b\u5230\u89c6\u9891\u56de\u653e\u3002\u6bd4\u5982\u5728\u5f53\u4e0b\u75ab\u60c5\u4e2d\uff0c\u5728\u7ebf\u6559\u80b2\u4ea7\u751f\u7684\u8bfe\u7a0b\u6fc0\u589e\uff0c\u800c\u51fa\u8bfe\u9ad8\u5cf0\u4e00\u822c\u662f 10 \u70b9\u300112 \u70b9\u300116 \u70b9\u300118 \u70b9\u7b49\u660e\u663e\u7684\u5cf0\u503c\u6bb5\uff0c\u7279\u5b9a\u7684\u65f6\u95f4\u5185\uff08\u6bd4\u5982\u534a\u4e2a\u5c0f\u65f6\uff09\u5904\u7406\u5b8c\u6240\u6709\u65b0\u4e0a\u4f20\u7684\u89c6\u9891\u662f\u4e00\u4e2a\u901a\u7528\u800c\u4e14\u666e\u904d\u7684\u9700\u6c42\u3002

\n

2. \u5f39\u6027\u9ad8\u53ef\u7528\u7684\u97f3\u89c6\u9891\u5904\u7406\u7cfb\u7edf

\n\n

\"2.png\"

\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0c\u7528\u6237\u4e0a\u4f20\u4e00\u4e2a\u89c6\u9891\u5230 OSS\uff0cOSS \u89e6\u53d1\u5668\u81ea\u52a8\u89e6\u53d1\u51fd\u6570\u6267\u884c\uff0c\u51fd\u6570\u8ba1\u7b97\u81ea\u52a8\u6269\u5bb9\uff0c\u6267\u884c\u73af\u5883\u5185\u7684\u51fd\u6570\u903b\u8f91\u8c03\u7528 FFmpeg \u8fdb\u884c\u89c6\u9891\u8f6c\u7801\uff0c\u5e76\u4e14\u5c06\u8f6c\u7801\u540e\u7684\u89c6\u9891\u4fdd\u5b58\u56de OSS \u3002

\n\n

\"3.png\"

\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0c\u5e94\u7528\u53ea\u9700\u8981\u53d1\u4e00\u4e2a\u6d88\u606f\uff0c\u81ea\u52a8\u89e6\u53d1\u51fd\u6570\u6267\u884c\u97f3\u89c6\u9891\u5904\u7406\u7684\u4efb\u52a1\u5373\u53ef\uff0c\u51fd\u6570\u8ba1\u7b97\u81ea\u52a8\u6269\u5bb9\uff0c\u6267\u884c\u73af\u5883\u5185\u7684\u51fd\u6570\u903b\u8f91\u8c03\u7528 FFmpeg \u8fdb\u884c\u89c6\u9891\u8f6c\u7801\uff0c \u5e76\u4e14\u5c06\u8f6c\u7801\u540e\u7684\u89c6\u9891\u4fdd\u5b58\u56de OSS \u3002

\n\n

\u4ee5 python \u4e3a\u4f8b\uff0c\u5927\u81f4\u5982\u4e0b\uff1a

\n
python\n # -*- coding: utf-8 -*-\n import fc2\n import json\n client = fc2.Client(endpoint=\"http://123456.cn-hangzhou.fc.aliyuncs.com\",accessKeyID=\"xxxxxxxx\",accessKeySecret=\"yyyyyy\")\n # \u53ef\u9009\u62e9\u540c\u6b65 /\u5f02\u6b65\u8c03\u7528\n resp = client.invoke_function(\"FcOssFFmpeg\", \"transcode\", payload=json.dumps(\n {\n \"bucket_name\" : \"test-bucket\",\n \"object_key\" : \"video/inputs/a.flv\",\n \"output_dir\" : \"video/output/a_out.mp4\"\n })).data\n print(resp)\n
\n

\u4ece\u4e0a\u9762\u6211\u4eec\u4e5f\u53ef\u4ee5\u770b\u51fa\uff0c\u89e6\u53d1\u51fd\u6570\u6267\u884c\u7684\u65b9\u5f0f\u4e5f\u5f88\u591a\uff0c\u540c\u65f6\u7b80\u5355\u914d\u7f6e\u4e0b SLS \u65e5\u5fd7\uff0c\u5c31\u53ef\u4ee5\u5f88\u5feb\u5b9e\u73b0\u4e00\u4e2a\u5f39\u6027\u9ad8\u53ef\u7528\u3001\u6309\u91cf\u4ed8\u8d39\u7684\u97f3\u89c6\u9891\u5904\u7406\u7cfb\u7edf\uff0c\u540c\u65f6\u80fd\u63d0\u4f9b\u514d\u8fd0\u7ef4\u3001\u5177\u4f53\u4e1a\u52a1\u6570\u636e\u53ef\u89c6\u5316\u3001\u5f3a\u5927\u81ea\u5b9a\u4e49\u76d1\u63a7\u62a5\u8b66\u7b49\u8d85\u5f3a\u529f\u80fd\u7684 dashboard \u3002

\n

\"4.png\"

\n

\u76ee\u524d\u5df2\u7ecf\u843d\u5730\u7684\u97f3\u89c6\u9891\u6848\u4f8b\u6709 UC \u3001\u8bed\u96c0\u3001\u8eba\u5e73\u8bbe\u8ba1\u4e4b\u5bb6\u3001\u864e\u6251\u4ee5\u53ca\u51e0\u5bb6\u5728\u7ebf\u6559\u80b2\u7684\u5934\u90e8\u5ba2\u6237\u7b49\uff0c\u5176\u4e2d\u6709\u4e9b\u5ba2\u6237\u9ad8\u5cf0\u671f\u95f4\uff0c\u5f39\u6027\u4f7f\u7528\u5230\u4e86\u4e07\u6838\u4ee5\u4e0a CPU \u8ba1\u7b97\u8d44\u6e90\uff0c\u5e76\u884c\u5904\u7406\u7684\u89c6\u9891\u8fbe\u5230 1700+\uff0c\u540c\u65f6\u63d0\u4f9b\u4e86\u6781\u9ad8\u7684\u6027\u4ef7\u6bd4\u3002

\n

\u8be6\u60c5\u53ef\u4ee5\u53c2\u8003\uff1a

\n\n

\u4efb\u52a1\u5206\u6cbb\uff0c\u5e76\u884c\u52a0\u901f

\n

\u8fd9\u79cd\u5c06\u4efb\u52a1\u5206\u800c\u6cbb\u4e4b\u7684\u601d\u60f3\u5e94\u7528\u5728\u51fd\u6570\u8ba1\u7b97\u4e0a\u662f\u4e00\u4ef6\u6709\u8da3\u7684\u4e8b\u60c5\uff0c\u5728\u8fd9\u91cc\u4e3e\u4e00\u4e2a\u4f8b\u5b50\uff0c\u6bd4\u5982\u60a8\u6709\u4e00\u4e2a\u8d85\u5927\u7684\u00a020G \u7684 1080P \u9ad8\u6e05\u89c6\u9891\u9700\u8981\u8f6c\u7801\uff0c\u5373\u4f7f\u60a8\u4f7f\u7528\u4e00\u53f0\u9ad8\u914d\u673a\u5668\uff0c\u9700\u8981\u7684\u65f6\u95f4\u53ef\u80fd\u8fd8\u662f\u8981\u6309\u5c0f\u65f6\u8ba1\uff0c\u5982\u679c\u4e2d\u9014\u51fa\u95ee\u9898\u4e2d\u65ad\u8f6c\u7801\uff0c\u60a8\u53ea\u80fd\u91cd\u65b0\u5f00\u59cb\u518d\u91cd\u590d\u4e00\u904d\u8f6c\u7801\u7684\u8fc7\u7a0b\uff0c\u5982\u679c\u60a8\u4f7f\u7528\u5206\u6cbb\u7684\u601d\u60f3+\u51fd\u6570\u8ba1\u7b97\uff0c\u8f6c\u7801\u7684\u8fc7\u7a0b\u884d\u53d8\u4e3a\u00a0\u5206\u7247-> \u5e76\u884c\u8f6c\u7801\u5206\u7247-> \u5408\u5e76\u5206\u7247\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u89e3\u51b3\u60a8\u4e0a\u8ff0\u7684\u4e24\u4e2a\u75db\u70b9\uff1a

\n\n

\u901a\u8fc7\u5c06\u5927\u4efb\u52a1\u5408\u7406\u7684\u5206\u89e3\uff0c\u914d\u5408\u4f7f\u7528\u51fd\u6570\u8ba1\u7b97\uff0c\u7f16\u5199\u4e00\u70b9 code\uff0c\u5c31\u53ef\u4ee5\u5feb\u901f\u5b8c\u6210\u4e00\u4e2a\u5f39\u6027\u9ad8\u53ef\u7528\u3001\u5e76\u884c\u52a0\u901f\u3001\u6309\u91cf\u4ed8\u8d39\u7684\u5927\u578b\u6570\u636e\u5904\u7406\u7cfb\u7edf\u3002

\n

\u5728\u4ecb\u7ecd\u8fd9\u4e2a\u65b9\u6848\u4e4b\u524d\uff0c\u6211\u4eec\u5148\u7b80\u5355\u4ecb\u7ecd\u4e00\u4e0b Serverless \u5de5\u4f5c\u6d41\uff0cServerless \u5de5\u4f5c\u6d41\u53ef\u4ee5\u5f88\u597d\u5730\u5c06\u51fd\u6570\u548c\u5176\u4ed6\u4e91\u670d\u52a1\u548c\u81ea\u5efa\u670d\u52a1\u6709\u7ec4\u7ec7\u5730\u7f16\u6392\u8d77\u6765\u3002

\n

1. Serverless \u5de5\u4f5c\u6d41\u7b80\u4ecb

\n

Serverless \u5de5\u4f5c\u6d41\uff08 Serverless Workflow \uff09\u662f\u4e00\u4e2a\u7528\u6765\u534f\u8c03\u591a\u4e2a\u5206\u5e03\u5f0f\u4efb\u52a1\u6267\u884c\u7684\u5168\u6258\u7ba1\u4e91\u670d\u52a1\u3002\u5728 Serverless \u5de5\u4f5c\u6d41\u4e2d\uff0c\u60a8\u53ef\u4ee5\u7528\u987a\u5e8f\u3001\u5206\u652f\u3001\u5e76\u884c\u7b49\u65b9\u5f0f\u6765\u7f16\u6392\u5206\u5e03\u5f0f\u4efb\u52a1\uff0cServerless \u5de5\u4f5c\u6d41\u4f1a\u6309\u7167\u8bbe\u5b9a\u597d\u7684\u6b65\u9aa4\u53ef\u9760\u5730\u534f\u8c03\u4efb\u52a1\u6267\u884c\uff0c\u8ddf\u8e2a\u6bcf\u4e2a\u4efb\u52a1\u7684\u72b6\u6001\u8f6c\u6362\uff0c\u5e76\u5728\u5fc5\u8981\u65f6\u6267\u884c\u7528\u6237\u5b9a\u4e49\u7684\u91cd\u8bd5\u903b\u8f91\uff0c\u4ee5\u786e\u4fdd\u5de5\u4f5c\u6d41\u987a\u5229\u5b8c\u6210\u3002Serverless \u5de5\u4f5c\u6d41\u7b80\u5316\u4e86\u5f00\u53d1\u548c\u8fd0\u884c\u4e1a\u52a1\u6d41\u7a0b\u6240\u9700\u8981\u7684\u4efb\u52a1\u534f\u8c03\u3001\u72b6\u6001\u7ba1\u7406\u4ee5\u53ca\u9519\u8bef\u5904\u7406\u7b49\u7e41\u7410\u5de5\u4f5c\uff0c\u8ba9\u60a8\u805a\u7126\u4e1a\u52a1\u903b\u8f91\u5f00\u53d1\u3002

\n

\u8be6\u60c5\uff1aServerless \u5de5\u4f5c\u6d41\u5b98\u7f51

\n

\u63a5\u4e0b\u6765\u4ee5\u4e00\u4e2a\u5927\u89c6\u9891\u5feb\u901f\u8f6c\u7801\u7684\u6848\u4f8b\u6765\u9610\u8ff0 Serverless \u5de5\u4f5c\u7f16\u6392\u51fd\u6570\uff0c\u5b9e\u73b0\u5927\u8ba1\u7b97\u4efb\u52a1\u7684\u5206\u89e3\uff0c\u5e76\u884c\u5904\u7406\u5b50\u4efb\u52a1\uff0c\u6700\u7ec8\u8fbe\u5230\u5feb\u901f\u5b8c\u6210\u5355\u4e2a\u5927\u4efb\u52a1\u7684\u76ee\u7684\u3002

\n

2. \u5927\u89c6\u9891\u7684\u5feb\u901f\u591a\u76ee\u6807\u683c\u5f0f\u8f6c\u7801

\n

\"5.png\"

\n

\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5047\u8bbe\u7528\u6237\u4e0a\u4f20\u4e00\u4e2a mov \u683c\u5f0f\u7684\u89c6\u9891\u5230 OSS\uff0cOSS \u89e6\u53d1\u5668\u81ea\u52a8\u89e6\u53d1\u51fd\u6570\u6267\u884c\uff0c\u51fd\u6570\u8c03\u7528 FnF \u6267\u884c\uff0cFnF \u540c\u65f6\u8fdb\u884c 1 \u79cd\u6216\u8005\u591a\u79cd\u683c\u5f0f\u7684\u8f6c\u7801\uff08\u7531 template.yml \u4e2d\u7684 DST_FORMATS \u53c2\u6570\u63a7\u5236\uff09\uff0c\u5047\u8bbe\u914d\u7f6e\u7684\u662f\u540c\u65f6\u8fdb\u884c mp4 \u548c flv \u683c\u5f0f\u7684\u8f6c\u7801\u3002

\n\n

\u8be6\u60c5\u53ef\u4ee5\u53c2\u8003\uff1afc-fnf-video-processing

\n

\u5728\u4efb\u52a1\u5206\u6cbb\uff0c\u5e76\u884c\u52a0\u901f\u5177\u4f53\u7684\u6848\u4f8b\u4e2d\uff0c\u4e0a\u9762\u5206\u4eab\u7684\u662f CPU \u5bc6\u96c6\u578b\u4efb\u52a1\u5206\u89e3\uff0c\u4f46\u4e5f\u53ef\u4ee5\u8fdb\u884c IO \u5bc6\u96c6\u578b\u4efb\u52a1\u5206\u89e3\uff0c\u6bd4\u5982\u8fd9\u4e2a\u9700\u6c42\uff1a\u4e0a\u6d77\u7684 region \u7684 OSS bucket \u4e2d\u7684\u4e00\u4e2a 20G \u5927\u6587\u4ef6\uff0c\u79d2\u7ea7\u8f6c\u5b58\u56de\u676d\u5dde\u7684 OSS Bucket \u4e2d\u3002\u8fd9\u91cc\u4e5f\u53ef\u4ee5\u91c7\u7528\u5206\u6cbb\u7684\u601d\u8def\uff0cMaster \u51fd\u6570\u5728\u63a5\u5230\u8f6c\u5b58\u4efb\u52a1\u4e4b\u540e\uff0c\u5c06\u8d85\u5927\u6587\u4ef6\u8fdb\u884c\u5206\u7247\u7684 range \u5206\u914d\u7ed9\u6bcf\u4e2a Worker \u5b50\u51fd\u6570\uff0cWorker \u5b50\u51fd\u6570\u5e76\u884c\u8f6c\u5b58\u5c5e\u4e8e\u81ea\u5df1\u90a3\u90e8\u5206\u7684\u5206\u7247\uff0cMaster \u51fd\u6570\u5f85\u6240\u6709\u5b50 Worker \u8fd0\u884c\u5b8c\u6bd5\u4e4b\u540e\uff0c\u63d0\u4ea4\u5408\u5e76\u5206\u7247\u8bf7\u6c42\uff0c\u5b8c\u6210\u6574\u4e2a\u8f6c\u5b58\u4efb\u52a1\u3002

\n

\"6.png\"

\n

\u8be6\u60c5\u53ef\u4ee5\u53c2\u8003\uff1a\u5229\u7528\u51fd\u6570\u8ba1\u7b97\u591a\u5b9e\u4f8b\u5e76\u53d1\u5b9e\u73b0\u79d2\u7ea7\u8f6c\u5b58\u8d85\u5927\u6587\u4ef6

\n

\u603b\u7ed3

\n

\u672c\u6587\u63a2\u8ba8\u4e86 Serverless \u670d\u52a1\u5e73\u53f0\u53ef\u4ee5\u4f7f\u60a8\u7684\u5e94\u7528\u5feb\u901f\u6c34\u5e73\u6269\u5c55\uff0c\u5e76\u884c\u5904\u7406\u7684\u5de5\u4f5c\u66f4\u52a0\u6709\u6548\uff0c\u5e76\u7ed9\u51fa\u4e86\u5177\u4f53\u7684\u5b9e\u8df5\u6848\u4f8b\uff0c\u65e0\u8bba\u5728 CPU \u5bc6\u96c6\u578b\u8fd8\u662f IO \u5bc6\u96c6\u578b\u573a\u666f\uff0c\u51fd\u6570\u8ba1\u7b97 + Serverless \u90fd\u80fd\u5b8c\u7f8e\u89e3\u51b3\u60a8\u4ee5\u4e0b\u987e\u8651\uff1a

\n\n

\u672c\u6587\u4e2d\u5bf9\u4e8e Serverless \u97f3\u89c6\u9891\u5904\u7406\u53ea\u662f\u4e00\u4e2a\u793a\u4f8b\uff0c\u5b83\u5c55\u793a\u7684\u662f\u51fd\u6570\u8ba1\u7b97\u914d\u5408 Serverless \u5de5\u4f5c\u6d41\u5728\u79bb\u7ebf\u8ba1\u7b97\u573a\u666f\u4e2d\u7684\u80fd\u529b\u548c\u72ec\u4e00\u65e0\u4e8c\u7684\u4f18\u52bf\u3002\u6211\u4eec\u53ef\u4ee5\u7528\u53d1\u6563\u7684\u65b9\u5f0f\u53bb\u62d3\u5c55 Serverless \u5728\u5927\u89c4\u6a21\u6570\u636e\u5904\u7406\u5b9e\u8df5\u7684\u8fb9\u754c\uff0c\u6bd4\u5982 AI \u3001\u57fa\u56e0\u8ba1\u7b97\u3001\u79d1\u5b66\u4eff\u771f\u7b49\u3002\u5e0c\u671b\u672c\u7bc7\u6587\u7ae0\u80fd\u5438\u5f15\u60a8\uff0c\u5f00\u542f\u60a8\u7684 Serverless \u5947\u5999\u4e4b\u65c5\u3002

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/735999", "title": "5 \u5927\u573a\u666f\u6df1\u5ea6\u63a2\u8ba8\u4f55\u4e3a Serverless \u67b6\u6784\u6a21\u5f0f\uff1f", "id": "t/735999", "date_published": "2020-12-16T06:16:12+00:00", "content_html": "

\"tom-winckels-I7oLRdM9YIw-unsplash.jpg\"

\n

\u4f5c\u8005 |\u00a0Hongqi\u00a0 \u963f\u91cc\u4e91\u9ad8\u7ea7\u6280\u672f\u4e13\u5bb6

\n

\u7a76\u7adf\u4ec0\u4e48\u662f Serverless \u67b6\u6784\uff1f

\n

\u4ec0\u4e48\u662f Serverless \u67b6\u6784\uff1f\u6309\u7167 CNCF \u5bf9 Serverless \u8ba1\u7b97\u7684\u5b9a\u4e49\uff0cServerless \u67b6\u6784\u5e94\u8be5\u662f\u91c7\u7528 FaaS \uff08\u51fd\u6570\u5373\u670d\u52a1\uff09\u548c BaaS \uff08\u540e\u7aef\u670d\u52a1\uff09\u670d\u52a1\u6765\u89e3\u51b3\u95ee\u9898\u7684\u4e00\u79cd\u8bbe\u8ba1\u3002\u8fd9\u4e2a\u5b9a\u4e49\u8ba9\u6211\u4eec\u5bf9 Serverless \u7684\u7406\u89e3\u7a0d\u663e\u6e05\u6670\uff0c\u540c\u65f6\u53ef\u80fd\u4e5f\u9020\u6210\u4e86\u4e00\u4e9b\u56f0\u6270\u548c\u4e89\u8bba\u3002

\n\n

\u8fd9\u6837\u770b\u6765\uff0cServerless \u7684\u754c\u7ebf\u662f\u6709\u4e9b\u6a21\u7cca\u7684\uff0c\u8bf8\u591a\u4e91\u670d\u52a1\u90fd\u5411\u7740 Serverless \u65b9\u5411\u6f14\u8fdb\u3002\u4e00\u4e2a\u6a21\u7cca\u7684\u4e1c\u897f\u5982\u4f55\u6307\u5bfc\u6211\u4eec\u89e3\u51b3\u4e1a\u52a1\u95ee\u9898\u5462\uff1f Serverless \u6709\u4e00\u4e2a\u6839\u672c\u7684\u7406\u5ff5\u662f\u4e00\u76f4\u6ca1\u6709\u6539\u53d8\u7684\uff0c\u5373\u8ba9\u7528\u6237\u6700\u5927\u5316\u5730\u4e13\u6ce8\u4e1a\u52a1\u903b\u8f91\uff0c\u5176\u5b83\u7684\u7279\u5f81\u5982\u4e0d\u5173\u5fc3\u670d\u52a1\u5668\u3001\u81ea\u52a8\u5f39\u6027\u3001\u6309\u4f7f\u7528\u8ba1\u8d39\u7b49\uff0c\u90fd\u662f\u4e3a\u4e86\u5b9e\u73b0\u8fd9\u4e2a\u7406\u5ff5\u800c\u670d\u52a1\u3002

\n

\u8457\u540d\u7684 Serverless \u5b9e\u8df5\u8005 Ben Kehoe \u8fd9\u6837\u63cf\u8ff0 Serverless \u539f\u751f\u5fc3\u667a\uff0c\u5f53\u6211\u4eec\u5728\u4e1a\u52a1\u4e2d\u8003\u8651\u505a\u4ec0\u4e48\u65f6\u53ef\u4ee5\u4f53\u4f1a\u4e00\u4e0b\u8fd9\u79cd\u5fc3\u667a\uff1a

\n\n

\u5728\u5b9e\u8df5 Serverless \u67b6\u6784\u65f6\uff0c\u6700\u91cd\u8981\u7684\u5fc3\u667a\u4e0d\u662f\u9009\u62e9\u54ea\u4e9b\u6d41\u884c\u670d\u52a1\u548c\u6280\u672f\uff0c\u653b\u514b\u54ea\u4e9b\u6280\u672f\u96be\u9898\uff0c\u800c\u662f\u65f6\u523b\u5c06\u4e13\u6ce8\u4e1a\u52a1\u903b\u8f91\u94ed\u8bb0\u5728\u5fc3\uff0c\u8fd9\u6837\u66f4\u5bb9\u6613\u8ba9\u6211\u4eec\u9009\u62e9\u5408\u9002\u7684\u6280\u672f\u548c\u670d\u52a1\uff0c\u660e\u786e\u5982\u4f55\u8bbe\u8ba1\u5e94\u7528\u67b6\u6784\u3002\u4eba\u7684\u7cbe\u529b\u662f\u6709\u9650\u7684\uff0c\u7ec4\u7ec7\u7684\u8d44\u6e90\u662f\u6709\u9650\u7684\uff0cServerless \u7684\u7406\u5ff5\u53ef\u4ee5\u8ba9\u6211\u4eec\u66f4\u597d\u5730\u7528\u6709\u9650\u7684\u8d44\u6e90\u89e3\u51b3\u771f\u6b63\u9700\u8981\u89e3\u51b3\u7684\u95ee\u9898\uff0c\u6b63\u662f\u56e0\u4e3a\u6211\u4eec\u5c11\u505a\u4e86\u4e00\u4e9b\u4e8b\u60c5\uff0c\u8f6c\u800c\u8ba9\u522b\u4eba\u505a\u8fd9\u4e9b\u4e8b\u60c5\uff0c\u6211\u4eec\u624d\u53ef\u4ee5\u5728\u4e1a\u52a1\u4e0a\u505a\u7684\u66f4\u591a\u3002

\n

\u63a5\u4e0b\u6765\u6211\u4eec\u4ecb\u7ecd\u4e00\u4e9b\u5e38\u89c1\u7684\u573a\u666f\uff0c\u5e76\u63a2\u8ba8\u5982\u4f55\u4f7f\u7528 Serverless \u67b6\u6784\u652f\u6301\u8fd9\u4e9b\u573a\u666f\u3002\u6211\u4eec\u4e3b\u8981\u4f1a\u91c7\u7528\u8ba1\u7b97\u3001\u5b58\u50a8\u548c\u6d88\u606f\u901a\u4fe1\u7b49\u6280\u672f\u6765\u8bbe\u8ba1\u67b6\u6784\uff0c\u4ece\u53ef\u8fd0\u7ef4\u6027\u3001\u5b89\u5168\u6027\u3001\u53ef\u9760\u6027\u3001\u53ef\u6269\u5c55\u6027\u3001\u6210\u672c\u51e0\u4e2a\u89d2\u5ea6\u6765\u8861\u91cf\u67b6\u6784\u7684\u4f18\u52a3\u3002\u4e3a\u4e86\u8ba9\u8fd9\u79cd\u8ba8\u8bba\u4e0d\u8fc7\u4e8e\u62bd\u8c61\uff0c\u6211\u4eec\u4f1a\u7528\u4e00\u4e9b\u5177\u4f53\u7684\u670d\u52a1\u4f5c\u4e3a\u53c2\u8003\uff0c\u4f46\u662f\u8fd9\u4e9b\u67b6\u6784\u7684\u601d\u60f3\u662f\u901a\u7528\u7684\uff0c\u53ef\u4ee5\u7528\u5176\u5b83\u7c7b\u4f3c\u4ea7\u54c1\u5b9e\u73b0\u3002

\n

\u573a\u666f 1: \u9759\u6001 Web \u7ad9\u70b9

\n

\"1.JPG\"

\n

\u5047\u5982\u6211\u4eec\u8981\u505a\u4e00\u4e2a\u4fe1\u606f\u5c55\u793a\u7684\u7f51\u7ad9\uff0c\u9700\u6c42\u5f88\u7b80\u5355\uff0c\u5c31\u50cf\u65e9\u5e74\u7684\u4e2d\u56fd\u9ec4\u9875\u90a3\u6837\uff0c\u4fe1\u606f\u66f4\u65b0\u5f88\u5c11\uff0c\u5927\u6982\u6709\u4ee5\u4e0b\u51e0\u79cd\u4e3b\u8981\u9009\u62e9\uff1a

\n\n

\"2.JPG\"

\n

\u8fd9\u4e09\u79cd\u65b9\u5f0f\u7531\u4e91\u4e0b\u5230\u4e91\u4e0a\uff0c\u7531\u7ba1\u7406\u670d\u52a1\u5668\u5230\u65e0\u9700\u7ba1\u7406\u670d\u52a1\u5668\uff0c\u5373 Serverless \u3002\u8fd9\u4e00\u7cfb\u5217\u7684\u8f6c\u53d8\u7ed9\u4f7f\u7528\u8005\u5e26\u6765\u4e86\u4ec0\u4e48\u53d8\u5316\u5462\uff1f\u524d\u4e24\u79cd\u65b9\u6848\u9700\u8981\u9884\u7b97\uff0c\u9700\u8981\u6269\u5c55\uff0c\u9700\u8981\u5b9e\u73b0\u9ad8\u53ef\u7528\uff0c\u9700\u8981\u81ea\u884c\u76d1\u63a7\u7b49\uff0c\u8fd9\u4e9b\u90fd\u4e0d\u662f\u9a6c\u8001\u5e08\u5f53\u5e74\u60f3\u8981\u7684\uff0c\u4ed6\u53ea\u60f3\u53bb\u5c55\u793a\u4fe1\u606f\uff0c\u8ba9\u4e16\u754c\u4e86\u89e3\u4e2d\u56fd\uff0c\u8fd9\u662f\u4ed6\u7684\u4e1a\u52a1\u903b\u8f91\u3002Serverless \u6b63\u662f\u8fd9\u6837\u4e00\u79cd\u7406\u5ff5\uff0c\u6700\u5927\u5316\u5730\u8ba9\u4eba\u53bb\u4e13\u6ce8\u4e1a\u52a1\u903b\u8f91\u3002\u7b2c\u4e09\u79cd\u65b9\u5f0f\u5c31\u662f\u91c7\u7528\u4e86 Serverless \u67b6\u6784\u53bb\u6784\u5efa\u4e00\u4e2a\u9759\u6001\u7ad9\u70b9\uff0c\u5b83\u6709\u5176\u5b83\u65b9\u6848\u65e0\u6cd5\u6bd4\u62df\u7684\u4f18\u52bf\uff0c\u6bd4\u5982\uff1a

\n\n

\u573a\u666f 2: \u5355\u4f53\u548c\u5fae\u670d\u52a1\u5e94\u7528

\n

\"3.JPG\"

\n

\u9759\u6001\u9875\u9762\u548c\u7ad9\u70b9\u9002\u5408\u7528\u4e8e\u5185\u5bb9\u5c11\u3001\u66f4\u65b0\u9891\u7387\u4f4e\u7684\u573a\u666f\uff0c\u53cd\u4e4b\uff0c\u5c31\u9700\u8981\u52a8\u6001\u7ad9\u70b9\u4e86\u3002\u6bd4\u5982\u6dd8\u5b9d\u7684\u5546\u54c1\u9875\u9762\uff0c\u91c7\u7528\u9759\u6001\u9875\u9762\u65b9\u5f0f\u7ba1\u7406\u5546\u54c1\u4fe1\u606f\u662f\u4e0d\u73b0\u5b9e\u7684\u3002\u5982\u4f55\u6839\u636e\u7528\u6237\u8bf7\u6c42\u52a8\u6001\u5730\u8fd4\u56de\u7ed3\u679c\u5462\uff1f\u6211\u4eec\u6765\u770b\u4e24\u79cd\u5e38\u89c1\u7684\u89e3\u51b3\u65b9\u6848\uff1a

\n\n

\u5904\u5728\u4e0d\u540c\u9636\u6bb5\u4e0d\u540c\u89c4\u6a21\u7684\u7ec4\u7ec7\u53ef\u4ee5\u9009\u62e9\u9002\u5408\u81ea\u8eab\u7684\u65b9\u5f0f\uff0c\u6765\u89e3\u51b3\u5b83\u9762\u4e34\u7684\u9996\u8981\u4e1a\u52a1\u95ee\u9898\uff0c\u6dd8\u5b9d\u6700\u521d\u88ab\u4eba\u4eec\u63a5\u53d7\u4e00\u5b9a\u4e0d\u662f\u56e0\u4e3a\u5b83\u4f7f\u7528\u4e86\u54ea\u79cd\u6280\u672f\u67b6\u6784\u3002\u4f46\u662f\u65e0\u8bba\u9009\u62e9\u54ea\u79cd\u67b6\u6784\uff0c\u4e0a\u9762\u63d0\u5230\u7684 Serverless \u539f\u751f\u5fc3\u667a\u90fd\u6709\u52a9\u4e8e\u6211\u4eec\u4e13\u6ce8\u4e1a\u52a1\u3002\u6bd4\u5982\uff1a

\n\n

\"4.JPG\"

\n

\u4e0a\u56fe\u53f3\u4fa7\u7684\u67b6\u6784\u5f15\u5165\u4e86 API \u7f51\u5173\u3001\u51fd\u6570\u8ba1\u7b97\u6216\u8005 Serverless \u5e94\u7528\u5f15\u64ce\u6765\u5b9e\u73b0\u8ba1\u7b97\u5c42\uff0c\u5c06\u5927\u91cf\u7684\u5de5\u4f5c\u4ea4\u7ed9\u4e86\u4e91\u670d\u52a1\u5b8c\u6210\uff0c\u8ba9\u7528\u6237\u6700\u5927\u7a0b\u5ea6\u4e0a\u4e13\u6ce8\u5b9e\u73b0\u4e1a\u52a1\u903b\u8f91\u3002\u5176\u4e2d\u7cfb\u7edf\u5185\u90e8\u591a\u4e2a\u5fae\u670d\u52a1\u7684\u4ea4\u4e92\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u901a\u8fc7\u63d0\u4f9b\u4e00\u4e2a\u5546\u54c1\u805a\u5408\u670d\u52a1\uff0c\u5c06\u5185\u90e8\u7684\u591a\u4e2a\u5fae\u670d\u52a1\u7edf\u4e00\u5448\u73b0\u7ed9\u5916\u90e8\u3002\u8fd9\u91cc\u7684\u5fae\u670d\u52a1\u53ef\u4ee5\u901a\u8fc7 SAE \u6216\u8005\u51fd\u6570\u5b9e\u73b0\u3002

\n

\"5.JPG\"

\n

\u8fd9\u6837\u7684\u67b6\u6784\u8fd8\u53ef\u4ee5\u7ee7\u7eed\u6269\u5c55\uff0c\u6bd4\u5982\u5982\u4f55\u652f\u6301\u4e0d\u540c\u5ba2\u6237\u7aef\u7684\u8bbf\u95ee\uff0c\u5982\u4e0a\u56fe\u53f3\u4fa7\u6240\u793a\u3002\u73b0\u5b9e\u4e2d\u8fd9\u79cd\u9700\u6c42\u662f\u5e38\u89c1\u7684\uff0c\u4e0d\u540c\u7684\u5ba2\u6237\u7aef\u9700\u8981\u7684\u4fe1\u606f\u53ef\u80fd\u662f\u4e0d\u540c\u7684\uff0c\u624b\u673a\u53ef\u4ee5\u6839\u636e\u4f4d\u7f6e\u4fe1\u606f\u505a\u76f8\u5173\u63a8\u8350\u3002\u5982\u4f55\u8ba9\u624b\u673a\u5ba2\u6237\u7aef\u548c\u4e0d\u540c\u6d4f\u89c8\u5668\u90fd\u80fd\u53d7\u76ca\u4e8e Serverless \u67b6\u6784\u5462\uff1f\u8fd9\u53c8\u7275\u626f\u51fa\u4e86\u53e6\u4e00\u4e2a\u8bcd\u2014\u2014Backend for fronted \uff08 BFF \uff09\uff0c\u5373\u4e3a\u524d\u7aef\u5b9a\u505a\u7684\u540e\u7aef\uff0c\u8fd9\u53d7\u5230\u4e86\u524d\u7aef\u5f00\u53d1\u5de5\u7a0b\u5e08\u7684\u63a8\u5d07\uff0cServerless \u6280\u672f\u8ba9\u8fd9\u4e2a\u67b6\u6784\u5e7f\u6cdb\u6d41\u884c\uff0c\u56e0\u4e3a\u524d\u7aef\u5de5\u7a0b\u5e08\u53ef\u4ee5\u4ece\u4e1a\u52a1\u89d2\u5ea6\u51fa\u53d1\u76f4\u63a5\u7f16\u5199 BFF\uff0c\u800c\u65e0\u9700\u7ba1\u7406\u670d\u52a1\u5668\u76f8\u5173\u7684\u4ee4\u524d\u7aef\u5de5\u7a0b\u5e08\u66f4\u52a0\u5934\u75bc\u7684\u4e8b\u60c5\u3002\u66f4\u591a\u5b9e\u8df5\u53ef\u4ee5\u53c2\u89c1\uff1a\u57fa\u4e8e\u51fd\u6570\u8ba1\u7b97\u7684 BFF \u67b6\u6784\u3002

\n

\u573a\u666f 3: \u4e8b\u4ef6\u89e6\u53d1

\n

\u524d\u9762\u63d0\u5230\u7684\u52a8\u6001\u9875\u9762\u751f\u6210\u662f\u540c\u6b65\u8bf7\u6c42\u5b8c\u6210\u7684\uff0c\u8fd8\u6709\u4e00\u7c7b\u5e38\u89c1\u573a\u666f\uff0c\u5176\u4e2d\u8bf7\u6c42\u5904\u7406\u901a\u5e38\u9700\u8981\u8f83\u957f\u65f6\u95f4\u6216\u8005\u8f83\u591a\u8d44\u6e90\uff0c\u6bd4\u5982\u7528\u6237\u8bc4\u8bba\u4e2d\u7684\u56fe\u7247\u548c\u89c6\u9891\u5185\u5bb9\u7ba1\u7406\uff0c\u6d89\u53ca\u5230\u5982\u4f55\u4e0a\u4f20\u56fe\u7247\u548c\u5904\u7406\u56fe\u7247\uff08\u7f29\u7565\u56fe\u3001\u6c34\u5370\u3001\u5ba1\u6838\u7b49\uff09\u53ca\u89c6\u9891\uff0c\u4ee5\u9002\u5e94\u4e0d\u540c\u5ba2\u6237\u7aef\u7684\u64ad\u653e\u9700\u6c42\u3002

\n

\"6.JPG\"

\n

\u5982\u4f55\u5bf9\u4e0a\u4f20\u591a\u5a92\u4f53\u6587\u4ef6\u5b9e\u65f6\u5904\u7406\u5462\uff1f\u8fd9\u4e2a\u573a\u666f\u7684\u6280\u672f\u67b6\u6784\u5927\u4f53\u7ecf\u5386\u4e86\u4ee5\u4e0b\u6f14\u53d8\uff1a

\n

\"7.JPG\"

\n\n

\u57fa\u4e8e\u670d\u52a1\u5668\u7684\u5355\u4f53\u67b6\u6784\u9762\u4e34\u4ee5\u4e0b\u95ee\u9898\uff1a

\n\n

\u57fa\u4e8e\u670d\u52a1\u5668\u7684\u5fae\u670d\u52a1\u67b6\u6784\u5f88\u597d\u5730\u89e3\u51b3\u4e86\u4e0a\u8ff0\u7684\u5927\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u662f\u4ecd\u7136\u9762\u4e34\u4e00\u4e9b\u95ee\u9898\uff1a

\n\n

\u800c\u7b2c\u4e09\u79cd Serverless \u67b6\u6784\u5f88\u597d\u5730\u89e3\u51b3\u4e86\u4e0a\u8ff0\u6240\u6709\u95ee\u9898\u3002\u5f00\u53d1\u4eba\u5458\u539f\u6765\u9700\u8981\u505a\u7684\u8d1f\u8f7d\u5747\u8861\u3001\u670d\u52a1\u5668\u7684\u9ad8\u53ef\u7528\u548c\u5f39\u6027\u4f38\u7f29\u3001\u6d88\u606f\u961f\u5217\u90fd\u8f6c\u79fb\u5230\u4e86\u670d\u52a1\u5185\u90e8\u3002\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u968f\u7740\u67b6\u6784\u7684\u6f14\u8fdb\uff0c\u5f00\u53d1\u4eba\u5458\u505a\u7684\u4e8b\u60c5\u8d8a\u6765\u8d8a\u5c11\uff0c\u7cfb\u7edf\u66f4\u52a0\u6210\u719f\uff0c\u4e1a\u52a1\u4e0a\u66f4\u52a0\u805a\u7126\uff0c\u5927\u5927\u63d0\u5347\u4e86\u4ea4\u4ed8\u901f\u5ea6\u3002

\n

\u8fd9\u91cc\u7684 Serverless \u67b6\u6784\u4e3b\u8981\u4f53\u73b0\u7684\u4ef7\u503c\u662f\uff1a

\n\n

\u4e8b\u4ef6\u89e6\u53d1\u80fd\u529b\u662f FaaS \u670d\u52a1\u7684\u4e00\u4e2a\u91cd\u8981\u7279\u6027\uff0c\u8fd9\u79cd Pub-Sub \u4e8b\u4ef6\u9a71\u52a8\u6a21\u5f0f\u4e0d\u662f\u4e00\u4e2a\u65b0\u7684\u6982\u5ff5\uff0c\u4f46\u662f\u5728 Serverless \u6d41\u884c\u4e4b\u524d\uff0c\u4e8b\u4ef6\u7684\u751f\u4ea7\u8005\u3001\u6d88\u8d39\u8005\u4ee5\u53ca\u4e2d\u95f4\u7684\u8fde\u63a5\u67a2\u7ebd\u90fd\u662f\u7528\u6237\u8d1f\u8d23\u7684\uff0c\u5c31\u50cf\u524d\u9762\u67b6\u6784\u6f14\u8fdb\u4e2d\u7684\u7b2c\u4e8c\u4e2a\u67b6\u6784\u3002

\n

Serverless \u8ba9\u751f\u4ea7\u8005\u53d1\u9001\u4e8b\u4ef6\uff0c\u7ef4\u62a4\u8fde\u63a5\u67a2\u7ebd\u90fd\u4ece\u7528\u6237\u804c\u8d23\u4e2d\u7701\u7565\u4e86\uff0c\u800c\u53ea\u9700\u5173\u6ce8\u6d88\u8d39\u8005\u7684\u903b\u8f91\uff0c\u8fd9\u5c31\u662f Serverless \u7684\u4ef7\u503c\u6240\u5728\u3002

\n

\u51fd\u6570\u8ba1\u7b97\u670d\u52a1\u8fd8\u96c6\u6210\u5176\u5b83\u4e91\u670d\u52a1\u4e8b\u4ef6\u6e90\uff0c\u8ba9\u4f60\u66f4\u65b9\u4fbf\u5730\u5728\u4e1a\u52a1\u4e2d\u4f7f\u7528\u4e00\u4e9b\u5e38\u89c1\u7684\u6a21\u5f0f\uff0c\u5982 Pub/Sub \u3001\u4e8b\u4ef6\u6d41\u6a21\u5f0f\u3001Event Sourcing \u6a21\u5f0f\u3002\u5173\u4e8e\u66f4\u591a\u7684\u51fd\u6570\u7ec4\u5408\u6a21\u5f0f\u53ef\u4ee5\u53c2\u89c1\uff1a\u51fd\u6570\u7ec4\u5408\u7684 N \u79cd\u65b9\u5f0f\u3002

\n

\"8.JPG\"

\n

\u573a\u666f 4: \u670d\u52a1\u7f16\u6392

\n

\u524d\u9762\u7684\u5546\u54c1\u9875\u9762\u867d\u7136\u590d\u6742\uff0c\u4f46\u662f\u6240\u6709\u7684\u64cd\u4f5c\u90fd\u662f\u8bfb\u64cd\u4f5c\uff0c\u805a\u5408\u670d\u52a1 API \u662f\u65e0\u72b6\u6001\u3001\u540c\u6b65\u7684\u3002\u6211\u4eec\u6765\u770b\u4e00\u4e0b\u7535\u5546\u4e2d\u7684\u4e00\u4e2a\u6838\u5fc3\u573a\u666f\u2014\u2014\u8ba2\u5355\u6d41\u7a0b\u3002

\n

\"9.JPG\"

\n

\u8fd9\u4e2a\u573a\u666f\u6d89\u53ca\u5230\u591a\u4e2a\u5206\u5e03\u5f0f\u5199\u7684\u95ee\u9898\uff0c\u8fd9\u662f\u5f15\u5165\u5fae\u670d\u52a1\u67b6\u6784\u5bfc\u81f4\u7684\u6700\u9ebb\u70e6\u7684\u4e00\u4e2a\u95ee\u9898\u3002\u5355\u4f53\u5e94\u7528\u5728\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u53ef\u4ee5\u6bd4\u8f83\u5bb9\u6613\u5730\u5904\u7406\u8fd9\u4e2a\u6d41\u7a0b\uff0c\u56e0\u4e3a\u4f7f\u7528\u4e86\u4e00\u4e2a\u6570\u636e\u5e93\uff0c\u53ef\u4ee5\u901a\u8fc7\u6570\u636e\u5e93\u4e8b\u52a1\u4fdd\u6301\u6570\u636e\u4e00\u81f4\u6027\u3002\u4f46\u662f\u73b0\u5b9e\u4e2d\u53ef\u80fd\u4e0d\u5f97\u4e0d\u53bb\u8ddf\u4e00\u4e9b\u5916\u90e8\u670d\u52a1\u6253\u4ea4\u9053\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u673a\u5236\u4fdd\u8bc1\u6d41\u7a0b\u7684\u524d\u8fdb\u548c\u56de\u9000\u987a\u5229\u5b8c\u6210\uff0c\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u7684\u4e00\u4e2a\u7ecf\u5178\u6a21\u5f0f\u662f Saga \u6a21\u5f0f\uff0c\u800c\u5b9e\u73b0\u8fd9\u79cd\u6a21\u5f0f\u6709\u4e24\u79cd\u4e0d\u540c\u67b6\u6784\uff1a

\n

\u4e00\u79cd\u505a\u6cd5\u662f\u91c7\u7528\u4e8b\u4ef6\u9a71\u52a8\u6a21\u5f0f\uff0c\u9a71\u52a8\u6d41\u7a0b\u5b8c\u6210\u3002\u5728\u8fd9\u4e2a\u67b6\u6784\u91cc\uff0c\u6709\u4e00\u4e2a\u6d88\u606f\u603b\u7ebf\uff0c\u611f\u5174\u8da3\u7684\u670d\u52a1\u5982\u5e93\u5b58\u670d\u52a1\u76d1\u542c\u4e8b\u4ef6\uff0c\u76d1\u542c\u8005\u53ef\u4ee5\u4f7f\u7528\u670d\u52a1\u5668\u6216\u8005\u51fd\u6570\u3002\u501f\u52a9\u4e8e\u51fd\u6570\u8ba1\u7b97\u548c\u6d88\u606f\u4e3b\u9898\u7684\u96c6\u6210\uff0c\u8fd9\u4e2a\u67b6\u6784\u4e5f\u53ef\u4ee5\u5b8c\u5168\u4e0d\u4f7f\u7528\u670d\u52a1\u5668\u3002

\n

\u8fd9\u4e2a\u67b6\u6784\u6a21\u5757\u662f\u677e\u8026\u5408\u7684\uff0c\u804c\u8d23\u6e05\u6670\u3002\u4e0d\u8db3\u4e4b\u5904\u662f\u968f\u7740\u6d41\u7a0b\u53d8\u5f97\u66f4\u957f\u66f4\u52a0\u590d\u6742\uff0c\u8fd9\u4e2a\u7cfb\u7edf\u53d8\u5f97\u96be\u4ee5\u7ef4\u62a4\u3002\u6bd4\u5982\u5f88\u96be\u76f4\u89c2\u5730\u4e86\u89e3\u4e1a\u52a1\u903b\u8f91\uff0c\u6267\u884c\u65f6\u7684\u72b6\u6001\u4e5f\u4e0d\u5b9c\u8ddf\u8e2a\uff0c\u53ef\u8fd0\u7ef4\u6027\u6bd4\u8f83\u5dee\u3002

\n

\"10.gif\"

\n

\u53e6\u5916\u4e00\u79cd\u67b6\u6784\u662f\u57fa\u4e8e\u5de5\u4f5c\u6d41\u7684 Saga \u6a21\u5f0f\u3002\u5728\u8fd9\u4e2a\u67b6\u6784\u91cc\uff0c\u5404\u4e2a\u670d\u52a1\u4e4b\u95f4\u662f\u72ec\u7acb\u7684\uff0c\u4e5f\u4e0d\u901a\u8fc7\u4e8b\u4ef6\u4f20\u9012\u4fe1\u606f\uff0c\u800c\u662f\u6709\u4e00\u4e2a\u96c6\u4e2d\u7684\u534f\u8c03\u8005\u670d\u52a1\u6765\u8c03\u5ea6\u5355\u4e2a\u4e1a\u52a1\u670d\u52a1\uff0c\u4e1a\u52a1\u903b\u8f91\u548c\u72b6\u6001\u7531\u96c6\u4e2d\u534f\u8c03\u8005\u7ef4\u62a4\u3002\u800c\u5b9e\u73b0\u8fd9\u4e2a\u96c6\u4e2d\u7684\u534f\u8c03\u8005\u901a\u5e38\u9762\u4e34\u4ee5\u4e0b\u95ee\u9898\uff1a

\n\n

\u4f9d\u8d56\u4e8e\u4e91\u670d\u52a1\uff0c\u6bd4\u5982\u963f\u91cc\u4e91\u7684 Serverless \u5de5\u4f5c\u6d41\u670d\u52a1\uff0c\u8fd9\u4e9b\u4e8b\u60c5\u90fd\u53ef\u4ee5\u4ea4\u7ed9\u5e73\u53f0\u6765\u505a\uff0c\u7528\u6237\u53c8\u56de\u5230\u4e86\u53ea\u9700\u5173\u6ce8\u4e1a\u52a1\u903b\u8f91\u7684\u72b6\u6001\u3002

\n

\u4e0b\u56fe\u53f3\u4fa7\u662f\u6d41\u7a0b\u5b9a\u4e49\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u8fd9\u5b9e\u73b0\u4e86\u524d\u9762\u57fa\u4e8e\u4e8b\u4ef6\u7684 Saga \u6a21\u5f0f\u7684\u6548\u679c\uff0c\u5e76\u4e14\u6d41\u7a0b\u5927\u5927\u7b80\u5316\uff0c\u63d0\u5347\u4e86\u53ef\u89c2\u6d4b\u6027\u3002

\n

\"11.JPG\"

\n

\u573a\u666f 5: \u6570\u636e\u6d41\u6c34\u7ebf

\n

\u968f\u7740\u4e1a\u52a1\u7684\u8fdb\u4e00\u6b65\u53d1\u5c55\uff0c\u6570\u636e\u53d8\u5f97\u8d8a\u6765\u8d8a\u591a\uff0c\u8fd9\u65f6\u5019\u5c31\u53ef\u4ee5\u6316\u6398\u6570\u636e\u7684\u4ef7\u503c\u3002\u6bd4\u5982\uff0c\u5206\u6790\u7528\u6237\u5bf9\u7f51\u7ad9\u7684\u4f7f\u7528\u884c\u4e3a\u5e76\u505a\u76f8\u5e94\u7684\u63a8\u8350\u3002\u4e00\u4e2a\u6570\u636e\u6d41\u6c34\u7ebf\u5305\u62ec\u6570\u636e\u91c7\u96c6\u3001\u5904\u7406\u3001\u5206\u6790\u7b49\u591a\u4e2a\u73af\u8282\u3002\u8fd9\u6837\u7684\u670d\u52a1\u5982\u679c\u4ece\u5934\u642d\u5efa\u867d\u7136\u662f\u53ef\u884c\u7684\uff0c\u4f46\u662f\u4e5f\u662f\u590d\u6742\u7684\uff0c\u6211\u4eec\u8fd9\u91cc\u8ba8\u8bba\u7684\u4e1a\u52a1\u662f\u7535\u5546\uff0c\u800c\u4e0d\u662f\u53bb\u63d0\u4f9b\u4e00\u4e2a\u6570\u636e\u6d41\u6c34\u7ebf\u670d\u52a1\u3002\u6709\u4e86\u8fd9\u6837\u4e00\u4e2a\u76ee\u6807\uff0c\u6211\u4eec\u505a\u9009\u62e9\u65f6\u5c31\u4f1a\u53d8\u5f97\u7b80\u5355\u660e\u786e\u3002

\n\n

\u603b\u7ed3

\n

\u9650\u4e8e\u7bc7\u5e45\uff0c\u6211\u4eec\u53ea\u8ba8\u8bba\u4e86 Serverless \u67b6\u6784\u5728\u51e0\u4e2a\u573a\u666f\u4e2d\u7684\u5e94\u7528\uff0c\u4f46\u662f\u5728\u5b9e\u8df5\u4e2d\u6211\u4eec\u53ef\u4ee5\u770b\u51fa\u4e00\u79cd\u5171\u6027\uff0c\u5373\u5982\u4f55\u5c06\u4e1a\u52a1\u903b\u8f91\u4e2d\u4e0e\u4e1a\u52a1\u4e0d\u76f8\u5173\u7684\u5de5\u4f5c\u5265\u79bb\u51fa\u53bb\uff0c\u4ea4\u7ed9\u5e73\u53f0\u548c\u670d\u52a1\u5b8c\u6210\u3002\u8fd9\u79cd\u5404\u53f8\u5176\u804c\u3001\u5206\u5de5\u534f\u4f5c\u7684\u505a\u6cd5\u5728\u5176\u5b83\u573a\u5408\u5e76\u4e0d\u964c\u751f\uff0c\u4f46\u662f Serverless \u7684\u601d\u60f3\u8ba9\u8fd9\u79cd\u5f62\u6001\u66f4\u4e3a\u660e\u786e\u3002Less is more\uff0c\u5c11\u7684\u4e0d\u53ea\u662f Server \u548c\u56f4\u7ed5 Server \u76f8\u5173\u7684\u8d1f\u62c5\uff0c\u8fd8\u53ef\u4ee5\u662f\u4e1a\u52a1\u4ee5\u5916\u7684\u65b9\u65b9\u9762\u9762\uff0c\u591a\u7684\u662f\u4e13\u6ce8\u7684\u4e1a\u52a1\u548c\u4ea7\u54c1\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/735936", "title": "\u4eba\u529b\u8282\u7701 50%\uff0c\u7814\u53d1\u6548\u80fd\u63d0\u5347 40%\uff0c\u963f\u91cc Serverless \u67b6\u6784\u843d\u5730\u5b9e\u8df5", "id": "t/735936", "date_published": "2020-12-16T03:25:20+00:00", "content_html": "

\"6.12.jpg\"

\n

\u4f5c\u8005 | \u4e07\u4f73\n\u5609\u5bbe | \u6768\u7693\u7136\uff08\u4e0d\u778b\uff09

\n

\u5bfc\u8bfb\uff1a\u4e91\u7684\u4e0b\u4e00\u6ce2\u6d6a\u6f6e\u662f\u4ec0\u4e48\uff1f\u6768\u7693\u7136\u79f0\u201c\u662f Serverless\u201d\u3002\u4f5c\u4e3a\u4e00\u540d\u963f\u91cc\u8001\u5175\uff0c\u4ed6\u65e9\u5728 2010 \u5e74\u5373\u52a0\u5165\u963f\u91cc\u4e91\uff0c\u66fe\u6df1\u5ea6\u53c2\u4e0e\u963f\u91cc\u4e91\u98de\u5929\u5206\u5e03\u5f0f\u7cfb\u7edf\u7814\u53d1\u548c\u4ea7\u54c1\u8fed\u4ee3\u7684\u5168\u8fc7\u7a0b\u3002\u5982\u4eca\uff0c\u6768\u7693\u7136\u662f\u963f\u91cc\u4e91 Serverless \u8d1f\u8d23\u4eba\u3002Serverless \u6709\u54ea\u4e9b\u5178\u578b\u7684\u5e94\u7528\u573a\u666f\uff1f Serverless \u5728\u7814\u53d1\u6548\u80fd\u4e0a\u53ef\u4ee5\u53d1\u6325\u600e\u6837\u7684\u4f5c\u7528\uff1f Serverless \u5728\u963f\u91cc\u5185\u90e8\u6709\u54ea\u4e9b\u5b9e\u8df5\uff1f\u5b83\u7684\u53d1\u5c55\u8d8b\u52bf\u662f\u4ec0\u4e48\uff1f\u5e26\u7740\u8fd9\u4e9b\u95ee\u9898\uff0cInfoQ \u8bb0\u8005\u8fd1\u65e5\u91c7\u8bbf\u4e86\u963f\u91cc\u4e91 Serverless \u8d1f\u8d23\u4eba\u6768\u7693\u7136\u3002

\n

Serverless \u8d70\u5411\u7e41\u8363

\n

Serverless \u9996\u6b21\u51fa\u73b0\u4e8e 2012 \u5e74\uff0c\u4e2d\u6587\u5373\u201c\u65e0\u670d\u52a1\u5668\u67b6\u6784\u201d\u3002\u5b83\u7684\u51fa\u73b0\u5c06\u4e3b\u673a\u7ba1\u7406\u3001\u64cd\u4f5c\u7cfb\u7edf\u7ba1\u7406\u3001\u8d44\u6e90\u5206\u914d\u3001\u6269\u5bb9\uff0c\u751a\u81f3\u5e94\u7528\u903b\u8f91\u7684\u5168\u90e8\u7ec4\u4ef6\u90fd\u96c6\u6210\u4e3a\u670d\u52a1\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u66f4\u76f4\u63a5\u5730\u5c06\u5927\u90e8\u5206\u540e\u53f0\u80fd\u529b\u4f5c\u4e3a\u4e00\u4e2a\u80fd\u529b\u63a5\u53e3\u6765\u4f7f\u7528\u3002\u5c06\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7684\u80fd\u529b\u4f7f\u7528\u6539\u4e3a\u670d\u52a1\u4f7f\u7528\uff0c\u901a\u8fc7\u6784\u5efa\u6216\u4f7f\u7528\u4e00\u4e2a\u5fae\u670d\u52a1\u6216\u5fae\u529f\u80fd\u6765\u54cd\u5e94\u4e8b\u4ef6\u3002

\n

\u4ece\u7406\u5ff5\u7a7a\u8c08\u5230\u5b9e\u8df5\u843d\u5730\uff0cServerless \u5f00\u59cb\u8d70\u5411\u7e41\u8363\u3002

\n

\u6839\u636e O'Reilly 2019 \u5e74 12 \u6708\u53d1\u5e03\u7684 Serverless \u4f7f\u7528\u8c03\u7814\u62a5\u544a\u663e\u793a\uff0c\u5df2\u6709 40% \u7684\u53d7\u8bbf\u8005\u6240\u5728\u7684\u7ec4\u7ec7\u91c7\u7528\u4e86 Serverless\uff0c\u5e76\u4e14\u4f7f\u7528 Serverless \u6280\u672f\u7684\u884c\u4e1a\u4e5f\u5341\u5206\u5e7f\u6cdb\u3002\u5c24\u5176\u503c\u5f97\u5173\u6ce8\u7684\u662f\uff0c\u6709\u8d85\u8fc7 50% \u7684\u53d7\u8bbf\u8005\u5728\u4e00\u81f3\u4e09\u5e74\u5185\u91c7\u7528 Serverless\uff0c\u800c 15% \u7684\u53d7\u8bbf\u8005\u5728\u4e09\u5e74\u524d\u5c31\u5df2\u7ecf\u5f00\u59cb\u4f7f\u7528 Serverless \u3002

\n

\u5728\u6768\u7693\u7136\u770b\u6765\uff0c\u201cServerless \u7684\u7e41\u8363\u201d\u662f\u5fc5\u7136\u7684\uff1a

\n
    \n
  1. \n

    \u9996\u5148\uff0c\u4ece\u7528\u6237\u9700\u6c42\u89d2\u5ea6\u770b\uff0c\u5728\u6570\u5b57\u5316\u8f6c\u578b\u65f6\u4ee3\uff0c\u4f01\u4e1a\u9762\u4e34\u5de8\u5927\u7684\u7ade\u4e89\u538b\u529b\u548c\u4e0d\u786e\u5b9a\u6027\uff0c\u201c\u4ea7\u54c1 time-to-market \u7684\u80fd\u529b\u6bd4\u4efb\u4f55\u65f6\u5019\u90fd\u91cd\u8981\u201d\u3002

    \n
  2. \n
  3. \n

    \u5176\u6b21\uff0c\u4ece\u6280\u672f\u53d1\u5c55\u7684\u8d8b\u52bf\u770b\uff0c\u4e91\u7684\u4ea7\u54c1\u4f53\u7cfb\u53ca\u5176\u751f\u6001\u6b63\u5728\u8fc5\u901f Serverles \u5316\u3002\u4e91\u670d\u52a1\u5546\u5728\u5b58\u50a8\u3001\u6570\u636e\u5e93\u3001\u4e2d\u95f4\u4ef6\u3001\u5927\u6570\u636e\u3001AI \u7b49\u9886\u57df\u63d0\u4f9b\u4e86\u5927\u91cf\u5168\u6258\u7ba1\u3001Serverless \u5f62\u6001\u7684\u4e91\u670d\u52a1\u3002\u540c\u65f6\uff0cAPI \u7ecf\u6d4e\u4e5f\u9a71\u4f7f\u5f00\u53d1\u8005\u63d0\u4f9b\u4e86\u5927\u91cf Serverless \u5f62\u6001\u7684 API \u540e\u7aef\u670d\u52a1\u3002

    \n
  4. \n
\n

\u6768\u7693\u7136\u8bf4\uff0c\u201c\u5728\u8fd9\u6837\u7684\u80cc\u666f\u4e0b\uff0cServerless \u8ba1\u7b97\u5e94\u8fd0\u800c\u751f\uff0c\u501f\u52a9\u4e91\u7684 Serverless \u4ea7\u54c1\u4f53\u7cfb\u7684\u80fd\u529b\uff0c\u5c4f\u853d\u57fa\u7840\u8bbe\u65bd\u7684\u590d\u6742\u5ea6\uff0c\u5e2e\u52a9\u7528\u6237\u4ee5\u642d\u79ef\u6728\u7684\u65b9\u5f0f\u6784\u5efa\u5f39\u6027\u3001\u53ef\u9760\u3001\u4f4e\u6210\u672c\u7684\u7cfb\u7edf\u6216\u5e94\u7528\u3002\u201d

\n

\"1.png\"

\n

Serverless \u7684\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5c06\u540c\u8d28\u5316\u7684\u3001\u8d1f\u62c5\u7e41\u91cd\u7684\u57fa\u4e8e\u670d\u52a1\u5668\u7b49\u57fa\u7840\u8bbe\u65bd\u7684\u5f00\u53d1\u548c\u8fd0\u7ef4\u7b49\u5de5\u4f5c\u4ece\u5e94\u7528\u5f00\u53d1\u4e2d\u79fb\u9664\uff0c\u8ba9\u7528\u6237\u805a\u7126\u4e8e\u4e1a\u52a1\u521b\u65b0\u3002\u76f8\u6bd4\u4f20\u7edf\u7684\u5f00\u53d1\u6a21\u5f0f\uff0cServerless \u6a21\u5f0f\u57fa\u4e8e\u5927\u91cf\u6210\u719f\u7684\u4e91\u670d\u52a1\u80fd\u529b\u6784\u5efa\u5e94\u7528\uff0c\u5ba2\u6237\u7684\u51b3\u7b56\u70b9\u66f4\u5c11\uff0c\u5b9e\u65bd\u590d\u6742\u5ea6\u66f4\u4f4e\u3002

\n

\u56e0\u6b64\uff0c\u5bf9\u4f01\u4e1a\u800c\u8a00\uff0cServerless \u67b6\u6784\u6709\u7740\u5de8\u5927\u7684\u5e94\u7528\u6f5c\u529b\u3002\u6768\u7693\u7136\u79f0\uff0c\u201c\u968f\u7740\u4e91\u4ea7\u54c1\u7684\u5b8c\u5584\uff0c\u4ea7\u54c1\u7684\u96c6\u6210\u548c\u88ab\u96c6\u6210\u80fd\u529b\u7684\u52a0\u5f3a\uff0c\u8f6f\u4ef6\u4ea4\u4ed8\u6d41\u7a0b\u81ea\u52a8\u5316\u80fd\u529b\u7684\u63d0\u9ad8\uff0c\u6211\u4eec\u76f8\u4fe1\u5728 Serverless \u67b6\u6784\u4e0b\uff0c\u4f01\u4e1a\u7684\u654f\u6377\u6027\u6709 10 \u500d\u63d0\u5347\u7684\u6f5c\u529b\u3002\u201d

\n

\u6b64\u5916\uff0cServerless \u8fd8\u80fd\u5e2e\u52a9\u7528\u6237\u5927\u5e45\u5ea6\u63d0\u5347\u8d44\u6e90\u5229\u7528\u7387\uff0c\u964d\u4f4e\u6210\u672c\uff0c\u5e76\u5b9e\u73b0\u66f4\u597d\u7684\u53ef\u9760\u6027\u3002

\n

\"2.png\"

\n

\u4e0d\u8fc7\uff0c\u4ed6\u4e5f\u5766\u7136\u6307\u51fa\uff1a

\n

Serverless \u6700\u5927\u7684\u6311\u6218\u5728\u4e8e\u5de5\u5177\u94fe\u4e0d\u591f\u6210\u719f\uff0c\u4ea7\u54c1\u9650\u5236\u8f83\u591a\u548c\u9002\u7528\u573a\u666f\u4e0d\u591f\u5e7f\u6cdb\u3002\u4f46\u662f\uff0c\u8fd9\u4e9b\u95ee\u9898\u4f1a\u968f\u7740\u4ea7\u54c1\u80fd\u529b\u7684\u63d0\u5347\u800c\u4e0d\u65ad\u6539\u5584\u3002\u5728\u5782\u76f4\u9886\u57df\uff0c\u6bd4\u5982\u524d\u7aef\u5168\u6808\u573a\u666f\uff0c\u5df2\u7ecf\u51fa\u73b0\u9488\u5bf9 Serverless \u67b6\u6784\u4f18\u5316\u7684\u5e94\u7528\u6846\u67b6\uff0c\u8fdb\u4e00\u6b65\u964d\u4f4e\u7528\u6237\u7684\u4f7f\u7528\u95e8\u69db\uff0c\u63d0\u9ad8\u7814\u53d1\u6548\u7387\u3002

\n

Serverless \u7684\u5178\u578b\u5e94\u7528\u573a\u666f

\n

1. \u5c0f\u7a0b\u5e8f /Web/Mobile/API \u540e\u7aef\u670d\u52a1

\n

\u5728\u5c0f\u7a0b\u5e8f /Web/Mobile/API \u573a\u666f\u4e2d\uff0c\u4e1a\u52a1\u903b\u8f91\u590d\u6742\u591a\u53d8\uff0c\u8fed\u4ee3\u4e0a\u7ebf\u901f\u5ea6\u8981\u6c42\u9ad8\uff0c\u5e76\u4e14\u8fd9\u7c7b\u5728\u7ebf\u5e94\u7528\u8d44\u6e90\u5229\u7528\u7387\u901a\u5e38\u5c0f\u4e8e 30%\uff0c\u5c24\u5176\u662f\u5c0f\u7a0b\u5e8f\u7b49\u957f\u5c3e\u5e94\u7528\uff0c\u8d44\u6e90\u5229\u7528\u7387\u66f4\u662f\u4f4e\u4e8e 10%\u3002Serverless \u8ba1\u7b97\u7684\u514d\u8fd0\u7ef4\u3001\u6309\u9700\u4ed8\u8d39\u7684\u7279\u70b9\u975e\u5e38\u9002\u5408\u6784\u5efa\u5c0f\u7a0b\u5e8f /Web/Mobile/API \u540e\u7aef\u7cfb\u7edf\uff0c\u901a\u8fc7\u9884\u7559\u8ba1\u7b97\u8d44\u6e90 + \u5b9e\u65f6\u81ea\u52a8\u4f38\u7f29\uff0c\u5f00\u53d1\u8005\u80fd\u591f\u5feb\u901f\u6784\u5efa\u5ef6\u65f6\u7a33\u5b9a\u3001\u80fd\u627f\u8f7d\u9ad8\u9891\u8bbf\u95ee\u7684\u5728\u7ebf\u5e94\u7528\u3002

\n

\u636e\u6768\u7693\u7136\u4ecb\u7ecd\uff0c\u5728\u963f\u91cc\u5185\u90e8\uff0c\u4f7f\u7528 Serverless \u6784\u5efa\u540e\u7aef\u670d\u52a1\u662f\u843d\u5730\u6700\u591a\u7684\u573a\u666f\uff0c\u5305\u62ec\u524d\u7aef\u5168\u6808\u9886\u57df\u7684 Serverless For Frontends \u3001\u673a\u5668\u5b66\u4e60\u7b97\u6cd5\u670d\u52a1\u3001\u5c0f\u7a0b\u5e8f\u5e73\u53f0\u5b9e\u73b0\u7b49\u7b49\u3002

\n

2. \u6267\u884c\u5927\u89c4\u6a21\u6279\u5904\u7406\u4efb\u52a1

\n

\u5178\u578b\u7684\u79bb\u7ebf\u4efb\u52a1\u6279\u5904\u7406\u4efb\u52a1\u7cfb\u7edf\uff0c\u4f8b\u5982\u5927\u89c4\u6a21\u97f3\u89c6\u9891\u6587\u4ef6\u8f6c\u7801\u670d\u52a1\uff0c\u5305\u542b\u8ba1\u7b97\u8d44\u6e90\u7ba1\u7406\u3001\u4efb\u52a1\u4f18\u5148\u7ea7\u8c03\u5ea6\u3001\u4efb\u52a1\u7f16\u6392\u3001\u4efb\u52a1\u53ef\u9760\u6267\u884c\u3001\u4efb\u52a1\u6570\u636e\u53ef\u89c6\u5316\u7b49\u4e00\u7cfb\u5217\u529f\u80fd\u3002\u5982\u679c\u4ece\u673a\u5668\u6216\u5bb9\u5668\u5c42\u6b21\u5f00\u59cb\u6784\u5efa\uff0c\u7528\u6237\u901a\u5e38\u4f7f\u7528\u6d88\u606f\u961f\u5217\u8fdb\u884c\u4efb\u52a1\u4fe1\u606f\u7684\u6301\u4e45\u5316\u548c\u8ba1\u7b97\u8d44\u6e90\u7684\u5206\u914d\uff0c\u4f7f\u7528 K8s \u7b49\u5bb9\u5668\u7f16\u6392\u7cfb\u7edf\u5b9e\u73b0\u8d44\u6e90\u7684\u4f38\u7f29\u548c\u5bb9\u9519\uff0c\u81ea\u52a8\u642d\u5efa\u6216\u96c6\u6210\u76d1\u63a7\u62a5\u8b66\u7cfb\u7edf\u3002

\n

\u5982\u679c\u4efb\u52a1\u6d89\u53ca\u591a\u4e2a\u6b65\u9aa4\uff0c\u8fd8\u9700\u8981\u6574\u5408\u5de5\u4f5c\u6d41\u670d\u52a1\u5b9e\u73b0\u53ef\u9760\u6b65\u9aa4\u6267\u884c\uff0c\u800c\u901a\u8fc7 Serverless \u8ba1\u7b97\u5e73\u53f0\uff0c\u7528\u6237\u53ea\u9700\u8981\u4e13\u6ce8\u4e8e\u5b9e\u73b0\u4efb\u52a1\u5904\u7406\u903b\u8f91\u3002\u540c\u65f6\uff0cServerless \u8ba1\u7b97\u7684\u6781\u81f4\u5f39\u6027\u80fd\u5f88\u597d\u5730\u6ee1\u8db3\u7a81\u53d1\u4efb\u52a1\u5bf9\u7b97\u529b\u7684\u9700\u6c42\u3002

\n

3. \u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u67b6\u6784\u7684\u5728\u7ebf\u5e94\u7528\u548c\u79bb\u7ebf\u6570\u636e\u5904\u7406

\n

Serverless \u8ba1\u7b97\u670d\u52a1\u901a\u8fc7\u4e8b\u4ef6\u9a71\u52a8\u65b9\u5f0f\u5e7f\u6cdb\u7684\u4e0e\u4e91\u7aef\u5404\u79cd\u7c7b\u578b\u670d\u52a1\u96c6\u6210\uff0c\u7528\u6237\u65e0\u9700\u7ba1\u7406\u670d\u52a1\u5668\u7b49\u57fa\u7840\u8bbe\u65bd\u548c\u7f16\u5199\u96c6\u6210\u591a\u4e2a\u670d\u52a1\u7684\u201c\u80f6\u6c34\u4ee3\u7801\u201d\uff0c\u8f7b\u677e\u6784\u5efa\u677e\u8026\u5408\u3001\u5206\u5e03\u5f0f\u7684\u4e8b\u4ef6\u9a71\u52a8\u67b6\u6784\u7684\u5e94\u7528\u3002

\n

\u4ee5\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u4e3a\u4f8b\uff0c\u901a\u8fc7 API \u7f51\u5173\u548c\u51fd\u6570\u8ba1\u7b97\u7684\u96c6\u6210\uff0c\u7528\u6237\u53ef\u4ee5\u5feb\u901f\u5b9e\u73b0 API \u540e\u7aef\u670d\u52a1\u3002\u901a\u8fc7\u5bf9\u8c61\u5b58\u50a8\u548c\u51fd\u6570\u8ba1\u7b97\u7684\u4e8b\u4ef6\u96c6\u6210\uff0c\u51fd\u6570\u80fd\u5b9e\u65f6\u54cd\u5e94\u5bf9\u8c61\u521b\u5efa\u3001\u5220\u9664\u7b49\u4e8b\u4ef6\uff0c\u5b9e\u73b0\u4ee5\u5bf9\u8c61\u5b58\u50a8\u4e3a\u4e2d\u5fc3\u7684\u5927\u89c4\u6a21\u6570\u636e\u5904\u7406\u3002\u901a\u8fc7\u6d88\u606f\u4e2d\u95f4\u4ef6\u548c\u51fd\u6570\u8ba1\u7b97\u7684\u4e8b\u4ef6\u96c6\u6210\uff0c\u7528\u6237\u80fd\u5feb\u901f\u5b9e\u73b0\u6d77\u91cf\u6d88\u606f\u7684\u5904\u7406\u3002\u901a\u8fc7\u548c\u963f\u91cc\u4e91 EventBridge \u7684\u96c6\u6210\uff0c\u65e0\u8bba\u662f\u4e00\u65b9\u4e91\u670d\u52a1\uff0c\u8fd8\u662f\u4e09\u65b9\u7684 SaaS \u670d\u52a1\uff0c\u6216\u8005\u662f\u7528\u6237\u81ea\u5efa\u7684\u7cfb\u7edf\uff0c\u6240\u6709\u7684\u4e8b\u4ef6\u90fd\u53ef\u4ee5\u5feb\u901f\u4fbf\u6377\u7684\u88ab\u51fd\u6570\u8ba1\u7b97\u5904\u7406\u3002

\n

4. \u8fd0\u7ef4\u81ea\u52a8\u5316

\n

\u901a\u8fc7\u5b9a\u65f6\u89e6\u53d1\u5668\uff0c\u7528\u6237\u80fd\u591f\u7528\u51fd\u6570\u5feb\u901f\u5b9e\u73b0\u5b9a\u65f6\u4efb\u52a1\uff0c\u800c\u65e0\u9700\u7ba1\u7406\u6267\u884c\u4efb\u52a1\u7684\u5e95\u5c42\u670d\u52a1\u5668\u3002\u901a\u8fc7\u4e91\u76d1\u63a7\u89e6\u53d1\u5668\uff0c\u7528\u6237\u53ef\u4ee5\u63a5\u6536 ECS \u91cd\u542f / \u5b95\u673a\u3001OSS \u5bf9\u8c61\u5b58\u50a8\u6d41\u63a7\u7b49 IaaS \u5c42\u670d\u52a1\u7684\u8fd0\u7ef4\u4e8b\u4ef6\uff0c\u5e76\u81ea\u52a8\u89e6\u53d1\u51fd\u6570\u5904\u7406\u3002

\n

Serverless \u5bf9\u7814\u53d1\u6548\u80fd\u7684\u53d8\u9769\u548c\u521b\u65b0

\n

Serverless \u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u79cd\u65b0\u7684\u5e94\u7528\u6784\u5efa\u65b9\u5f0f\u3002\u57fa\u4e8e\u5927\u91cf\u6210\u719f\u4e91\u670d\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u50cf\u642d\u79ef\u6728\u4e00\u6837\u6784\u5efa\u5f39\u6027\u9ad8\u53ef\u7528\u7684\u5e94\u7528\u3002\u6bd4\u5982\uff0c\u501f\u52a9\u5bf9\u8c61\u5b58\u50a8\u548c\u51fd\u6570\u8ba1\u7b97\u7684\u96c6\u6210\uff0c\u7528\u6237\u80fd\u5feb\u901f\u5b9e\u73b0\u5927\u89c4\u6a21\u6570\u636e\u7684\u5e76\u884c\u5904\u7406\uff0c\u800c\u65e0\u9700\u4ece\u5934\u6784\u5efa\u548c\u8fd0\u7ef4\u5e95\u5c42\u8ba1\u7b97\u548c\u5b58\u50a8\u5e73\u53f0\uff0c\u4ece\u800c\u5927\u5927\u51cf\u5c11\u4e86\u7814\u53d1\u4eba\u5458\u7684\u5fc3\u667a\u8d1f\u62c5\uff0c\u63d0\u9ad8\u6548\u7387\u3002

\n

\u6b64\u5916\uff0cServerless \u8ba1\u7b97\u5f88\u597d\u5730\u652f\u6491\u4e86\u201c\u57fa\u7840\u8bbe\u65bd\u5373\u4ee3\u7801\u201d\u7684\u6a21\u5f0f\uff0c\u63d0\u4f9b\u4e86\u5927\u91cf\u914d\u5957\u5de5\u5177\uff0c\u8ba9\u8f6f\u4ef6\u4ea4\u4ed8\u6d41\u6c34\u7ebf\u7684\u6bcf\u4e2a\u73af\u8282\u90fd\u9ad8\u5ea6\u81ea\u52a8\u5316\uff0c\u5e2e\u52a9\u5f00\u53d1\u4eba\u5458\u80fd\u591f\u805a\u7126\u66f4\u5177\u521b\u65b0\u6027\u7684\u5de5\u4f5c\uff0c\u63d0\u9ad8\u7814\u53d1\u6548\u80fd\u3002

\n

Serverless \u5728\u963f\u91cc\u5185\u90e8\u7684\u5b9e\u8df5

\n

\u636e\u6768\u7693\u7136\u4ecb\u7ecd\uff0c\u963f\u91cc\u76ee\u524d\u5df2\u7ecf\u5728\u524d\u7aef\u5168\u6808\u3001\u5927\u89c4\u6a21\u6279\u5904\u7406\u4efb\u52a1\u6267\u884c\u3001\u673a\u5668\u5b66\u4e60\u7b97\u6cd5\u670d\u52a1\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u7b49\u9886\u57df\u5e7f\u6cdb\u91c7\u7528 Serverless \u67b6\u6784\uff0c\u6210\u672c\u548c\u7814\u53d1\u6548\u80fd\u6536\u76ca\u660e\u663e\u3002

\n

\u524d\u7aef\u5168\u6808\u9886\u57df

\n

\u963f\u91cc\u63d0\u51fa SFF \uff08 Serverless For Frontends \uff09\u67b6\u6784\u3002SFF \u53ef\u4ee5\u5229\u7528 Serverless \u7684\u5f39\u6027\u6269\u7f29\u5bb9\u80fd\u529b\uff0c\u51cf\u5c11\u7814\u53d1\u5bf9\u57fa\u7840\u8bbe\u65bd\u548c\u8fd0\u7ef4\u7684\u5173\u6ce8\u3002\u5bf9\u524d\u7aef\u5f00\u53d1\u8005\u800c\u8a00\uff0c\u4ed6\u4eec\u53ea\u9700\u5199\u51e0\u4e2a\u51fd\u6570\u5373\u53ef\u5b9e\u73b0\u540e\u7aef\u4e1a\u52a1\u903b\u8f91\uff0c\u63a8\u52a8\u4e1a\u52a1\u5feb\u901f\u4e0a\u7ebf\u3002

\n

\u4ee5\u6dd8\u5b9d\u4e3a\u4f8b\uff0c\u6dd8\u5b9d\u7684\u5185\u5bb9\u5bfc\u8d2d\u9891\u9053\u4f7f\u7528 SFF \u67b6\u6784\u5e73\u7a33\u652f\u6491\u53cc\u5341\u4e00\u5927\u4fc3\u3002\u6b64\u524d\uff0c\u5bfc\u8d2d\u4e1a\u52a1\u9762\u4e34\u7684\u95ee\u9898\u6709\u4e24\u4e2a\uff1a

\n

\u4e00\u662f\u5bfc\u8d2d\u4e1a\u52a1\u66f4\u65b0\u8fed\u4ee3\u9891\u7e41\uff0c\u6bcf\u6b21\u66f4\u65b0\u540e\u90fd\u9700\u8981\u524d\u540e\u7aef\u540c\u5b66\u7684\u5171\u540c\u914d\u5408\uff0c\u8fd9\u5c31\u5e26\u6765\u5f88\u5927\u7684\u6c9f\u901a\u6210\u672c\uff1b\u4e8c\u662f\u5bfc\u8d2d\u9891\u9053\u627f\u8f7d\u6dd8\u5b9d\u4e1a\u52a1\u6838\u5fc3\u94fe\u8def\u6d41\u91cf\uff0c\u6bcf\u6b21\u5927\u4fc3\u524d\u90fd\u8981\u63d0\u524d\u9884\u7559\u5927\u91cf\u8ba1\u7b97\u8d44\u6e90\uff0c\u5e26\u6765\u5f88\u5927\u7684\u8fd0\u7ef4\u4ee3\u4ef7\u3002

\n

\u6dd8\u5b9d\u4f7f\u7528 SFF \u67b6\u6784\u540e\uff0c\u9891\u9053\u7684\u4e1a\u52a1\u903b\u8f91\u7531\u51fd\u6570\u627f\u63a5\uff0c\u6bcf\u4e2a\u4e1a\u52a1\u5bf9\u5e94\u72ec\u7acb\u7684\u5165\u53e3\u51fd\u6570\uff0c\u51fd\u6570\u8c03\u7528\u4e0b\u5c42\u4e2d\u95f4\u4ef6\u83b7\u53d6\u6570\u636e\uff0c\u901a\u8fc7\u6570\u636e\u7ec4\u88c5\u4e0e\u88c1\u526a\u8ba1\u7b97\u4e1a\u52a1\u6570\u636e\uff0c\u5e76\u8fd4\u56de\u7ed9\u524d\u7aef\u3002Serverless \u5f39\u6027\u514d\u8fd0\u7ef4\u7684\u7279\u6027\u8ba9\u524d\u7aef\u5de5\u7a0b\u5e08\u6709\u80fd\u529b\u72ec\u7acb\u8d1f\u8d23\u6574\u6761\u4e1a\u52a1\u94fe\u8def\uff0c\u5168\u7a0b\u4e0d\u9700\u8981\u540e\u7aef\u5de5\u7a0b\u5e08\u53c2\u4e0e\uff0c\u964d\u4f4e\u4e86\u524d\u540e\u7aef\u7684\u8054\u8c03\u6210\u672c\uff0c\u6d88\u9664\u4e86\u8fd0\u7ef4\u4ee3\u4ef7\u3002

\n

\u636e\u6089\uff0c\u6dd8\u5b9d\u5728\u4f7f\u7528 SFF \u67b6\u6784\u540e\uff0c\u9879\u76ee\u4eba\u529b\u8282\u7701 50%\uff0c\u7814\u53d1\u6548\u80fd\u63d0\u5347 40%\u3002

\n

\u6768\u7693\u7136\u79f0\uff0c\u201c\u963f\u91cc\u5df4\u5df4\u7ecf\u6d4e\u4f53\u524d\u7aef\u59d4\u5458\u4f1a\u4e5f\u5728\u79ef\u6781\u63a2\u7d22\u9488\u5bf9 Serverless \u4f18\u5316\u7684\u65b0\u6846\u67b6\u3001\u65b0\u5de5\u5177\uff0c\u589e\u5f3a\u7684 Nodejs \u8fd0\u884c\u65f6\u7b49\uff0c\u63a8\u52a8\u66f4\u591a\u4e1a\u52a1\u573a\u666f\u843d\u5730\u3002\u4eca\u5e74\uff0cServerless \u65e0\u7591\u5c06\u6210\u4e3a\u524d\u7aef\u5168\u6808\u9886\u57df\u7684\u70ed\u70b9\u3002\u201d

\n

\u9664\u4e86\u524d\u7aef\u5168\u6808\u9886\u57df\uff0c\u963f\u91cc\u5185\u90e8\u8fd8\u5927\u91cf\u4f7f\u7528 Serverless \u67b6\u6784\u5b9e\u73b0\u8d1f\u8f7d\u6709\u660e\u663e\u6ce2\u5cf0\u6ce2\u8c37\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u5e94\u7528\uff0c\u5305\u62ec\u97f3\u89c6\u9891\u5904\u7406\u3001\u57fa\u4e8e headless chrome \u7684\u524d\u7aef\u81ea\u52a8\u5316\u6d4b\u8bd5\u7b49\uff0c\u201c\u6bcf\u5929\u7684\u8d44\u6e90\u7528\u91cf\u8fbe\u5230\u6570\u4e07\u6838\u5c0f\u65f6\u89c4\u6a21\u201d\u3002

\n

\u6b64\u5916\uff0c\u963f\u91cc\u4e91\u6570\u636e\u5e93\u81ea\u6cbb\u670d\u52a1\uff08 DAS \uff09\u8981\u5b8c\u6210\u51e0\u5341\u4e07\u6570\u636e\u5e93\u5b9e\u4f8b\u7684\u6307\u6807\u5206\u6790\u548c\u9884\u6d4b\uff0c\u5bf9\u8d44\u6e90\u7684\u5f39\u6027\u548c\u53ef\u9760\u6027\u6709\u6781\u9ad8\u7684\u8981\u6c42\u3002\u5b83\u4f7f\u7528\u51fd\u6570\u8ba1\u7b97\u8fd0\u884c\u5728\u7ebf\u548c\u79bb\u7ebf\u7684\u673a\u5668\u5b66\u4e60\u7b97\u6cd5\u5e94\u7528\uff0c\u80fd\u591f\u8f7b\u677e\u5e94\u5bf9\u6d41\u91cf\u6d2a\u5cf0\u3002\u800c\u5f00\u53d1\u4eba\u5458\u4e13\u6ce8\u4e8e\u7b97\u6cd5\u7684\u8bbe\u8ba1\u3001\u5b9e\u73b0\u548c\u8c03\u4f18\uff0c\u5927\u5e45\u63d0\u9ad8\u4ea7\u54c1\u7684\u8fed\u4ee3\u901f\u5ea6\u3002

\n

\u9488\u5bf9 Serverless \u7684\u53d1\u5c55\uff0c\u6768\u7693\u7136\u8ba4\u4e3a\uff1aServerless \u8fd1\u5e74\u6765\u4e00\u76f4\u5728\u9ad8\u901f\u53d1\u5c55\uff0c\u5448\u73b0\u51fa\u8d8a\u6765\u8d8a\u5927\u7684\u5f71\u54cd\u529b\u3002\u540c\u65f6\uff0c\u4e3b\u6d41\u7684\u4e91\u670d\u52a1\u5546\u4e5f\u5728\u4e0d\u65ad\u4e30\u5bcc\u4e91\u4ea7\u54c1\u4f53\u7cfb\uff0c\u63d0\u9ad8\u66f4\u597d\u7684\u5f00\u53d1\u5de5\u5177\u3001\u66f4\u9ad8\u6548\u7684\u5e94\u7528\u4ea4\u4ed8\u6d41\u6c34\u7ebf\u3001\u66f4\u597d\u7684\u53ef\u89c2\u6d4b\u6027\u548c\u66f4\u7ec6\u817b\u7684\u4ea7\u54c1\u95f4\u96c6\u6210\u3002

\n

Serverless \u7684\u672a\u6765\u53d1\u5c55

\n

\u5728\u8c08\u5230 Serverless \u7684\u53d1\u5c55\u8d8b\u52bf\uff0c\u6768\u7693\u7136\u63d0\u5230\u4e86\u56db\u4e2a\u65b9\u9762\uff1a

\n

1. Serverless \u5c06\u65e0\u5904\u4e0d\u5728

\n

\u4efb\u4f55\u8db3\u591f\u590d\u6742\u7684\u6280\u672f\u65b9\u6848\u90fd\u5c06\u88ab\u5b9e\u73b0\u4e3a\u5168\u6258\u7ba1\u3001Serverless \u5316\u7684\u540e\u7aef\u670d\u52a1\u3002\u5bf9\u4e8e\u4efb\u4f55\u4ee5 API \u4f5c\u4e3a\u529f\u80fd\u900f\u51fa\u65b9\u5f0f\u7684\u5e73\u53f0\u578b\u4ea7\u54c1\u6216\u7ec4\u7ec7\uff0c\u4f8b\u5982\u9489\u9489\u3001\u5fae\u4fe1\u3001\u6ef4\u6ef4\u7b49\uff0cServerless \u90fd\u5c06\u662f\u5176\u5e73\u53f0\u6218\u7565\u4e2d\u6700\u91cd\u8981\u7684\u90e8\u5206\u3002

\n

2. Serverless \u5c06\u548c\u5bb9\u5668\u751f\u6001\u6709\u66f4\u52a0\u7d27\u5bc6\u7684\u878d\u5408

\n

\u5bb9\u5668\u5728\u5e94\u7528\u7684\u53ef\u79fb\u690d\u6027\u548c\u4ea4\u4ed8\u6d41\u7a0b\u654f\u6377\u6027\u4e0a\u5b9e\u73b0\u4e86\u98a0\u8986\u5f0f\u521b\u65b0\uff0c\u5b83\u662f\u73b0\u4ee3\u5e94\u7528\u6784\u5efa\u548c\u4ea4\u4ed8\u7684\u4e00\u6b21\u91cd\u8981\u53d8\u9769\u3002\u5f53\u4eca\uff0c\u5168\u4e16\u754c\u7684\u5f00\u53d1\u4eba\u5458\u90fd\u4e60\u60ef\u5c06\u5bb9\u5668\u4f5c\u4e3a\u5e94\u7528\u4ea4\u4ed8\u548c\u5206\u53d1\u7684\u65b9\u5f0f\u3002\u56f4\u7ed5\u5bb9\u5668\uff0c\u5df2\u7ecf\u6709\u4e86\u5b8c\u6574\u7684\u5e94\u7528\u4ea4\u4ed8\u5de5\u5177\u94fe\u3002\u672a\u6765\uff0c\u5bb9\u5668\u955c\u50cf\u4e5f\u5c06\u6210\u4e3a\u51fd\u6570\u8ba1\u7b97\u7b49\u66f4\u591a Serverless \u5e94\u7528\u7684\u5206\u53d1\u65b9\u5f0f\uff0c\u5bb9\u5668\u5e9e\u5927\u7684\u5de5\u5177\u751f\u6001\u548c Serverless \u514d\u8fd0\u7ef4\u3001\u6781\u81f4\u5f39\u6027\u7ed3\u5408\u5728\u4e00\u8d77\uff0c\u4e3a\u7528\u6237\u5e26\u6765\u5168\u65b0\u7684\u4f53\u9a8c\u3002

\n

3. Serverless \u5c06\u901a\u8fc7\u4e8b\u4ef6\u9a71\u52a8\u7684\u65b9\u5f0f\u8fde\u63a5\u4e91\u53ca\u5176\u751f\u6001\u4e2d\u7684\u4e00\u5207

\n

\u65e0\u8bba\u662f\u7528\u6237\u81ea\u5df1\u7684\u5e94\u7528\uff0c\u8fd8\u662f\u5408\u4f5c\u4f19\u4f34\u7684\u670d\u52a1\uff1b\u65e0\u8bba\u662f on-premise \u73af\u5883\uff0c\u8fd8\u662f\u516c\u6709\u4e91\uff0c\u6240\u6709\u7684\u4e8b\u4ef6\u90fd\u80fd\u4ee5 Serverless \u7684\u65b9\u5f0f\u5904\u7406\u3002\u4e91\u670d\u52a1\u53ca\u5176\u751f\u6001\u5c06\u66f4\u7d27\u5bc6\u7684\u8fde\u63a5\u5728\u4e00\u8d77\uff0c\u6210\u4e3a\u7528\u6237\u6784\u5efa\u5f39\u6027\u9ad8\u53ef\u7528\u5e94\u7528\u7684\u57fa\u77f3\u3002

\n

4. Serverless \u8ba1\u7b97\u5c06\u6301\u7eed\u63d0\u9ad8\u8ba1\u7b97\u5bc6\u5ea6\uff0c\u5b9e\u73b0\u6700\u4f73\u7684\u6027\u80fd\u529f\u8017\u6bd4\u548c\u6027\u80fd\u4ef7\u683c\u6bd4

\n

Serverless \u8ba1\u7b97\u5e73\u53f0\u4e00\u65b9\u9762\u8981\u6c42\u6700\u9ad8\u7684\u5b89\u5168\u6027\u548c\u6700\u5c0f\u7684\u8d44\u6e90\u5f00\u9500\uff0c\u9c7c\u4e0e\u718a\u638c\u5fc5\u987b\u517c\u5f97\uff1b\u53e6\u4e00\u65b9\u9762\u8981\u4fdd\u6301\u5bf9\u539f\u6709\u7a0b\u5e8f\u6267\u884c\u65b9\u5f0f\u7684\u517c\u5bb9\uff0c\u6bd4\u5982\u652f\u6301\u4efb\u610f\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u8fd9\u4f7f\u5f97\u9002\u7528\u4e8e\u7279\u5b9a\u8bed\u8a00 VM \u7684\u65b9\u6848\u4e0d\u53ef\u884c\u3002\u56e0\u6b64 AWS Firecracker\uff0cGoogle gVisor \u8fd9\u6837\u65b0\u7684\u8f7b\u91cf\u865a\u62df\u5316\u6280\u672f\u5e94\u8fd0\u800c\u751f\u3002\u4ee5 AWS Firecracker \u4e3a\u4f8b\uff0c\u901a\u8fc7\u5bf9\u8bbe\u5907\u6a21\u578b\u7684\u88c1\u526a\u548c kernel \u52a0\u8f7d\u6d41\u7a0b\u7684\u4f18\u5316\uff0c\u5b9e\u73b0\u4e86\u767e\u6beb\u79d2\u7684\u542f\u52a8\u901f\u5ea6\u548c\u6781\u5c0f\u7684\u5185\u5b58\u5f00\u9500\u3002

\n

\u5b9e\u73b0\u6700\u4f73\u6027\u80fd\u529f\u8017\u6bd4\u548c\u6027\u80fd\u4ef7\u683c\u6bd4\u7684\u53e6\u4e00\u4e2a\u91cd\u8981\u65b9\u5411\u662f\u652f\u6301\u5f02\u6784\u786c\u4ef6\u3002\u957f\u671f\u4ee5\u6765\uff0cX86 \u5904\u7406\u5668\u7684\u6027\u80fd\u8d8a\u6765\u8d8a\u96be\u4ee5\u63d0\u5347\u3002\u800c\u5728 AI \u7b49\u5bf9\u7b97\u529b\u8981\u6c42\u6781\u9ad8\u7684\u573a\u666f\uff0cGPU \u3001FPGA \u3001TPU \uff08 Tensor Processing Units \uff09 \u7b49\u67b6\u6784\u7684\u5904\u7406\u5668\u7684\u8ba1\u7b97\u6548\u7387\u66f4\u5177\u4f18\u52bf\u3002\u968f\u7740\u5f02\u6784\u786c\u4ef6\u865a\u62df\u5316\u3001\u8d44\u6e90\u6c60\u5316\u3001\u5f02\u6784\u8d44\u6e90\u8c03\u5ea6\u3001\u5e94\u7528\u6846\u67b6\u652f\u6301\u7684\u6210\u719f\uff0c\u5f02\u6784\u786c\u4ef6\u7684\u7b97\u529b\u4e5f\u80fd\u901a\u8fc7 Serverless \u7684\u65b9\u5f0f\u91ca\u653e\uff0c\u5927\u5e45\u964d\u4f4e\u7528\u6237\u4f7f\u7528\u95e8\u69db\u3002

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/735927", "title": "\u4e00\u6587\u641e\u61c2\u51fd\u6570\u8ba1\u7b97\u53ca\u5176\u5de5\u4f5c\u539f\u7406", "id": "t/735927", "date_published": "2020-12-16T03:15:20+00:00", "content_html": "

\"6.16.jpg\"

\n

\u4f5c\u8005 | \u5b54\u5fb7\u6167\uff08\u590f\u839e\uff09\u00a0 \u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u5f00\u53d1\u5de5\u7a0b\u5e08

\n

\u4ec0\u4e48\u662f\u51fd\u6570\u8ba1\u7b97

\n

\u5927\u5bb6\u90fd\u4e86\u89e3\uff0cServerless \u5e76\u4e0d\u662f\u6ca1\u6709\u670d\u52a1\u5668\uff0c\u800c\u662f\u5f00\u53d1\u8005\u4e0d\u518d\u9700\u8981\u5173\u5fc3\u670d\u52a1\u5668\u3002\u4e0b\u56fe\u662f\u4e00\u4e2a\u5e94\u7528\u4ece\u5f00\u53d1\u5230\u4e0a\u7ebf\u7684\u5bf9\u6bd4\u56fe\uff1a

\n

\"1.jpg\"

\n

\u5728\u4f20\u7edf Serverful \u67b6\u6784\u4e0b\uff0c\u90e8\u7f72\u4e00\u4e2a\u5e94\u7528\u9700\u8981\u8d2d\u4e70\u670d\u52a1\u5668\uff0c\u90e8\u7f72\u64cd\u4f5c\u7cfb\u7edf\uff0c\u642d\u5efa\u5f00\u53d1\u73af\u5883\uff0c\u7f16\u5199\u4ee3\u7801\uff0c\u6784\u5efa\u5e94\u7528\uff0c\u90e8\u7f72\u5e94\u7528\uff0c\u914d\u7f6e\u8d1f\u8f7d\u5747\u8861\u673a\u5236\uff0c\u642d\u5efa\u65e5\u5fd7\u5206\u6790\u4e0e\u76d1\u63a7\u7cfb\u7edf\uff0c\u5e94\u7528\u4e0a\u7ebf\u540e\uff0c\u7ee7\u7eed\u76d1\u63a7\u5e94\u7528\u7684\u8fd0\u884c\u60c5\u51b5\u3002\u800c\u5728 Serverless \u67b6\u6784\u4e0b\uff0c\u5f00\u53d1\u8005\u53ea\u9700\u8981\u5173\u6ce8\u5e94\u7528\u7684\u5f00\u53d1\u6784\u5efa\u548c\u90e8\u7f72\uff0c\u65e0\u9700\u5173\u5fc3\u670d\u52a1\u5668\u76f8\u5173\u64cd\u4f5c\u4e0e\u8fd0\u7ef4\uff0c\u5728\u51fd\u6570\u8ba1\u7b97\u67b6\u6784\u4e0b\uff0c\u5f00\u53d1\u8005\u53ea\u9700\u8981\u7f16\u5199\u4e1a\u52a1\u4ee3\u7801\u5e76\u76d1\u63a7\u4e1a\u52a1\u8fd0\u884c\u60c5\u51b5\u3002\u8fd9\u5c06\u5f00\u53d1\u8005\u4ece\u7e41\u91cd\u7684\u8fd0\u7ef4\u5de5\u4f5c\u4e2d\u89e3\u653e\u51fa\u6765\uff0c\u628a\u7cbe\u529b\u6295\u5165\u5230\u66f4\u6709\u610f\u4e49\u7684\u4e1a\u52a1\u5f00\u53d1\u4e0a\u3002

\n

\"2.png\"

\n

\u4e0a\u56fe\u5c55\u793a\u4e86\u51fd\u6570\u8ba1\u7b97\u7684\u4f7f\u7528\u65b9\u5f0f\u3002\u4ece\u7528\u6237\u89d2\u5ea6\uff0c\u4ed6\u9700\u8981\u505a\u7684\u53ea\u662f\u7f16\u7801\uff0c\u7136\u540e\u628a\u4ee3\u7801\u4e0a\u4f20\u5230\u51fd\u6570\u8ba1\u7b97\u4e2d\u3002\u4e0a\u4f20\u4ee3\u7801\u5c31\u610f\u5473\u7740\u5e94\u7528\u90e8\u7f72\u3002\u5f53\u6709\u9ad8\u5e76\u53d1\u8bf7\u6c42\u6d8c\u5165\u65f6\uff0c\u5f00\u53d1\u8005\u4e5f\u65e0\u9700\u624b\u52a8\u6269\u5bb9\uff0c\u51fd\u6570\u8ba1\u7b97\u4f1a\u6839\u636e\u8bf7\u6c42\u91cf\u6beb\u79d2\u7ea7\u81ea\u52a8\u6269\u5bb9\uff0c\u5f39\u6027\u53ef\u9760\u5730\u8fd0\u884c\u4efb\u52a1\uff0c\u5e76\u5185\u7f6e\u65e5\u5fd7\u67e5\u8be2\u3001\u6027\u80fd\u76d1\u63a7\u3001\u62a5\u8b66\u7b49\u529f\u80fd\u5e2e\u52a9\u5f00\u53d1\u8005\u53d1\u73b0\u95ee\u9898\u5e76\u5b9a\u4f4d\u95ee\u9898\u3002

\n

\u51fd\u6570\u8ba1\u7b97\u6838\u5fc3\u4f18\u52bf

\n

\"3.png\"

\n

1. \u654f\u6377\u5f00\u53d1

\n\n

2. \u5f39\u6027\u6269\u5bb9

\n\n

3. \u7a33\u5b9a\u9ad8\u53ef\u7528

\n\n

4. \u6709\u7ade\u4e89\u529b\u7684\u6210\u672c

\n\n

\u51fd\u6570\u8ba1\u7b97\u4f7f\u7528\u573a\u666f

\n

\"4.jpg\"

\n

\u4ece\u4f7f\u7528\u573a\u666f\u6765\u8bf4\uff0c\u4e3b\u8981\u6709\u4e09\u7c7b\uff1a

\n\n

\u51fd\u6570\u8ba1\u7b97\u5df2\u7ecf\u4e0e\u5f88\u591a\u4ea7\u54c1\u8fdb\u884c\u4e86\u6253\u901a\uff0c\u6bd4\u5982\u5bf9\u8c61\u5b58\u50a8\u3001\u8868\u683c\u5b58\u50a8\u3001\u5b9a\u65f6\u5668\u3001CDN \u3001\u65e5\u5fd7\u670d\u52a1\u3001\u4e91\u76d1\u63a7\u7b49\u5341\u51e0\u4e2a\u4ea7\u54c1\uff0c\u53ef\u4ee5\u975e\u5e38\u5feb\u901f\u5730\u7ec4\u88c5\u51fa\u4e00\u4e9b\u4e1a\u52a1\u903b\u8f91\u3002

\n

\u51fd\u6570\u8ba1\u7b97\u5de5\u4f5c\u539f\u7406

\n

1. \u51fd\u6570\u8ba1\u7b97\u8c03\u7528\u94fe\u8def

\n

\"5.PNG\"

\n

\u4e0a\u56fe\u5c55\u793a\u4e86\u51fd\u6570\u8ba1\u7b97\u5b8c\u6574\u7684\u8bf7\u6c42\u548c\u8c03\u7528\u94fe\u8def\u3002\u51fd\u6570\u8ba1\u7b97\u662f\u4e8b\u4ef6\u9a71\u52a8\u7684\u65e0\u670d\u52a1\u5668\u5e94\u7528\uff0c\u4e8b\u4ef6\u9a71\u52a8\u662f\u8bf4\u53ef\u4ee5\u901a\u8fc7\u4e8b\u4ef6\u6e90\u81ea\u52a8\u89e6\u53d1\u51fd\u6570\u6267\u884c\uff0c\u6bd4\u5982\u5f53\u6709\u5bf9\u8c61\u4e0a\u4f20\u81f3 OSS \u4e2d\u65f6\uff0c\u81ea\u52a8\u89e6\u53d1\u51fd\u6570\uff0c\u5bf9\u65b0\u4e0a\u4f20\u7684\u56fe\u7247\u8fdb\u884c\u5904\u7406\u3002\u51fd\u6570\u8ba1\u7b97\u652f\u6301\u4e30\u5bcc\u7684\u4e8b\u4ef6\u6e90\u7c7b\u578b\uff0c\u5305\u62ec\u65e5\u5fd7\u670d\u52a1\u3001\u5bf9\u8c61\u5b58\u50a8\u3001\u8868\u683c\u5b58\u50a8\u3001\u6d88\u606f\u670d\u52a1\u3001API \u7f51\u5173\u3001CDN \u7b49\u3002

\n

\u9664\u4e86\u4e8b\u4ef6\u89e6\u53d1\u5916\uff0c\u4e5f\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7 API/SDK \u76f4\u63a5\u8c03\u7528\u51fd\u6570\u3002\u8c03\u7528\u53ef\u4ee5\u5206\u4e3a\u540c\u6b65\u8c03\u7528\u4e0e\u5f02\u6b65\u8c03\u7528\uff0c\u5f53\u8bf7\u6c42\u5230\u8fbe\u51fd\u6570\u8ba1\u7b97\u540e\uff0c\u51fd\u6570\u8ba1\u7b97\u4f1a\u4e3a\u8bf7\u6c42\u5206\u914d\u6267\u884c\u73af\u5883\uff0c\u5982\u679c\u662f\u5f02\u6b65\u8c03\u7528\uff0c\u51fd\u6570\u8ba1\u7b97\u4f1a\u5c06\u8bf7\u6c42\u4e8b\u4ef6\u5b58\u5165\u961f\u5217\u4e2d\uff0c\u7b49\u5f85\u6d88\u8d39\u3002

\n

2. \u51fd\u6570\u8ba1\u7b97\u8c03\u7528\u65b9\u5f0f

\n

\"6.jpg\"

\n

\u540c\u6b65\u8c03\u7528\u7684\u7279\u6027\u662f\uff0c\u5ba2\u6237\u7aef\u671f\u5f85\u670d\u52a1\u7aef\u7acb\u5373\u8fd4\u56de\u8ba1\u7b97\u7ed3\u679c\u3002\u8bf7\u6c42\u5230\u8fbe\u51fd\u6570\u8ba1\u7b97\u65f6\uff0c\u4f1a\u7acb\u5373\u5206\u914d\u6267\u884c\u73af\u5883\u6267\u884c\u51fd\u6570\u3002

\n

\u4ee5 API \u7f51\u5173\u4e3a\u4f8b\uff0cAPI \u7f51\u5173\u540c\u6b65\u89e6\u53d1\u51fd\u6570\u8ba1\u7b97\uff0c\u5ba2\u6237\u7aef\u4f1a\u4e00\u76f4\u7b49\u5f85\u670d\u52a1\u7aef\u7684\u6267\u884c\u7ed3\u679c\uff0c\u5982\u679c\u6267\u884c\u8fc7\u7a0b\u4e2d\u9047\u5230\u9519\u8bef\uff0c \u51fd\u6570\u8ba1\u7b97\u4f1a\u5c06\u9519\u8bef\u76f4\u63a5\u8fd4\u56de\uff0c\u800c\u4e0d\u4f1a\u5bf9\u9519\u8bef\u8fdb\u884c\u91cd\u8bd5\u3002\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u9700\u8981\u5ba2\u6237\u7aef\u6dfb\u52a0\u91cd\u8bd5\u673a\u5236\u6765\u505a\u9519\u8bef\u5904\u7406\u3002

\n

\"7.jpg\"

\n

\u5f02\u6b65\u8c03\u7528\u7684\u7279\u6027\u662f\uff0c\u5ba2\u6237\u7aef\u4e0d\u6025\u4e8e\u7acb\u5373\u77e5\u9053\u51fd\u6570\u7ed3\u679c\uff0c\u51fd\u6570\u8ba1\u7b97\u5c06\u8bf7\u6c42\u4e22\u5165\u961f\u5217\u4e2d\u5373\u53ef\u8fd4\u56de\u6210\u529f\uff0c\u800c\u4e0d\u4f1a\u7b49\u5f85\u5230\u51fd\u6570\u8c03\u7528\u7ed3\u675f\u3002

\n

\u51fd\u6570\u8ba1\u7b97\u4f1a\u9010\u6e10\u6d88\u8d39\u961f\u5217\u4e2d\u7684\u8bf7\u6c42\uff0c\u5206\u914d\u6267\u884c\u73af\u5883\uff0c\u6267\u884c\u51fd\u6570\u3002\u5982\u679c\u6267\u884c\u8fc7\u7a0b\u4e2d\u9047\u5230\u9519\u8bef\uff0c\u51fd\u6570\u8ba1\u7b97\u4f1a\u5bf9\u9519\u8bef\u7684\u8bf7\u6c42\u8fdb\u884c\u91cd\u8bd5\uff0c\u5bf9\u51fd\u6570\u9519\u8bef\u91cd\u8bd5\u4e09\u6b21\uff0c\u7cfb\u7edf\u9519\u8bef\u4f1a\u4ee5\u6307\u6570\u9000\u907f\u65b9\u5f0f\u65e0\u9650\u91cd\u8bd5\uff0c\u76f4\u81f3\u6210\u529f\u3002

\n

\u5f02\u6b65\u8c03\u7528\u9002\u7528\u4e8e\u6570\u636e\u7684\u5904\u7406\uff0c\u6bd4\u5982 OSS \u89e6\u53d1\u5668\u89e6\u53d1\u51fd\u6570\u5904\u7406\u97f3\u89c6\u9891\uff0c\u65e5\u5fd7\u89e6\u53d1\u5668\u89e6\u53d1\u51fd\u6570\u6e05\u6d17\u65e5\u5fd7\uff0c\u90fd\u662f\u5bf9\u5ef6\u65f6\u4e0d\u654f\u611f\uff0c\u53c8\u9700\u8981\u5c3d\u53ef\u80fd\u4fdd\u8bc1\u4efb\u52a1\u6267\u884c\u6210\u529f\u7684\u573a\u666f\u3002\u5982\u679c\u7528\u6237\u9700\u8981\u4e86\u89e3\u5931\u8d25\u7684\u8bf7\u6c42\u5e76\u5bf9\u8bf7\u6c42\u505a\u81ea\u5b9a\u4e49\u5904\u7406\uff0c\u53ef\u4ee5\u4f7f\u7528 Destination \u529f\u80fd\u3002

\n

3. \u51fd\u6570\u8ba1\u7b97\u6267\u884c\u8fc7\u7a0b

\n

\u51fd\u6570\u8ba1\u7b97\u662f Serverless \u7684\uff0c\u8fd9\u4e0d\u662f\u8bf4\u65e0\u670d\u52a1\u5668\uff0c\u800c\u662f\u5f00\u53d1\u8005\u65e0\u9700\u5173\u5fc3\u670d\u52a1\u5668\uff0c\u51fd\u6570\u8ba1\u7b97\u4f1a\u4e3a\u5f00\u53d1\u8005\u5206\u914d\u5b9e\u4f8b\u6267\u884c\u51fd\u6570\u3002

\n

\"8.jpg\"

\n

\u5982\u4e0a\u56fe\u6240\u793a\uff0c\u5f53\u51fd\u6570\u7b2c\u4e00\u6b21\u88ab\u8c03\u7528\u7684\u65f6\u5019\uff0c\u51fd\u6570\u8ba1\u7b97\u9700\u8981\u52a8\u6001\u8c03\u5ea6\u5b9e\u4f8b\u3001\u4e0b\u8f7d\u4ee3\u7801\u3001\u89e3\u538b\u4ee3\u7801\u3001\u542f\u52a8\u5b9e\u4f8b\uff0c\u5f97\u5230\u4e00\u4e2a\u53ef\u6267\u884c\u51fd\u6570\u7684\u4ee3\u7801\u73af\u5883\u3002\u7136\u540e\u624d\u5f00\u59cb\u5728\u7cfb\u7edf\u5206\u914d\u7684\u5b9e\u4f8b\u4e2d\u771f\u6b63\u5730\u6267\u884c\u7528\u6237\u7684\u521d\u59cb\u5316\u51fd\u6570\uff0c\u6267\u884c\u51fd\u6570\u4e1a\u52a1\u903b\u8f91\u3002\u8fd9\u4e2a\u8c03\u5ea6\u5b9e\u4f8b\u542f\u52a8\u5b9e\u4f8b\u7684\u8fc7\u7a0b\uff0c\u5c31\u662f\u7cfb\u7edf\u7684\u51b7\u542f\u52a8\u8fc7\u7a0b\u3002

\n

\u51fd\u6570\u903b\u8f91\u6267\u884c\u7ed3\u675f\u540e\uff0c\u4e0d\u4f1a\u7acb\u5373\u91ca\u653e\u6389\u5b9e\u4f8b\uff0c\u4f1a\u7b49\u4e00\u6bb5\u65f6\u95f4\uff0c\u5982\u679c\u5728\u8fd9\u6bb5\u65f6\u95f4\u5185\u6709\u65b0\u7684\u8c03\u7528\uff0c\u4f1a\u590d\u7528\u8fd9\u4e2a\u5b9e\u4f8b\uff0c\u6bd4\u5982\u4e0a\u56fe\u4e2d\u7684 Request 2\uff0c\u7531\u4e8e\u6267\u884c\u73af\u5883\u5df2\u7ecf\u5206\u914d\u597d\u4e86\uff0cRequest 2 \u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\uff0c\u6240\u4ee5 Request 2 \u5c31\u4e0d\u4f1a\u9047\u5230\u51b7\u542f\u52a8\u3002

\n

Request 2 \u6267\u884c\u7ed3\u675f\u540e\uff0c\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\uff0c\u5982\u679c\u8fd9\u6bb5\u65f6\u95f4\u6ca1\u6709\u65b0\u7684\u8bf7\u6c42\u5206\u914d\u5230\u8fd9\u4e2a\u5b9e\u4f8b\u4e0a\uff0c\u90a3\u7cfb\u7edf\u4f1a\u56de\u6536\u5b9e\u4f8b\uff0c\u91ca\u653e\u6267\u884c\u73af\u5883\u3002\u6b64\u5b9e\u4f8b\u91ca\u653e\u540e\uff0c\u65b0\u7684\u8bf7\u6c42 Request 3 \u6765\u5230\u51fd\u6570\u8ba1\u7b97\uff0c\u9700\u8981\u91cd\u65b0\u8c03\u5ea6\u5b9e\u4f8b\u3001\u4e0b\u8f7d\u4ee3\u7801\u3001\u89e3\u538b\u4ee3\u7801\uff0c\u542f\u52a8\u5b9e\u4f8b\uff0c\u53c8\u4f1a\u9047\u5230\u51b7\u542f\u52a8\u3002

\n

\u6240\u4ee5\uff0c\u4e3a\u4e86\u51cf\u5c0f\u51b7\u542f\u52a8\u5e26\u6765\u7684\u5f71\u54cd\uff0c\u8981\u5c3d\u53ef\u80fd\u907f\u514d\u51b7\u542f\u52a8\uff0c\u964d\u4f4e\u51b7\u542f\u52a8\u5e26\u6765\u7684\u5ef6\u65f6\u3002

\n

\"9.jpg\"

\n

\u4f7f\u7528\u9884\u7559\u5b9e\u4f8b\u53ef\u4ee5\u5b8c\u5168\u907f\u514d\u51b7\u542f\u52a8\uff0c\u9884\u7559\u5b9e\u4f8b\u662f\u5728\u7528\u6237\u9884\u7559\u540e\u5c31\u5206\u914d\u5b9e\u4f8b\uff0c\u51c6\u5907\u6267\u884c\u73af\u5883\uff1b\u8bf7\u6c42\u7ed3\u675f\u540e\u7cfb\u7edf\u4e5f\u4e0d\u4f1a\u81ea\u52a8\u56de\u6536\u5b9e\u4f8b\u3002

\n

\u9884\u7559\u5b9e\u4f8b\u4e0d\u7531\u7cfb\u7edf\u81ea\u52a8\u5206\u914d\u4e0e\u56de\u6536\uff0c\u7531\u7528\u6237\u63a7\u5236\u5b9e\u4f8b\u7684\u751f\u547d\u5468\u671f\uff0c\u53ef\u4ee5\u957f\u9a7b\u4e0d\u9500\u6bc1\uff0c\u8fd9\u5c06\u5f7b\u5e95\u6d88\u9664\u5b9e\u4f8b\u51b7\u542f\u52a8\u5e26\u6765\u7684\u5ef6\u65f6\u6bdb\u523a\uff0c\u63d0\u4f9b\u6781\u81f4\u6027\u80fd\uff0c\u4e5f\u4e3a\u5728\u7ebf\u5e94\u7528\u8fc1\u79fb\u81f3\u51fd\u6570\u8ba1\u7b97\u626b\u6e05\u969c\u788d\u3002

\n

\u5982\u679c\u4e1a\u52a1\u573a\u666f\u4e0d\u9002\u5408\u4f7f\u7528\u9884\u7559\u5b9e\u4f8b\uff0c\u90a3\u5c31\u8981\u8bbe\u6cd5\u964d\u4f4e\u51b7\u542f\u52a8\u7684\u5ef6\u65f6\uff0c\u6bd4\u5982\u964d\u4f4e\u4ee3\u7801\u5305\u5927\u5c0f\uff0c\u53ef\u4ee5\u964d\u4f4e\u4e0b\u8f7d\u4ee3\u7801\u5305\u3001\u89e3\u538b\u4ee3\u7801\u5305\u7684\u65f6\u95f4\u3002Initializer \u51fd\u6570\u662f\u5b9e\u4f8b\u7684\u521d\u59cb\u5316\u51fd\u6570\uff0cInitializer \u5728\u540c\u4e00\u5b9e\u4f8b\u4e2d\u6267\u884c\u4e14\u53ea\u6267\u884c\u4e00\u6b21\uff0c\u6240\u4ee5\u53ef\u4ee5\u5c06\u4e00\u4e9b\u8017\u65f6\u7684\u516c\u5171\u903b\u8f91\u653e\u5230 Initializer \u4e2d\uff0c\u6bd4\u5982\u5728 NAS \u4e2d\u52a0\u8f7d\u4f9d\u8d56\u3001\u5efa\u7acb\u8fde\u63a5\u7b49\u7b49\u3002\u53e6\u5916\u8981\u5c3d\u91cf\u4fdd\u6301\u8bf7\u6c42\u8fde\u7eed\u7a33\u5b9a\uff0c\u907f\u514d\u7a81\u53d1\u7684\u6d41\u91cf\uff0c\u7531\u4e8e\u7cfb\u7edf\u5df2\u542f\u52a8\u7684\u5b9e\u4f8b\u4e0d\u8db3\u4ee5\u652f\u6491\u5927\u91cf\u7684\u7a81\u53d1\u6d41\u91cf\uff0c\u5c31\u4f1a\u5e26\u6765\u4e0d\u53ef\u907f\u514d\u7684\u51b7\u542f\u52a8\u3002

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/735904", "title": "Serverless \u7684\u521d\u5fc3\u3001\u73b0\u72b6\u548c\u672a\u6765", "id": "t/735904", "date_published": "2020-12-16T02:47:33+00:00", "content_html": "

\"6.23.jpg\"

\n

\u4f5c\u8005\u00a0|\u00a0\u4e0d\u778b

\n

\u5bfc\u8bfb\uff1aServerless \u662f\u5982\u4f55\u4ea7\u751f\u7684\uff1f\u5f53\u524d\u6709\u54ea\u4e9b\u843d\u5730\u573a\u666f\uff1f Serverless \u7684\u672a\u6765\u53c8\u5c06\u5982\u4f55\uff1f\u672c\u6587\u5206\u4eab\u4e86\u963f\u91cc\u4e91\u9ad8\u7ea7\u6280\u672f\u4e13\u5bb6\u4e0d\u778b\u5bf9\u4e8e Serverless \u7684\u770b\u6cd5\uff0c\u56de\u987e\u5176\u53d1\u5c55\u5386\u7a0b\uff0c\u5e76\u5bf9 Serverless \u7684\u53d1\u5c55\u8d8b\u52bf\u505a\u51fa\u9884\u6d4b\u3002

\n

\u6e90\u8d77

\n

\u56de\u671b\u6574\u4e2a\u8ba1\u7b97\u673a\u6280\u672f\u53d1\u5c55\u53f2\uff0c\u6211\u4eec\u4f1a\u53d1\u73b0 \u201c\u62bd\u8c61\u3001\u89e3\u8026\u3001\u96c6\u6210\u201d \u7684\u4e3b\u9898\u8d2f\u7a7f\u5176\u4e2d\u3002\u4ea7\u4e1a\u6bcf\u4e00\u6b21\u7684\u62bd\u8c61\u3001\u89e3\u8026\u3001\u96c6\u6210\uff0c\u90fd\u5c06\u521b\u65b0\u63a8\u5411\u65b0\u7684\u9ad8\u5ea6\uff0c\u4e5f\u50ac\u751f\u51fa\u5e9e\u5927\u7684\u5e02\u573a\u548c\u65b0\u7684\u5546\u4e1a\u6a21\u5f0f\u3002

\n

\u5927\u578b\u673a\u65f6\u4ee3\uff0c\u786c\u4ef6\u548c\u8f6f\u4ef6\u90fd\u662f\u5b9a\u5236\u5316\u7684\uff0c\u4f7f\u7528\u4e13\u6709\u7684\u786c\u4ef6\u3001\u64cd\u4f5c\u7cfb\u7edf\u548c\u5e94\u7528\u8f6f\u4ef6\u3002

\n

PC \u65f6\u4ee3\uff0c\u786c\u4ef6\u88ab\u62bd\u8c61\u89e3\u8026\u6210 CPU \u3001\u5185\u5b58\u3001\u786c\u76d8\u3001\u4e3b\u677f\u3001USB \u8bbe\u5907\u7b49\u6807\u51c6\u5316\u7684\u90e8\u4ef6\uff0c\u4e0d\u540c\u5382\u5546\u751f\u4ea7\u7684\u90e8\u4ef6\u53ef\u4ee5\u81ea\u7531\u7ec4\u5408\uff0c\u7ec4\u88c5\u6210\u6574\u673a\u3002\u8f6f\u4ef6\u88ab\u62bd\u8c61\u89e3\u8026\u4e3a\u64cd\u4f5c\u7cfb\u7edf\u3001\u5e93\u7b49\u53ef\u590d\u7528\u7ec4\u4ef6\u3002\u786c\u4ef6\u548c\u8f6f\u4ef6\u7684\u62bd\u8c61\u89e3\u8026\uff0c\u521b\u9020\u4e86\u65b0\u7684\u5546\u4e1a\u6a21\u5f0f\uff0c\u91ca\u653e\u4e86\u751f\u4ea7\u529b\uff0c\u9020\u5c31\u4e86 PC \u65f6\u4ee3\u7684\u7e41\u8363\u3002

\n

\u4e91\u7684\u65f6\u4ee3\uff0c\u786c\u4ef6\u8f6f\u4ef6\u5316\u548c\u8f6f\u4ef6\u670d\u52a1\u5316\u6210\u4e3a\u6700\u663e\u8457\u7684\u4e24\u4e2a\u8d8b\u52bf\u3002

\n

\u786c\u4ef6\u8f6f\u4ef6\u5316\u7684\u6838\u5fc3\u5728\u4e8e\u786c\u4ef6\u529f\u80fd\u4e2d\u8d8a\u6765\u8d8a\u591a\u7684\u90e8\u5206\u7531\u8f6f\u4ef6\u6765\u5448\u73b0\uff0c\u4ece\u800c\u5728\u8fed\u4ee3\u6548\u7387\u3001\u6210\u672c\u7b49\u65b9\u9762\u83b7\u5f97\u663e\u8457\u4f18\u52bf\u3002\u4ee5\u8f6f\u4ef6\u5b9a\u4e49\u5b58\u50a8\uff08 Software Defined Storage\uff0cSDS \uff09\u4e3a\u4f8b\uff0cSDS \u662f\u4f4d\u4e8e\u7269\u7406\u5b58\u50a8\u548c\u6570\u636e\u8bf7\u6c42\u4e4b\u95f4\u7684\u4e00\u4e2a\u8f6f\u4ef6\u5c42\uff0c\u5141\u8bb8\u7528\u6237\u64cd\u63a7\u6570\u636e\u7684\u5b58\u50a8\u65b9\u5f0f\u548c\u5b58\u50a8\u4f4d\u7f6e\u3002\u901a\u8fc7\u786c\u4ef6\u4e0e\u8f6f\u4ef6\u89e3\u8026\uff0cSDS \u53ef\u8fd0\u884c\u4e8e\u884c\u4e1a\u6807\u51c6\u7cfb\u7edf\u6216\u8005 X86 \u7cfb\u7edf\u4e0a\uff0c\u610f\u5473\u7740\u7528\u6237\u53ef\u4ee5\u65e0\u5dee\u522b\u7684\u4f7f\u7528\u4efb\u4f55\u6807\u51c6\u7684\u5546\u7528\u670d\u52a1\u5668\u6765\u6ee1\u8db3\u4e0d\u65ad\u589e\u957f\u7684\u5b58\u50a8\u9700\u6c42\u3002\u786c\u4ef6\u4e0e\u8f6f\u4ef6\u89e3\u8026\u4e5f\u8ba9 SDS \u80fd\u591f\u6a2a\u5411\u6269\u5c55\uff0c\u6d88\u9664\u5bb9\u91cf\u89c4\u5212\uff0c\u6210\u672c\u7ba1\u7406\u7b49\u65b9\u9762\u7684\u590d\u6742\u6027\u3002

\n

\u4e91\u65f6\u4ee3\u7684\u53e6\u4e00\u8d8b\u52bf\u662f\u8f6f\u4ef6\u670d\u52a1\u5316\u3002\u5e94\u7528\u8f6f\u4ef6\u7684\u529f\u80fd\u901a\u8fc7\u7f51\u7edc\u4ee5\u8fdc\u7a0b\u8c03\u7528\u7684\u6a21\u5f0f\u88ab\u6d77\u91cf\u7528\u6237\u4f7f\u7528\u3002\u670d\u52a1\u6210\u4e3a\u5e94\u7528\u6784\u5efa\u7684\u57fa\u7840\uff0cAPI \u88ab\u5b9e\u73b0\u4e3a\u670d\u52a1\u63d0\u4f9b\u7ed9\u5f00\u53d1\u8005\uff0c\u5fae\u670d\u52a1\u67b6\u6784\u83b7\u5f97\u5e7f\u6cdb\u7684\u6210\u529f\u3002\u670d\u52a1\u4e5f\u6210\u4e3a\u4e91\u4ea7\u54c1\u7684\u57fa\u672c\u5f62\u6001\u3002\u8fc7\u53bb 10 \u5e74\uff0c\u4e91\u5df2\u7ecf\u8bc1\u660e\u4e86\u5b83\u7684\u6210\u529f\u3002\u7528\u6237\u53ea\u9700\u8981\u901a\u8fc7\u8c03\u7528 API \u5c31\u80fd\u83b7\u53d6\u670d\u52a1\u5668\uff0c\u800c\u65e0\u9700\u81ea\u5df1\u5efa\u8bbe\u6570\u636e\u4e2d\u5fc3\u3002\u7b97\u529b\u4ee5\u524d\u6240\u672a\u6709\u7b80\u6d01\u7684\u65b9\u5f0f\u63d0\u4f9b\u7ed9\u7528\u6237\u3002

\n

\u8fd8\u8bb0\u5f97 Google \u90a3\u7bc7\u8457\u540d\u7684 \u201cDatacenter as a computer\u201d\u00a0\u8bba\u6587\u5417\uff1f\u5982\u679c\u6211\u4eec\u628a\u4e91\u770b\u4f5c\u662f DT \u65f6\u4ee3\u7684\u8ba1\u7b97\u673a\uff0c\u90a3\u4e48\u4e00\u4e2a\u5f88\u81ea\u7136\u7684\u95ee\u9898\u662f\uff1a\u968f\u7740\u4e91\u7684 API \uff08\u5168\u6258\u7ba1\u670d\u52a1\uff09\u8d8a\u6765\u8d8a\u4e30\u5bcc\uff0c\u4ec0\u4e48\u624d\u662f\u9002\u5408\u4e8e\u4e91\u7684\u7f16\u7a0b\u6a21\u578b\uff1f\u6211\u4eec\u5e94\u5f53\u4ee5\u4f55\u79cd \u201c\u62bd\u8c61\u3001\u89e3\u8026\u3001\u96c6\u6210\u201d \u7684\u65b9\u5f0f\u6784\u5efa\u57fa\u4e8e\u4e91\u7684\u5e94\u7528\uff1f

\n

\"1.png\"

\n

\u5728\u56de\u7b54\u4e0a\u8ff0\u95ee\u9898\u4e4b\u524d\uff0c\u8ba9\u6211\u4eec\u9996\u5148\u5c06\u76ee\u5149\u8f6c\u5411 SaaS \u9886\u57df\u3002Salesforce \u662f SaaS \u9886\u57df\u7684\u660e\u661f\u4f01\u4e1a\uff0c\u5728\u5e73\u53f0\u5316\u80fd\u529b\u5efa\u8bbe\u65b9\u9762\u7684\u5e03\u5c40\u4e3a\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7edd\u4f73\u7684\u6848\u4f8b\u3002\u65e9\u671f\u7684 SaaS \u4ea7\u54c1\u91c7\u7528\u6807\u51c6\u5316\u7684\u4ea4\u4ed8\u6a21\u5f0f\uff0c\u901a\u8fc7\u5f00\u653e API \u63a5\u53e3\u5b9e\u73b0\u88ab\u96c6\u6210\u7684\u80fd\u529b\u3002\u968f\u7740 Salesforce \u4ea7\u54c1\u8d8a\u6765\u8d8a\u4e30\u5bcc\uff0c\u5ba2\u6237\u89c4\u6a21\u65e5\u76ca\u589e\u957f\uff0c\u4f01\u4e1a\u5f00\u59cb\u9762\u4e34\u65b0\u7684\u6311\u6218\uff1a

\n\n

Salesforce \u7684\u7b56\u7565\u662f\u8ba9\u6574\u4e2a\u4e1a\u52a1\u3001\u6280\u672f\u548c\u7ec4\u7ec7\u5e73\u53f0\u5316\u3002\u5e73\u53f0\u653e\u5927\u4e86\u4f01\u4e1a\u7684\u4ef7\u503c\uff0c\u8ba9\u4f01\u4e1a\u3001\u5ba2\u6237\u3001\u5f00\u53d1\u8005\u4e09\u65b9\u53d7\u76ca\u3002\u901a\u8fc7\u4e0d\u65ad\u63d0\u5347\u5e73\u53f0\u7684\u5e94\u7528\u4ea4\u4ed8\u80fd\u529b\uff0c\u5bf9\u5185\u5927\u5e45\u63d0\u9ad8\u4ea7\u54c1\u7684\u7814\u53d1\u6548\u7387\uff0c\u52a0\u5f3a\u4ea7\u54c1\u7684\u96c6\u6210\u548c\u6574\u5408\uff1b\u5bf9\u5916\u5219\u5927\u5e45\u63d0\u9ad8\u4e86\u4ea7\u54c1\u7684\u88ab\u96c6\u6210\u80fd\u529b\uff0c\u5efa\u7acb\u5f00\u53d1\u8005\u751f\u6001\u3002

\n

\u4ece 2006 \u5e74\u5f00\u59cb\uff0cSalesforce \u5728\u5e73\u53f0\u5316\u80fd\u529b\u5efa\u8bbe\u4e0a\u5927\u529b\u6295\u8d44\uff0c\u63a8\u51fa\u4e86 Apex\uff0cVisualforce \u7b49\u7f16\u7a0b\u8bed\u8a00\uff0c\u5141\u8bb8\u5ba2\u6237\u3001\u5408\u4f5c\u4f19\u4f34\u548c\u5f00\u53d1\u8005\u5728\u591a\u79df\u6237\u73af\u5883\u4e0b\u7f16\u5199\u548c\u8fd0\u884c\u81ea\u5b9a\u4e49\u7684\u903b\u8f91\u4ee3\u7801\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c2008 \u5e74\u63a8\u51fa\u81ea\u7814 Force.com PaaS \u5e73\u53f0\uff0c\u5ba2\u6237\u80fd\u591f\u5728\u8be5\u5e73\u53f0\u4e0a\u56f4\u7ed5 Salesforce \u7684\u80fd\u529b\u6784\u5efa\u81ea\u5df1\u7684\u5e94\u7528\u7a0b\u5e8f\u30022010 \u5e74\u6536\u8d2d\u4e86\u6d41\u884c\u7684 PaaS \u670d\u52a1\u5546 Heroku\uff0c2019 \u5e74\u63a8\u51fa Serverless \u8ba1\u7b97\u5e73\u53f0 Evergreen\uff0c\u8fdb\u4e00\u6b65\u52a0\u5f3a\u5e94\u7528\u6784\u5efa\u548c\u96c6\u6210\u4e0e\u88ab\u96c6\u6210\u80fd\u529b\u3002\u9664\u4e86\u5e94\u7528\u7684\u6784\u5efa\u80fd\u529b\uff0cSalesforce \u8fd1\u51e0\u5e74\u6765\u4e5f\u5728\u5e94\u7528\u7684\u79fb\u52a8\u5316\u3001\u6570\u636e\u5316\u548c\u667a\u80fd\u5316\u65b9\u9762\u8fdb\u884c\u4e86\u5927\u91cf\u7684\u6295\u8d44\uff0c\u5ef6\u4f38\u5e73\u53f0\u5728\u76f8\u5173\u9886\u57df\u7684\u80fd\u529b\uff0c\u5e2e\u52a9\u5ba2\u6237\u5b9e\u73b0\u7ba1\u7406\u6d41\u7a0b\u7684\u6570\u636e\u5316\u548c\u667a\u80fd\u5316\uff0c\u5e76\u901a\u8fc7\u6570\u636e\u5206\u6790\u548c\u4ea4\u6613\u64ae\u5408\u4e3a\u5ba2\u6237\u5e26\u6765\u589e\u91cf\u4e1a\u52a1\u3002

\n

\u603b\u7ed3 Salesforce \u7684\u53d1\u5c55\u5386\u7a0b\uff0c\u6211\u4eec\u53ef\u4ee5\u5f97\u51fa\u4e00\u4e9b\u89c2\u70b9\uff1a

\n\n

\u867d\u7136\u4e91\u8fdc\u6bd4\u4e0a\u8ff0 SaaS \u6848\u4f8b\u590d\u6742\uff0c\u4f46\u9075\u5faa\u7740\u7c7b\u4f3c\u7684\u53d1\u5c55\u903b\u8f91\u3002\u51e0\u4e4e\u6240\u6709\u4e91\u670d\u52a1\u7684\u4ea7\u54c1\u529f\u80fd\u90fd\u901a\u8fc7 API \u4f53\u73b0\uff0c\u4e91\u670d\u52a1\u5546\u4e5f\u628a\u53d1\u5c55\u5e73\u53f0\u7f16\u7a0b\u6a21\u578b\uff0c\u63d0\u5347\u7528\u6237\u4ef7\u503c\u4ea4\u4ed8\u80fd\u529b\u548c\u5efa\u7acb\u5e94\u7528\u5f00\u53d1\u751f\u6001\u4f5c\u4e3a\u6700\u91cd\u8981\u7684\u76ee\u6807\u3002\u5f53\u6211\u4eec\u4ece\u7f16\u7a0b\u6a21\u578b\u7684\u89c6\u89d2\u53bb\u5ba1\u89c6\u4e91\u7684\u4ea7\u54c1\u4f53\u7cfb\uff0c\u7eb7\u7e41\u590d\u6742\u7684\u4e91\u670d\u52a1\u5404\u81ea\u7684\u5b9a\u4f4d\u9010\u6e10\u6e05\u6670\u3002

\n

\u57fa\u7840\u8bbe\u65bd\u5373\u670d\u52a1\uff08 IaaS \uff09\u548c\u5bb9\u5668\u6280\u672f\u662f\u4e91\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u4ee5 K8S \u4e3a\u4ee3\u8868\u7684\u5bb9\u5668\u7f16\u6392\u670d\u52a1\u662f\u4e91\u539f\u751f\u5e94\u7528\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u9762\u5411\u7279\u5b9a\u9886\u57df\u7684\u540e\u7aef\u670d\u52a1\uff08 BaaS \uff09\u5219\u662f\u4e91\u7684 API \u3002\u4e3a\u4e86\u5b9e\u73b0\u66f4\u9ad8\u7684\u751f\u4ea7\u529b\uff0c\u5728\u5b58\u50a8\u3001\u6570\u636e\u5e93\u3001\u4e2d\u95f4\u4ef6\u3001\u5927\u6570\u636e\u3001AI \u7b49\u9886\u57df\uff0c\u5927\u91cf\u7684 BaaS \u670d\u52a1\u662f\u5168\u6258\u7ba1\u3001Serverless \u7684\u5f62\u6001\uff0c\u8fd9\u4e00\u8d8b\u52bf\u5df2\u6301\u7eed\u591a\u5e74\u3002\u4f8b\u5982\u73b0\u5728\u5ba2\u6237\u5df2\u7ecf\u975e\u5e38\u4e60\u60ef\u4f7f\u7528 Serverless \u5316\u7684\u5bf9\u8c61\u5b58\u50a8\uff0c\u800c\u4e0d\u662f\u81ea\u5df1\u57fa\u4e8e\u670d\u52a1\u5668\u642d\u5efa\u6570\u636e\u5b58\u50a8\u7cfb\u7edf\u3002\u5f53\u4e91\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684 Serverless BaaS \u670d\u52a1\u540e\uff0c\u9700\u8981\u4e00\u79cd\u65b0\u7684\u901a\u7528\u8ba1\u7b97\u670d\u52a1\uff0c\u80fd\u591f\u5c4f\u853d\u57fa\u7840\u8bbe\u65bd\u7684\u590d\u6742\u5ea6\uff0c\u57fa\u4e8e\u4e91\u670d\u52a1\u5feb\u901f\u6784\u5efa\u5e94\u7528\u3002\u56e0\u6b64 Serverless \u8ba1\u7b97\u5e94\u8fd0\u800c\u751f\uff0c\u5b83\u5305\u542b\u4e86\u4ee5\u4e0b\u8981\u7d20\uff1a

\n\n

\"2.png\"

\n

\u73b0\u72b6

\n

\u5f53\u4e0b Serverless \u5728\u54ea\u4e9b\u573a\u666f\u843d\u5730\uff1f

\n

\u968f\u7740\u7528\u6237\u5fc3\u667a\u7684\u5efa\u7acb\uff0c\u4ea7\u54c1\u672c\u8eab\u80fd\u529b\u7684\u5b8c\u5584\uff0cServerless \u8fd1\u5e74\u6765\u5448\u52a0\u901f\u53d1\u5c55\u7684\u8d8b\u52bf\u3002\u6211\u4eec\u770b\u5230\u5728\u5f88\u591a\u573a\u666f\u4e0b\uff0c\u7528\u6237\u4f7f\u7528 Serverless \u67b6\u6784\u5728\u53ef\u9760\u6027\u3001\u6210\u672c\u548c\u7814\u53d1\u8fd0\u7ef4\u6548\u7387\u7b49\u65b9\u9762\u83b7\u5f97\u663e\u8457\u7684\u6536\u76ca\u3002

\n

1. \u5c0f\u7a0b\u5e8f /Web/Mobile/API \u540e\u7aef\u670d\u52a1

\n

\u5728\u5c0f\u7a0b\u5e8f\u3001Web/Moible \u5e94\u7528\u3001API \u670d\u52a1\u7b49\u573a\u666f\u4e2d\uff0c\u4e1a\u52a1\u903b\u8f91\u590d\u6742\u591a\u53d8\uff0c\u8fed\u4ee3\u4e0a\u7ebf\u901f\u5ea6\u8981\u6c42\u9ad8\uff0c\u800c\u4e14\u8fd9\u7c7b\u5728\u7ebf\u5e94\u7528\uff0c\u8d44\u6e90\u5229\u7528\u7387\u901a\u5e38\u5c0f\u4e8e 30%\uff0c\u5c24\u5176\u662f\u5c0f\u7a0b\u5e8f\u7b49\u957f\u5c3e\u5e94\u7528\uff0c\u8d44\u6e90\u5229\u7528\u7387\u66f4\u662f\u4f4e\u4e8e 10%\u3002Serverless \u8ba1\u7b97\u7684\u514d\u8fd0\u7ef4\uff0c\u6309\u9700\u4ed8\u8d39\u7684\u7279\u70b9\u975e\u5e38\u9002\u5408\u6784\u5efa\u5c0f\u7a0b\u5e8f /Web/Mobile/API \u540e\u7aef\u7cfb\u7edf\uff0c\u901a\u8fc7\u9884\u7559\u8ba1\u7b97\u8d44\u6e90+\u5b9e\u65f6\u81ea\u52a8\u4f38\u7f29\uff0c\u5f00\u53d1\u8005\u80fd\u591f\u5feb\u901f\u6784\u5efa\u5ef6\u65f6\u7a33\u5b9a\u3001\u80fd\u627f\u8f7d\u9ad8\u9891\u8bbf\u95ee\u7684\u5728\u7ebf\u5e94\u7528\u3002\u5728\u963f\u91cc\u5185\u90e8\uff0c\u4f7f\u7528 Serverless \u6784\u5efa\u540e\u7aef\u670d\u52a1\u662f\u843d\u5730\u6700\u591a\u7684\u573a\u666f\uff0c\u5305\u62ec\u524d\u7aef\u5168\u6808\u9886\u57df\u7684 Serverless For Frontends\uff0c\u673a\u5668\u5b66\u4e60\u7b97\u6cd5\u670d\u52a1\uff0c\u5c0f\u7a0b\u5e8f\u5e73\u53f0\u5b9e\u73b0\u7b49\u7b49\u3002

\n

2. \u5927\u89c4\u6a21\u6279\u5904\u7406\u4efb\u52a1\u5904\u7406

\n

\u5178\u578b\u7684\u79bb\u7ebf\u4efb\u52a1\u6279\u5904\u7406\u7cfb\u7edf\uff0c\u4f8b\u5982\u5927\u89c4\u6a21\u97f3\u89c6\u9891\u6587\u4ef6\u8f6c\u7801\u670d\u52a1\uff0c\u5305\u542b\u8ba1\u7b97\u8d44\u6e90\u7ba1\u7406\u3001\u4efb\u52a1\u4f18\u5148\u7ea7\u8c03\u5ea6\u3001\u4efb\u52a1\u7f16\u6392\u3001\u4efb\u52a1\u53ef\u9760\u6267\u884c\u3001\u4efb\u52a1\u6570\u636e\u53ef\u89c6\u5316\u7b49\u4e00\u7cfb\u5217\u529f\u80fd\u3002\u5982\u679c\u4ece\u673a\u5668\u6216\u8005\u5bb9\u5668\u5c42\u6b21\u5f00\u59cb\u6784\u5efa\uff0c\u7528\u6237\u901a\u5e38\u4f7f\u7528\u6d88\u606f\u961f\u5217\u8fdb\u884c\u4efb\u52a1\u4fe1\u606f\u7684\u6301\u4e45\u5316\u548c\u8ba1\u7b97\u8d44\u6e90\u7684\u5206\u914d\uff0c\u4f7f\u7528 K8S \u7b49\u5bb9\u5668\u7f16\u6392\u7cfb\u7edf\u5b9e\u73b0\u8d44\u6e90\u7684\u4f38\u7f29\u548c\u5bb9\u9519\uff0c\u81ea\u884c\u642d\u5efa\u6216\u96c6\u6210\u76d1\u63a7\u62a5\u8b66\u7cfb\u7edf\u3002\u5982\u679c\u4efb\u52a1\u6d89\u53ca\u591a\u4e2a\u6b65\u9aa4\uff0c\u8fd8\u9700\u8981\u6574\u5408\u5de5\u4f5c\u6d41\u670d\u52a1\u5b9e\u73b0\u53ef\u9760\u6b65\u9aa4\u6267\u884c\uff0c\u800c\u901a\u8fc7 Serverless \u8ba1\u7b97\u5e73\u53f0\uff0c\u7528\u6237\u53ea\u9700\u8981\u4e13\u6ce8\u4e8e\u5b9e\u73b0\u4efb\u52a1\u5904\u7406\u903b\u8f91\uff0c\u800c\u4e14 Serverless \u8ba1\u7b97\u7684\u6781\u81f4\u5f39\u6027\u80fd\u5f88\u597d\u7684\u6ee1\u8db3\u7a81\u53d1\u4efb\u52a1\u5bf9\u7b97\u529b\u7684\u9700\u6c42\u3002

\n

\"3.png\"

\n

3. \u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u67b6\u6784\u7684\u5728\u7ebf\u5e94\u7528\u548c\u79bb\u7ebf\u6570\u636e\u5904\u7406

\n

\u5178\u578b\u7684 Serverless \u8ba1\u7b97\u670d\u52a1\u901a\u8fc7\u4e8b\u4ef6\u9a71\u52a8\u7684\u65b9\u5f0f\u5e7f\u6cdb\u7684\u4e0e\u4e91\u7aef\u5404\u79cd\u7c7b\u578b\u670d\u52a1\u96c6\u6210\uff0c\u7528\u6237\u65e0\u9700\u7ba1\u7406\u670d\u52a1\u5668\u7b49\u57fa\u7840\u8bbe\u65bd\u548c\u7f16\u5199\u96c6\u6210\u591a\u4e2a\u670d\u52a1\u7684\u80f6\u6c34\u4ee3\u7801\uff0c\u8f7b\u677e\u6784\u5efa\u677e\u8026\u5408\u3001\u5206\u5e03\u5f0f\u7684\u4e8b\u4ef6\u9a71\u52a8\u67b6\u6784\u7684\u5e94\u7528\u3002

\n

\u4ee5\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u4e3a\u4f8b\uff0c\u901a\u8fc7 API \u7f51\u5173\u548c\u51fd\u6570\u8ba1\u7b97\u7684\u96c6\u6210\uff0c\u7528\u6237\u53ef\u4ee5\u5feb\u901f\u5b9e\u73b0 API \u540e\u7aef\u670d\u52a1\u3002\u901a\u8fc7\u5bf9\u8c61\u5b58\u50a8\u548c\u51fd\u6570\u8ba1\u7b97\u7684\u4e8b\u4ef6\u96c6\u6210\uff0c\u51fd\u6570\u80fd\u5b9e\u65f6\u54cd\u5e94\u5bf9\u8c61\u521b\u5efa\u3001\u5220\u9664\u7b49\u4e8b\u4ef6\uff0c\u5b9e\u73b0\u4ee5\u5bf9\u8c61\u5b58\u50a8\u4e3a\u4e2d\u5fc3\u7684\u5927\u89c4\u6a21\u6570\u636e\u5904\u7406\u3002\u901a\u8fc7\u6d88\u606f\u4e2d\u95f4\u4ef6\u548c\u51fd\u6570\u8ba1\u7b97\u7684\u4e8b\u4ef6\u96c6\u6210\uff0c\u7528\u6237\u80fd\u5feb\u901f\u5b9e\u73b0\u6d77\u91cf\u6d88\u606f\u7684\u5904\u7406\u3002\u901a\u8fc7\u548c\u963f\u91cc\u4e91 EventBridge \u7684\u96c6\u6210\uff0c\u65e0\u8bba\u662f\u4e00\u65b9\u4e91\u670d\u52a1\uff0c\u8fd8\u662f\u4e09\u65b9\u7684 SaaS \u670d\u52a1\uff0c\u6216\u8005\u662f\u7528\u6237\u81ea\u5efa\u7684\u7cfb\u7edf\uff0c\u6240\u6709\u7684\u4e8b\u4ef6\u90fd\u53ef\u4ee5\u5feb\u901f\u4fbf\u6377\u7684\u88ab\u51fd\u6570\u8ba1\u7b97\u5904\u7406\u3002

\n

4. \u8fd0\u7ef4\u81ea\u52a8\u5316

\n

\u901a\u8fc7\u5b9a\u65f6\u89e6\u53d1\u5668\uff0c\u7528\u6237\u80fd\u591f\u7528\u51fd\u6570\u5feb\u901f\u5b9e\u73b0\u5b9a\u65f6\u4efb\u52a1\uff0c\u800c\u65e0\u987b\u7ba1\u7406\u6267\u884c\u4efb\u52a1\u7684\u5e95\u5c42\u670d\u52a1\u5668\u3002\u901a\u8fc7\u4e91\u76d1\u63a7\u89e6\u53d1\u5668\uff0c\u7528\u6237\u53ef\u4ee5\u63a5\u6536 ECS \u91cd\u542f /\u5b95\u673a\uff0cOSS \u5bf9\u8c61\u5b58\u50a8\u6d41\u63a7\u7b49 IaaS \u5c42\u670d\u52a1\u7684\u8fd0\u7ef4\u4e8b\u4ef6\uff0c\u5e76\u81ea\u52a8\u89e6\u53d1\u51fd\u6570\u5904\u7406\u3002

\n

\u672a\u6765

\n

Serverless \u5c06\u5411\u4f55\u5904\u53bb\uff1f

\n

\u8fd1\u5e74\u6765\uff0cServerless \u4e00\u76f4\u5728\u9ad8\u901f\u53d1\u5c55\uff0c\u5448\u73b0\u51fa\u8d8a\u6765\u8d8a\u5927\u7684\u5f71\u54cd\u529b\u3002\u4e3b\u6d41\u7684\u4e91\u670d\u52a1\u5546\u4e5f\u5728\u4e0d\u65ad\u5730\u4e30\u5bcc\u4e91\u4ea7\u54c1\u4f53\u7cfb\uff0c\u63d0\u4f9b\u66f4\u597d\u7684\u5f00\u53d1\u5de5\u5177\uff0c\u66f4\u9ad8\u6548\u7684\u5e94\u7528\u4ea4\u4ed8\u6d41\u6c34\u7ebf\uff0c\u66f4\u597d\u7684\u53ef\u89c2\u6d4b\u6027\uff0c\u66f4\u7ec6\u817b\u7684\u4ea7\u54c1\u95f4\u96c6\u6210\uff0c\u4f46\u4e00\u5207\u624d\u521a\u521a\u5f00\u59cb\u3002

\n

\u8d8b\u52bf 1\uff1aServerless \u5c06\u65e0\u5904\u4e0d\u5728

\n

\u4efb\u4f55\u8db3\u591f\u590d\u6742\u7684\u6280\u672f\u65b9\u6848\u5c06\u88ab\u5b9e\u73b0\u4e3a\u5168\u6258\u7ba1\u3001Serverless \u5316\u7684\u540e\u7aef\u670d\u52a1\u3002\u4e0d\u53ea\u662f\u4e91\u4ea7\u54c1\uff0c\u4e5f\u5305\u62ec\u5408\u4f5c\u4f19\u4f34\u548c\u4e09\u65b9\u670d\u52a1\u3002\u4e91\u53ca\u5176\u751f\u6001\u7684\u80fd\u529b\u5c06\u901a\u8fc7 API + Serverless \u6765\u4f53\u73b0\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5bf9\u4e8e\u4efb\u4f55\u4ee5 API \u4f5c\u4e3a\u529f\u80fd\u900f\u51fa\u65b9\u5f0f\u7684\u5e73\u53f0\u578b\u4ea7\u54c1\u6216\u7ec4\u7ec7\uff0c\u4f8b\u5982\u9489\u9489\u3001\u5fae\u4fe1\u3001\u6ef4\u6ef4\u7b49\u7b49\uff0cServerless \u90fd\u5c06\u662f\u5176\u5e73\u53f0\u6218\u7565\u4e2d\u6700\u91cd\u8981\u7684\u90e8\u5206\u3002

\n

\u8d8b\u52bf 2\uff1a\u548c\u5bb9\u5668\u751f\u6001\u5c06\u66f4\u52a0\u7d27\u5bc6\u878d\u5408

\n

\u5bb9\u5668\u5728\u5e94\u7528\u7684\u53ef\u79fb\u690d\u6027\u548c\u4ea4\u4ed8\u6d41\u7a0b\u654f\u6377\u6027\u4e0a\u5b9e\u73b0\u4e86\u98a0\u8986\u5f0f\u521b\u65b0\uff0c\u662f\u73b0\u4ee3\u5e94\u7528\u6784\u5efa\u548c\u4ea4\u4ed8\u7684\u4e00\u6b21\u91cd\u8981\u53d8\u9769\u3002

\n\n

\u5bb9\u5668\u5df2\u7ecf\u6210\u4e3a\u73b0\u4ee3\u5e94\u7528\u8fd0\u884c\u7684\u57fa\u7840\uff0c\u4f46\u7528\u6237\u4ecd\u7136\u9700\u8981\u8d1f\u8d23\u670d\u52a1\u5668\u7b49\u57fa\u7840\u8bbe\u65bd\u7684\u7ba1\u7406\uff0c\u5305\u62ec\u6c34\u4f4d\u9884\u4f30\u3001\u673a\u5668\u8fd0\u7ef4\u7b49\u7b49\u3002\u56e0\u6b64\u4e1a\u754c\u51fa\u73b0\u4e86 AWS Fargate\uff0c\u963f\u91cc\u4e91 ECI \u7b49 Serverless container \u670d\u52a1\uff0c\u5e2e\u52a9\u7528\u6237\u4e13\u6ce8\u4e8e\u5bb9\u5668\u5316\u5e94\u7528\u7684\u6784\u5efa\uff0c\u800c\u65e0\u9700\u8d1f\u62c5\u57fa\u7840\u8bbe\u65bd\u7684\u7ba1\u7406\u6210\u672c\u3002\u4ece Serverless \u89c6\u89d2\u6765\u770b\uff0c\u51fd\u6570\u8ba1\u7b97\u7b49 Serverless \u8ba1\u7b97\u670d\u52a1\u4e3a\u7528\u6237\u5e26\u6765\u4e86\u5168\u81ea\u52a8\u7684\u4f38\u7f29\u6a21\u5f0f\u3001\u6781\u81f4\u5f39\u6027\u4ee5\u53ca\u5b8c\u5168\u6309\u9700\u7684\u8ba1\u91cf\u65b9\u5f0f\uff0c\u5374\u5728\u7528\u6237\u5f00\u53d1\u4e60\u60ef\u7684\u517c\u5bb9\u6027\u3001\u53ef\u79fb\u690d\u6027\u3001\u5b8c\u5de5\u5177\u94fe\u548c\u751f\u6001\u7b49\u65b9\u9762\u9762\u4e34\u6311\u6218\uff0c\u800c\u8fd9\u6b63\u662f\u5bb9\u5668\u7684\u4f18\u52bf\u3002\u76f8\u4fe1\u968f\u7740\u6280\u672f\u7684\u53d1\u5c55\uff0c\u672a\u6765\u5bb9\u5668\u955c\u50cf\u4e5f\u5c06\u6210\u4e3a\u51fd\u6570\u8ba1\u7b97\u7b49\u66f4\u591a Serverless \u5e94\u7528\u7684\u5206\u53d1\u65b9\u5f0f\uff0c\u5bb9\u5668\u5e9e\u5927\u7684\u5de5\u5177\u751f\u6001\u548c Serverless \u514d\u8fd0\u7ef4\u3001\u6781\u81f4\u5f39\u6027\u7ed3\u5408\u5728\u4e00\u8d77\uff0c\u4e3a\u7528\u6237\u5e26\u6765\u5168\u65b0\u7684\u4f53\u9a8c\u3002

\n

\u8d8b\u52bf 3\uff1aServerless \u5c06\u901a\u8fc7\u4e8b\u4ef6\u9a71\u52a8\u7684\u65b9\u5f0f\u8fde\u63a5\u4e91\u53ca\u5176\u751f\u6001\u4e2d\u7684\u4e00\u5207

\n

\u6211\u4eec\u5df2\u7ecf\u5728\u524d\u8ff0\u7ae0\u8282\u4e2d\u8ba8\u8bba\u4e86\u51fd\u6570\u8ba1\u7b97\u901a\u8fc7\u4e8b\u4ef6\u9a71\u52a8\u548c\u4e91\u670d\u52a1\u8fde\u63a5\u7684\u610f\u4e49\uff0c\u8fd9\u6837\u7684\u80fd\u529b\u4e5f\u4f1a\u6269\u5c55\u5230\u6574\u4e2a\u4e91\u7684\u751f\u6001\u3002\u65e0\u8bba\u662f\u7528\u6237\u81ea\u5df1\u7684\u5e94\u7528\uff0c\u8fd8\u662f\u5408\u4f5c\u4f19\u4f34\u7684\u670d\u52a1\uff1b\u65e0\u8bba\u662f on-premise \u73af\u5883\uff0c\u8fd8\u662f\u516c\u6709\u4e91\uff0c\u6240\u6709\u7684\u4e8b\u4ef6\u90fd\u80fd\u4ee5 Serverless \u7684\u65b9\u5f0f\u5904\u7406\u3002\u4e91\u670d\u52a1\u53ca\u5176\u751f\u6001\u5c06\u66f4\u7d27\u5bc6\u7684\u8fde\u63a5\u5728\u4e00\u4e9b\uff0c\u6210\u4e3a\u7528\u6237\u6784\u5efa\u5f39\u6027\u9ad8\u53ef\u7528\u7684\u5e94\u7528\u7684\u57fa\u77f3\u3002

\n

\u8d8b\u52bf 4\uff1aServerless \u8ba1\u7b97\u5c06\u6301\u7eed\u63d0\u9ad8\u8ba1\u7b97\u5bc6\u5ea6\uff0c\u5b9e\u73b0\u6700\u4f73\u7684\u6027\u80fd\u529f\u8017\u6bd4\u548c\u6027\u80fd\u4ef7\u683c\u6bd4

\n

\u865a\u62df\u673a\u548c\u5bb9\u5668\u662f\u4e24\u79cd\u53d6\u5411\u4e0d\u540c\u7684\u865a\u62df\u5316\u6280\u672f\u3002\u524d\u8005\u5b89\u5168\u6027\u5f3a\uff0c\u5f00\u9500\u5c0f\uff0c\u540e\u8005\u5219\u76f8\u53cd\u3002Serverless \u8ba1\u7b97\u5e73\u53f0\u4e00\u65b9\u9762\u8981\u6c42\u6700\u9ad8\u7684\u5b89\u5168\u6027\u548c\u6700\u5c0f\u7684\u8d44\u6e90\u5f00\u9500\uff0c\u9c7c\u4e0e\u718a\u638c\u5fc5\u987b\u517c\u5f97\uff1b\u53e6\u4e00\u65b9\u9762\u8981\u4fdd\u6301\u5bf9\u539f\u6709\u7a0b\u5e8f\u6267\u884c\u65b9\u5f0f\u7684\u517c\u5bb9\uff0c\u6bd4\u5982\u652f\u6301\u4efb\u610f\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u8fd9\u4f7f\u5f97\u9002\u7528\u4e8e\u7279\u5b9a\u8bed\u8a00 VM \u7684\u65b9\u6848\u4e0d\u53ef\u884c\u3002\u56e0\u6b64 AWS Firecracker\uff0cGoogle gVisor \u8fd9\u6837\u65b0\u7684\u8f7b\u91cf\u865a\u62df\u5316\u6280\u672f\u5e94\u8fd0\u800c\u751f\u3002\u4ee5 AWS Firecracker \u4e3a\u4f8b\uff0c\u901a\u8fc7\u5bf9\u8bbe\u5907\u6a21\u578b\u7684\u88c1\u526a\u548c kernel \u52a0\u8f7d\u6d41\u7a0b\u7684\u4f18\u5316\uff0c\u5b9e\u73b0\u4e86\u767e\u6beb\u79d2\u7684\u542f\u52a8\u901f\u5ea6\u548c\u6781\u5c0f\u7684\u5185\u5b58\u5f00\u9500\u3002\u4e00\u53f0\u88f8\u91d1\u5c5e\u5b9e\u4f8b\u652f\u6301\u6570\u4ee5\u5343\u8ba1\u7684\u5b9e\u4f8b\u8fd0\u884c\u3002\u7ed3\u5408\u5e94\u7528\u8d1f\u8f7d\u611f\u77e5\u7684\u8d44\u6e90\u8c03\u5ea6\u7b97\u6cd5\uff0c\u4e91\u670d\u52a1\u5546\u6709\u671b\u5728\u4fdd\u6301\u7a33\u5b9a\u6027\u80fd\u7684\u524d\u63d0\u4e0b\uff0c\u5c06\u8d85\u5356\u7387\u63d0\u5347\u4e00\u4e2a\u6570\u91cf\u7ea7\u3002

\n

\u5f53 Serverless \u8ba1\u7b97\u7684\u89c4\u6a21\u548c\u5f71\u54cd\u529b\u53d8\u5f97\u8d8a\u6765\u8d8a\u5927\uff0c\u4ece\u5e94\u7528\u6846\u67b6\u3001\u8bed\u8a00\u3001\u786c\u4ef6\u7b49\u5c42\u9762\uff0c\u6839\u636e Serverless \u7684\u8d1f\u8f7d\u7279\u70b9\u8fdb\u884c\u7aef\u5bf9\u7aef\u4f18\u5316\u5c31\u53d8\u5f97\u975e\u5e38\u6709\u610f\u4e49\u3002\u65b0\u7684 Java \u865a\u62df\u673a\u6280\u672f\u5927\u5e45\u63d0\u9ad8 Java \u5e94\u7528\u7684\u542f\u52a8\u901f\u5ea6\uff0c\u975e\u6613\u5931\u6027\u5185\u5b58\u5e2e\u52a9\u5b9e\u4f8b\u66f4\u5feb\u88ab\u5524\u9192\uff0cCPU \u786c\u4ef6\u548c\u64cd\u4f5c\u7cfb\u7edf\u534f\u4f5c\u5bf9\u9ad8\u5bc6\u73af\u5883\u4e0b\u6027\u80fd\u6270\u52a8\u5b9e\u73b0\u7cbe\u7ec6\u9694\u79bb\uff0c\u6240\u6709\u65b0\u6280\u672f\u6b63\u5728\u521b\u9020\u5d2d\u65b0\u7684\u8ba1\u7b97\u73af\u5883\u3002

\n

\u5b9e\u73b0\u6700\u4f73\u6027\u80fd\u529f\u8017\u6bd4\u548c\u6027\u80fd\u4ef7\u683c\u6bd4\u7684\u53e6\u4e00\u4e2a\u91cd\u8981\u65b9\u5411\u662f\u652f\u6301\u5f02\u6784\u786c\u4ef6\u3002\u957f\u671f\u4ee5\u6765\uff0cX86 \u5904\u7406\u5668\u7684\u6027\u80fd\u8d8a\u6765\u8d8a\u96be\u4ee5\u63d0\u5347\u3002\u800c\u5728 AI \u7b49\u5bf9\u7b97\u529b\u8981\u6c42\u6781\u9ad8\u7684\u573a\u666f\uff0cGPU \u3001FPGA \u3001TPU \uff08 Tensor Processing Units \uff09 \u7b49\u67b6\u6784\u7684\u5904\u7406\u5668\u7684\u8ba1\u7b97\u6548\u7387\u66f4\u5177\u4f18\u52bf\u3002\u968f\u7740\u5f02\u6784\u786c\u4ef6\u865a\u62df\u5316\u3001\u8d44\u6e90\u6c60\u5316\u3001\u5f02\u6784\u8d44\u6e90\u8c03\u5ea6\u3001\u5e94\u7528\u6846\u67b6\u652f\u6301\u7684\u6210\u719f\uff0c\u5f02\u6784\u786c\u4ef6\u7684\u7b97\u529b\u4e5f\u80fd\u901a\u8fc7 Serverless \u7684\u65b9\u5f0f\u91ca\u653e\uff0c\u5927\u5e45\u964d\u4f4e\u7528\u6237\u4f7f\u7528\u95e8\u69db\u3002

\n

\u540e\u8bb0

\n

2009 \u5e74\uff0cUC Berkeley \u53d1\u8868\u4e86\u4e00\u7bc7\u8457\u540d\u7684\u8bba\u6587 \u201cAbove the Clouds: A Berkeley View of Cloud Computing\u201d\uff0c\u8ba8\u8bba\u4e86\u4e91\u53ca\u5176\u4ef7\u503c\u3001\u6311\u6218\u548c\u6f14\u8fdb\u8def\u5f84\uff0c\u5176\u4e2d\u7684\u771f\u77e5\u707c\u89c1\u5728\u4e91\u7684\u5341\u5e74\u53d1\u5c55\u5386\u7a0b\u4e2d\u9646\u7eed\u88ab\u9a8c\u8bc1\uff0c\u4eca\u5929\u5df2\u6ca1\u6709\u4eba\u6000\u7591\u4e91\u7684\u4ef7\u503c\u548c\u5bf9\u5404\u884c\u5404\u4e1a\u6df1\u523b\u7684\u5f71\u54cd\u30022019 \u5e74\uff0c\u4ed6\u4eec\u53d1\u8868\u4e86\u65b0\u7684\u8bba\u6587\uff0c\u201cCloud Programming Simplified: A Berkeley View on Serverless Computing\u201d\uff0c\u9884\u8a00 Serverless \u5c06\u4e3b\u5bfc\u4e0b\u4e00\u4e2a\u5341\u5e74\u4e91\u7684\u53d1\u5c55\uff0c\u4ea7\u4e1a\u7684\u53d1\u5c55\u662f\u87ba\u65cb\u5f0f\u4e0a\u5347\uff0cServerless \u7684\u8bde\u751f\u548c\u5174\u8d77\u903b\u8f91\u65e9\u5df2\u8574\u542b\u5176\u4e2d\u3002\u76f8\u4fe1\u4e0b\u4e00\u4e2a\u5341\u5e74\uff0cServerless \u5c06\u91cd\u5851\u4f01\u4e1a\u521b\u65b0\u7684\u65b9\u5f0f\uff0c\u5e2e\u52a9\u4e91\u6210\u4e3a\u793e\u4f1a\u53d1\u5c55\u7684\u5f3a\u5927\u52a8\u529b\u3002

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/735899", "title": "\u5728\u7ebf\u5e94\u7528\u7684 Serverless \u5b9e\u8df5", "id": "t/735899", "date_published": "2020-12-16T02:35:11+00:00", "content_html": "

\"\u5934\u56fe.jpg\"

\n

\u4f5c\u8005 | \u5510\u6167\u82ac\uff08\u9edb\u5ffb\uff09\u00a0 \u963f\u91cc\u4e91\u4ea7\u54c1\u4e13\u5bb6

\n
\n

\u5bfc\u8bfb\uff1a\u6beb\u65e0\u7591\u95ee\uff0cServerless \u80fd\u591f\u5728\u6548\u7387\u548c\u6210\u672c\u4e0a\u7ed9\u7528\u6237\u5e26\u6765\u5de8\u5927\u6536\u76ca\u3002\u90a3\u5177\u4f53\u5230\u843d\u5730\u53c8\u5e94\u8be5\u600e\u4e48\u505a\u5462\uff1f\u672c\u6587\u5c31\u7ed9\u5927\u5bb6\u8be6\u7ec6\u89e3\u8bfb Serverless \u7684\u843d\u5730\u5b9e\u8df5\u3002

\n
\n

Serverless \u843d\u5730\u4f01\u4e1a\u7ea7\u5e94\u7528\u7684\u6311\u6218

\n

\"1.PNG\"

\n

Serverless \u6280\u672f\u662f\u7ee7\u865a\u62df\u673a\u3001\u5bb9\u5668\u4e4b\u540e\u7684\u7b2c\u4e09\u4ee3\u901a\u7528\u8ba1\u7b97\u6280\u672f\u3002\u76f8\u5bf9\u4e8e\u4f20\u7edf\u540e\u53f0\u67b6\u6784\uff0cServerless \u5177\u6709\u514d\u8fd0\u7ef4\u3001\u7701\u6210\u672c\u3001\u5feb\u901f\u90e8\u7f72\u4ea4\u4ed8\u3001\u7075\u6d3b\u5f39\u6027\u7b49\u4f18\u70b9\uff0c\u8fd1\u5e74\u6765\u83b7\u5f97\u8d8a\u6765\u8d8a\u591a\u4f01\u4e1a\u548c\u5f00\u53d1\u8005\u7684\u5173\u6ce8\u548c\u9752\u7750\u3002\u4f46\u5bf9\u4e8e\u4f01\u4e1a\u7ea7\u5e94\u7528\u843d\u5730\u6765\u8bf4\uff0c\u4ecd\u5b58\u5728\u4e00\u4e9b\u6311\u6218\u3002

\n

\u6839\u636e\u54a8\u8be2\u516c\u53f8 O \u2018Reilly 2019 \u5e74\u5e95\u7684\u4e00\u4efd\u7edf\u8ba1\u62a5\u544a\u8868\u660e\uff1a\u5df2\u6709 40% \u7684\u7ec4\u7ec7\u6b63\u5728\u4f7f\u7528 Serverless \u6280\u672f\uff0c\u5269\u4e0b\u7684 60% \u4e2d\u8ba4\u4e3a\u6700\u5927\u7684 TOP 3 \u6311\u6218\u662f\uff1a

\n\n

SAE \u4ea7\u54c1\u4ecb\u7ecd

\n

\u90a3\u4e48\u6446\u5728 Serverless \u6280\u672f\u843d\u5730\u9762\u524d\u7684\u4e09\u5ea7\u5927\u5c71\u8be5\u5982\u4f55\u89e3\u51b3\u5462\uff1f\u7ed9\u5927\u5bb6\u5206\u4eab\u4e00\u6b3e\u4f4e\u95e8\u69db\uff0c\u65e0\u9700\u4efb\u4f55\u4ee3\u7801\u6539\u9020\u5c31\u80fd\u76f4\u63a5\u4f7f\u7528\u7684 Serverless PaaS \u5e73\u53f0\uff08 SAE \uff09\uff0c\u662f\u4f01\u4e1a\u5728\u7ebf\u4e1a\u52a1\u5e73\u6ed1\u4e0a\u4e91\u7684\u6700\u4f73\u9009\u62e9\u3002

\n

\"2.PNG\"

\n

SAE \u63d0\u4f9b\u4e86\u6210\u672c\u66f4\u4f18\u3001\u6548\u7387\u66f4\u9ad8\u7684\u5e94\u7528\u6258\u7ba1\u65b9\u6848\u3002\u5e95\u5c42\u57fa\u4e8e\u7edf\u4e00\u7684 K8s \u6280\u672f\u5e95\u5ea7\uff0c\u5e2e\u7528\u6237\u5c4f\u853d\u590d\u6742\u7684 IaaS \u5c42\u548c K8s \u96c6\u7fa4\u8fd0\u7ef4\uff0c\u63d0\u4f9b\u8ba1\u7b97\u8d44\u6e90\u3001\u5f39\u6027\u3001\u9694\u79bb\u6027\u7b49\u80fd\u529b\uff0c\u7528\u6237\u53ea\u9700\u5173\u5fc3\u5e94\u7528\u5b9e\u4f8b\u7684\u89c4\u683c\u548c\u5b9e\u4f8b\u6570\u3002

\n

\u5728\u5e94\u7528\u5c42\uff0c\u9664\u63d0\u4f9b\u4e86\u751f\u547d\u5468\u671f\u7ba1\u7406\u3001\u591a\u53d1\u5e03\u7b56\u7565\u5916\uff0c\u8fd8\u63d0\u4f9b\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5fae\u670d\u52a1\u6cbb\u7406\u80fd\u529b\uff0c\u89e3\u51b3\u5e94\u7528\u53ef\u89c2\u6d4b\u6027\u548c\u6cbb\u7406\u9700\u6c42\u3002\u540c\u65f6\u63d0\u4f9b\u4e00\u952e\u542f\u505c\u3001\u5e94\u7528\u7f16\u6392\u7b49\u9ad8\u7ea7\u80fd\u529b\uff0c\u8fdb\u4e00\u6b65\u63d0\u6548\u548c\u964d\u672c\u3002\u6838\u5fc3\u573a\u666f\u4e3b\u8981\u9762\u5411\u5728\u7ebf\u5e94\u7528\uff1a\u5fae\u670d\u52a1\u5e94\u7528\u3001Web \u5e94\u7528\u3001\u591a\u8bed\u8a00\u5e94\u7528\u7b49\u3002

\n

\u5728\u5f00\u53d1\u8005\u5de5\u5177\u65b9\u9762\uff0c\u548c CI/CD \u5de5\u5177\u505a\u4e86\u826f\u597d\u7684\u96c6\u6210\uff0c\u65e0\u8bba\u662f Jenkins \u8fd8\u662f\u4e91\u6548\uff0c\u90fd\u80fd\u76f4\u63a5\u90e8\u7f72\u5e94\u7528\u5230 SAE\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7 Cloud Toolkit \u63d2\u4ef6\u5de5\u5177\u5b9e\u73b0\u672c\u5730\u4e00\u952e\u90e8\u7f72\u5e94\u7528\u5230\u4e91\u7aef\uff0c\u53ef\u4ee5\u8bf4 SAE \u8986\u76d6\u4e86\u5e94\u7528\u4e0a\u4e91\u7684\u5b8c\u6574\u573a\u666f\u3002

\n

\"3.PNG\"

\n

SAE \u9664\u4e86 Serverless \u4f53\u9a8c\u672c\u8eab\u6240\u5e26\u6765\u7684\u6781\u81f4\u5f39\u6027\u3001\u514d\u8fd0\u7ef4\u3001\u7701\u6210\u672c\u7b49\u7279\u6027\u4e4b\u5916\uff0c\u91cd\u70b9\u5728\u5e94\u7528\u5c42\u7ed9\u7528\u6237\u63d0\u4f9b\u4e86\u5168\u6808\u7684\u80fd\u529b\uff0c\u5305\u62ec\u5bf9\u5fae\u670d\u52a1\u7684\u589e\u5f3a\u652f\u6301\uff0c\u4ee5\u53ca\u6574\u5408\u4e86\u548c\u5e94\u7528\u606f\u606f\u76f8\u5173\u80fd\u529b\uff0c\u5305\u62ec\u914d\u7f6e\u3001\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u6d41\u91cf\u63a7\u5236\u7b49\u3002\u518d\u52a0\u4e0a\u7528\u6237\u96f6\u4ee3\u7801\u7684\u6539\u9020\uff0c\u8fd9\u4e5f\u662f SAE \u533a\u522b\u5176\u5b83 Serveless \u4ea7\u54c1\u7684\u91cd\u8981\u4f18\u52bf\uff0c\u5e73\u6ed1\u8fc1\u79fb\u4f01\u4e1a\u5728\u7ebf\u5e94\u7528\u3002

\n

\"4.PNG\"

\n

SAE \u6709\u51e0\u4e2a\u5178\u578b\u7684\u4f7f\u7528\u573a\u666f\uff1a\u4e00\u4e2a\u662f\u5b58\u91cf\u4e1a\u52a1\u4e0a\u4e91\uff0c\u7279\u522b\u662f\u5fae\u670d\u52a1\u3001Java \u5e94\u7528\uff0c\u540c\u65f6\u4e5f\u652f\u6301\u5176\u4ed6\u8bed\u8a00\u7684\u5355\u4f53\u5e94\u7528\u5feb\u901f\u4e0a\u4e91 /\u642c\u7ad9\uff0c\u6ee1\u8db3\u6781\u81f4\u4ea4\u4ed8\u6548\u7387\u548c\u5f00\u7bb1\u5373\u7528\u7684\u4e00\u7ad9\u5f0f\u4f53\u9a8c\u3002\u5728\u884c\u4e1a\u65b9\u9762\uff0cSAE \u7279\u522b\u9002\u5408\u6709\u6bd4\u8f83\u5927\u7684\u6d41\u91cf\u6ce2\u52a8\u7684\u5728\u7ebf\u4e1a\u52a1\uff0c\u6bd4\u5982\u7535\u5546\u5927\u4fc3\u3001\u5728\u7ebf\u6559\u80b2\u7b49\u884c\u4e1a\u7684\u573a\u666f\u3002\u53e6\u5916 SAE \u4f5c\u4e3a\u5e94\u7528 PaaS \u4e5f\u53ef\u4ee5\u88ab\u4e0a\u5c42\u7684\u884c\u4e1a SaaS \u6240\u96c6\u6210\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u5feb\u5730\u6784\u5efa\u884c\u4e1a SaaS \u3002

\n

\u4ea7\u54c1\u6838\u5fc3\u6307\u6807

\n

\"5.PNG\"

\n

SAE \u4e09\u4e2a\u6838\u5fc3\u7684\u6307\u6807\uff1a\u5bb9\u5668\u542f\u52a8\u65f6\u957f 20s \uff08\u6307\u6807\u5b9a\u4e49\u662f\u4ece pull image \u5230\u5bb9\u5668\u542f\u52a8\u7684\u8017\u65f6\uff0c\u4e0d\u5305\u62ec\u5e94\u7528\u542f\u52a8\u65f6\u95f4\uff09\uff0c\u63a5\u4e0b\u6765\u6211\u4eec\u4f1a\u901a\u8fc7\u5404\u79cd\u6280\u672f\u4f18\u5316\u628a\u5b83\u4f18\u5316\u5230 5s \u5185\uff0c\u4fdd\u8bc1\u7528\u6237\u5728\u7a81\u53d1\u573a\u666f\u4e0b\u7684\u5feb\u901f\u6269\u5bb9\u6548\u7387\u3002\u6700\u5c0f\u89c4\u683c\u652f\u6301 0.5core 1GiB\uff0c\u6ee1\u8db3\u66f4\u7ec6\u7c92\u5ea6\u7684\u8d44\u6e90\u8bc9\u6c42\u3002\u76f8\u6bd4 ECS\uff0cSAE \u90e8\u7f72\u4e00\u5957\u5f00\u53d1\u6d4b\u8bd5\u73af\u5883\u7684\u6210\u672c\u53ef\u4ee5\u8282\u7701 47%\uff5e 57%\u3002

\n

\u6700\u4f73\u5b9e\u8df5

\n

\u901a\u8fc7\u524d\u6587\u4ecb\u7ecd\uff0c \u6211\u4eec\u4e86\u89e3\u4e86\u4ea7\u54c1\u7684\u7279\u6027\u3001\u4f18\u52bf\u3001\u9002\u7528\u573a\u666f\uff0c\u6700\u540e\u7ed9\u5927\u5bb6\u8be6\u7ec6\u4ecb\u7ecd\u51e0\u4e2a Serverless \u843d\u5730\u7684\u6700\u4f73\u5b9e\u8df5\u6848\u4f8b\u3002

\n

1. \u4f4e\u95e8\u69db\u5fae\u670d\u52a1\u67b6\u6784\u8f6c\u578b\u7684\u89e3\u51b3\u65b9\u6848

\n

\"6.PNG\"

\n

\u968f\u7740\u4e1a\u52a1\u7684\u5feb\u901f\u589e\u957f\uff0c\u5f88\u591a\u4f01\u4e1a\u90fd\u9762\u4e34\u5355\u4f53\u5411\u5fae\u670d\u52a1\u67b6\u6784\u6539\u9020\u8f6c\u578b\u7684\u96be\u9898\uff0c\u6216\u8005\u5f00\u6e90\u81ea\u5efa\u7684\u5fae\u670d\u52a1\u6846\u67b6\uff08 Spring Cloud / Dubbo \uff09\u80fd\u529b\u4e0d\u518d\u80fd\u6ee1\u8db3\u4f01\u4e1a\u7a33\u5b9a\u6027\u548c\u591a\u6837\u5316\u7684\u9700\u6c42\u3002\u901a\u8fc7 SAE \u63d0\u4f9b\u5f00\u7bb1\u5373\u7528\u7684\u5fae\u670d\u52a1\u80fd\u529b\u548c\u7a33\u5b9a\u6027\u515c\u5e95\u80fd\u529b\uff0c\u5df2\u8ba9\u8fd9\u4e9b\u4f01\u4e1a\u4f4e\u95e8\u69db\u5feb\u901f\u5b8c\u6210\u5fae\u670d\u52a1\u67b6\u6784\u8f6c\u578b\uff0c\u652f\u6491\u65b0\u4e1a\u52a1\u5feb\u901f\u4e0a\u7ebf\uff0c\u8ba9\u4f01\u4e1a\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u672c\u8eab\u3002

\n

\u53ef\u4ee5\u8bf4\uff0cSAE \u662f Serverless \u884c\u4e1a\u6700\u4f73\u7684\u5fae\u670d\u52a1\u5b9e\u8df5\uff0c\u540c\u65f6\u4e5f\u662f\u5fae\u670d\u52a1\u884c\u4e1a\u6700\u4f73\u7684 Serverless \u5b9e\u8df5\u3002

\n

2.\u00a0\u514d\u8fd0\u7ef4\u3001\u4e00\u952e\u542f\u505c\u5f00\u53d1\u6d4b\u8bd5\u73af\u5883\u7684\u964d\u672c\u65b9\u6848

\n

\"7.PNG\"

\n

\u4e2d\u5927\u578b\u4f01\u4e1a\u591a\u5957\u73af\u5883\uff0c\u5f80\u5f80\u5f00\u53d1\u6d4b\u8bd5\u3001\u9884\u53d1\u73af\u5883\u90fd\u4e0d\u662f 7*24 \u5c0f\u65f6\u4f7f\u7528\uff0c\u957f\u671f\u4fdd\u6709\u5e94\u7528\u5b9e\u4f8b\uff0c\u95f2\u7f6e\u6d6a\u8d39\u5f88\u9ad8\uff0c\u6709\u4e9b\u4f01\u4e1a CPU \u5229\u7528\u7387\u90fd\u5feb\u63a5\u8fd1 0\uff0c\u964d\u672c\u8bc9\u6c42\u660e\u663e\u3002\u901a\u8fc7 SAE \u4e00\u952e\u542f\u505c\u80fd\u529b\uff0c\u8ba9\u8fd9\u4e9b\u4f01\u4e1a\u5f97\u4ee5\u7075\u6d3b\u6309\u9700\u91ca\u653e\u8d44\u6e90\uff0c\u53ea\u5f00\u53d1\u6d4b\u8bd5\u73af\u5883\u5c31\u80fd\u8282\u7701 2/3 \u7684\u673a\u5668\u6210\u672c\uff0c\u975e\u5e38\u53ef\u89c2\u3002

\n

3.\u00a0\u7cbe\u51c6\u5bb9\u91cf\u3001\u6781\u81f4\u5f39\u6027\u7684\u89e3\u51b3\u65b9\u6848

\n

\"8.PNG\"

\n

\u7535\u5546\u7c7b\u3001\u5b89\u9632\u884c\u4e1a\u7b49\u5f80\u5f80\u4f1a\u6709\u4e00\u4e9b\u4e0d\u53ef\u9884\u671f\u7684\u7a81\u53d1\u6d41\u91cf\u9ad8\u5cf0\uff0c\u4e4b\u524d\u4ed6\u4eec\u90fd\u662f\u63d0\u524d\u9884\u4f30\u5cf0\u503c\uff0c\u6309\u7167\u5cf0\u503c\u4fdd\u6709 ECS \u8d44\u6e90\uff0c\u4f46\u7ecf\u5e38\u51fa\u73b0\u5bb9\u91cf\u9884\u4f30\u4e0d\u51c6\uff08\u8d44\u6e90\u6d6a\u8d39 or \u4e0d\u8db3\uff09\uff0c\u66f4\u4e25\u91cd\u7684\u751a\u81f3\u4f1a\u5f71\u54cd\u7cfb\u7edf\u7684 SLA \u3002

\n

\u91c7\u7528\u538b\u6d4b\u5de5\u5177 + SAE \u7684\u65b9\u6848\u540e\uff0c\u6839\u636e\u538b\u6d4b\u7ed3\u679c\u7cbe\u51c6\u8bbe\u7f6e\u5f39\u6027\u7b56\u7565\u671f\u671b\u503c\uff0c\u7136\u540e\u548c\u5b9e\u65f6\u7684\u76d1\u63a7\u6307\u6807\u6bd4\u5bf9\uff0c\u7cfb\u7edf\u81ea\u52a8\u8fdb\u884c\u6269\u7f29\u64cd\u4f5c\uff0c\u518d\u4e5f\u65e0\u9700\u5bb9\u91cf\u89c4\u5212\uff0c\u5e76\u4e14\u5f39\u6027\u6548\u7387\u80fd\u505a\u5230\u79d2\u7ea7\uff0c\u8f7b\u677e\u5e94\u5bf9\u5cf0\u503c\u5927\u8003\u3002

\n

4.\u00a0\u6784\u5efa\u9ad8\u6548\u95ed\u73af\u7684\u00a0DevOps \u4f53\u7cfb

\n

\"9.PNG\"

\n

SAE \u6784\u5efa\u4e86\u9ad8\u6548\u95ed\u73af\u7684 DevOps \u4f53\u7cfb\uff0c\u8986\u76d6\u4e86\u5e94\u7528\u7684\u5f00\u53d1\u6001\u3001\u90e8\u7f72\u6001\u3001\u8fd0\u7ef4\u6001\u7684\u6574\u4e2a\u8fc7\u7a0b\u3002\u4e2d\u5927\u578b\u4f01\u4e1a\u5f80\u5f80\u90fd\u4f7f\u7528\u4f01\u4e1a\u7ea7 CI/CD \u5de5\u5177 Jenkis / \u4e91\u6548\u90e8\u7f72 SAE \u5e94\u7528\uff0c\u5b8c\u6210\u4ece Source Code - \u6784\u5efa - \u90e8\u7f72\u5168\u94fe\u8def\u3002\u4e2d\u5c0f\u4f01\u4e1a /\u4e2a\u4eba\u5f00\u53d1\u8005\u5f80\u5f80\u9009\u62e9\u5f00\u53d1\u8005\u5de5\u5177 Maven \u63d2\u4ef6\u3001IDEA \u63d2\u4ef6\u4e00\u952e\u90e8\u7f72\u5e94\u7528\u5230\u4e91\u7aef\uff0c\u65b9\u4fbf\u672c\u5730\u8c03\u8bd5\uff0c\u63d0\u5347\u5f00\u53d1\u8005\u4f53\u9a8c\u3002\u5b8c\u6210\u90e8\u7f72\u540e\uff0c\u5373\u53ef\u8fdb\u884c\u8fd0\u7ef4\u6001\u7684\u6cbb\u7406\u548c\u8bca\u65ad\uff0c\u5982\u9650\u6d41\u964d\u7ea7\u3001\u5e94\u7528\u8bca\u65ad\uff0c\u6570\u636e\u5316\u8fd0\u8425\u5206\u6790\u7b49\u3002

\n

\u603b\u7ed3

\n

\u603b\u7ed3\u4e00\u4e0b\uff0c\u672c\u6587\u4e3b\u8981\u662f\u56f4\u7ed5\u5728\u7ebf\u5e94\u7528\u7684 Serverless \u843d\u5730\u5b9e\u8df5\u5c55\u5f00\u7684\u3002\u5f00\u7bc7\u63d0\u5230\u7684\u51e0\u4e2a\u843d\u5730\u6311\u6218\u5728 SAE \u4ea7\u54c1\u4e2d\u57fa\u672c\u90fd\u80fd\u5f97\u5230\u5f88\u597d\u7684\u89e3\u51b3\uff1a

\n\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/735660", "title": "\u4e00\u6587\u8bb2\u900f Serverless Kubernetes \u5bb9\u5668\u670d\u52a1", "id": "t/735660", "date_published": "2020-12-15T06:48:26+00:00", "content_html": "

\"\u5934\u56fe.jpg\"

\n

\u4f5c\u8005\u00a0| \u5f20\u7ef4\uff08\u8d24\u7ef4\uff09\u00a0 \u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u5f00\u53d1\u5de5\u7a0b\u5e08

\n

\u5bfc\u8bfb\uff1aServerless Kubernetes \u662f\u4ee5\u5bb9\u5668\u548c kubernetes \u4e3a\u57fa\u7840\u7684 Serverless \u670d\u52a1\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u79cd\u7b80\u5355\u6613\u7528\u3001\u6781\u81f4\u5f39\u6027\u3001\u6700\u4f18\u6210\u672c\u548c\u6309\u9700\u4ed8\u8d39\u7684 Kubernetes \u5bb9\u5668\u670d\u52a1\uff0c\u5176\u65e0\u9700\u8282\u70b9\u7ba1\u7406\u548c\u8fd0\u7ef4\uff0c\u65e0\u9700\u5bb9\u91cf\u89c4\u5212\uff0c\u8ba9\u7528\u6237\u66f4\u5173\u6ce8\u5e94\u7528\u800c\u975e\u57fa\u7840\u8bbe\u65bd\u7684\u7ba1\u7406\u3002\u6211\u4eec\u53ef\u4ee5\u628a Serverless Kubernetes \u7b80\u79f0\u4e3a ASK \u3002

\n

Serverless \u5bb9\u5668

\n

\u9996\u5148\u4ece Serverless \u5f00\u59cb\u8bb2\u8d77\uff0c\u76f8\u4fe1\u6211\u4eec\u5df2\u7ecf\u719f\u77e5 Serverless \u7406\u5ff5\u7684\u6838\u5fc3\u4ef7\u503c\uff0c\u5176\u4e2d\u5305\u62ec\u65e0\u9700\u7ba1\u7406\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\uff0c\u65e0\u9700\u5173\u5fc3\u5e95\u5c42 OS \u7684\u5347\u7ea7\u548c\u7ef4\u62a4\uff0c\u56e0\u4e3a Serverless \u53ef\u4ee5\u8ba9\u6211\u4eec\u66f4\u52a0\u5173\u6ce8\u5e94\u7528\u5f00\u53d1\u672c\u8eab\uff0c\u6240\u4ee5\u5e94\u7528\u7684\u4e0a\u7ebf\u65f6\u95f4\u66f4\u77ed\u3002\u540c\u65f6 Serverless \u67b6\u6784\u662f\u5929\u7136\u53ef\u6269\u5c55\u7684\uff0c\u5f53\u4e1a\u52a1\u7528\u6237\u6570\u6216\u8005\u8d44\u6e90\u6d88\u8017\u589e\u591a\u65f6\uff0c\u6211\u4eec\u53ea\u9700\u8981\u521b\u5efa\u66f4\u591a\u7684\u5e94\u7528\u8d44\u6e90\u5373\u53ef\uff0c\u5176\u80cc\u540e\u7684\u6269\u5c55\u6027\u662f\u7528\u6237\u81ea\u5df1\u8d2d\u4e70\u673a\u5668\u6240\u65e0\u6cd5\u6bd4\u62df\u7684\u3002Serverless \u5e94\u7528\u4e00\u822c\u662f\u6309\u9700\u521b\u5efa\uff0c\u7528\u6237\u65e0\u9700\u4e3a\u95f2\u7f6e\u7684\u8d44\u6e90\u4ed8\u8d39\uff0c\u53ef\u4ee5\u964d\u4f4e\u6574\u4f53\u7684\u8ba1\u7b97\u6210\u672c\u3002

\n

\"1.PNG\"

\n

\u4ee5\u4e0a\u6240\u8bb2\u7684\u51e0\u79cd\u90fd\u662f Serverless \u7406\u5ff5\u7684\u6838\u5fc3\u4ef7\u503c\uff0c\u4e5f\u662f Serverless \u5bb9\u5668\u4e0e\u5176\u4ed6 Sererless \u5f62\u6001\u7684\u76f8\u540c\u4e4b\u5904\u3002\u7136\u800c\uff0cServerless \u5bb9\u5668\u548c\u5176\u4ed6 Serverless \u5f62\u6001\u7684\u5dee\u5f02\uff0c\u5728\u4e8e\u5b83\u662f\u57fa\u4e8e\u5bb9\u5668\u7684\u4ea4\u4ed8\u5f62\u6001\u3002

\n

\"2.PNG\"

\n

\u57fa\u4e8e\u5bb9\u5668\u610f\u5473\u7740\u901a\u7528\u6027\u548c\u6807\u51c6\u6027\uff0c\u6211\u4eec\u53ef\u4ee5 Build once and Run anywhere\uff0c\u5bb9\u5668\u4e0d\u53d7\u8bed\u8a00\u548c\u5e93\u7684\u9650\u5236\uff0c\u65e0\u8bba\u4efb\u4f55\u5e94\u7528\u90fd\u53ef\u4ee5\u5236\u4f5c\u6210\u5bb9\u5668\u955c\u50cf\uff0c\u7136\u540e\u4ee5\u5bb9\u5668\u7684\u90e8\u7f72\u65b9\u5f0f\u542f\u52a8\u3002\u57fa\u4e8e\u5bb9\u5668\u7684\u6807\u51c6\u5316\uff0c\u5f00\u6e90\u793e\u533a\u4ee5 Kubernetes \u4e3a\u4e2d\u5fc3\u6784\u5efa\u4e86\u4e30\u5bcc\u7684\u4e91\u539f\u751f Cloud Native \u751f\u6001\uff0c\u6781\u5927\u5730\u4e30\u5bcc\u4e86 Serverless \u5bb9\u5668\u7684\u5468\u8fb9\u5e94\u7528\u6846\u67b6\u548c\u5de5\u5177\uff0c\u6bd4\u5982\u53ef\u4ee5\u975e\u5e38\u65b9\u4fbf\u5730\u90e8\u7f72 Helm Chart \u5305\u3002\u57fa\u4e8e\u5bb9\u5668\u548c Kubernetes \u6807\u51c6\u5316\uff0c\u6211\u4eec\u53ef\u4ee5\u8f7b\u677e\u5730\u5728\u4e0d\u540c\u73af\u5883\u4e2d\uff08\u7ebf\u4e0a\u7ebf\u4e0b\u73af\u5883\uff09\uff0c\u751a\u81f3\u5728\u4e0d\u540c\u4e91\u5382\u5546\u4e4b\u95f4\u8fdb\u884c\u5e94\u7528\u8fc1\u79fb\uff0c\u800c\u4e0d\u7528\u62c5\u5fc3\u5382\u5546\u9501\u5b9a\u3002\u8fd9\u4e9b\u90fd\u662f Serverless \u5bb9\u5668\u7684\u6838\u5fc3\u4ef7\u503c\u3002

\n

\"3.PNG\"\n\u25b2 Serverless \u5bb9\u5668\u4ea7\u54c1 Landscape

\n

\u5f53\u4e0b\u5404\u5927\u4e91\u5382\u5546\u90fd\u63a8\u51fa\u4e86\u81ea\u5df1\u7684 Serverless \u5bb9\u5668\u670d\u52a1\uff0c\u4e0a\u56fe\u4e3a Gartner \u8bc4\u4f30\u673a\u6784\u6574\u7406\u7684 Serverless \u5bb9\u5668\u4ea7\u54c1 Landscape\uff0c\u5176\u4e2d\u963f\u91cc\u4e91\u6709 Serverless Kubernetes ASK \u548c ECI \uff1b AWS \u6709 Fargate\uff0c\u57fa\u4e8e Fargate \u6709 EKS on Fargate \u548c ECS on Fargate \u4e24\u79cd\u5f62\u6001\uff1b Azure \u6709 ACI \u3002\u53e6\u5916 Gartner \u4e5f\u9884\u6d4b\uff0c\u5230 2023 \u5e74\uff0c\u5c06\u6709 70% \u7684 AI \u5e94\u7528\u4ee5\u5bb9\u5668\u548c Serverless \u65b9\u5f0f\u8fd0\u884c\u3002

\n

ASK/ACK on ECI \u5bb9\u5668\u670d\u52a1

\n

\u4e0b\u9762\u4ecb\u7ecd\u963f\u91cc\u4e91 Serverless \u5bb9\u5668\u4ea7\u54c1\u5bb6\u65cf\uff1aECI \u3001ACK on ECI \u548c Serverless Kubernetes \u3002

\n

1.\u00a0ECI

\n

\"4.PNG\"

\n

ECI \u5168\u79f0\u662f\u201cElastic Container Instance \u5f39\u6027\u5bb9\u5668\u5b9e\u4f8b\u201d\uff0c\u662f Serverless \u5bb9\u5668\u7684\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\uff0c\u5b9e\u73b0\u4e86\u5bb9\u5668\u955c\u50cf\u7684\u542f\u52a8\u3002ECI \u8ba9\u5bb9\u5668\u6210\u4e3a\u548c ECS \u4e00\u6837\u7684\u4e91\u4e0a\u4e00\u7b49\u516c\u6c11\u3002ECI \u5e95\u5c42\u8fd0\u884c\u73af\u5883\u57fa\u4e8e\u5b89\u5168\u5bb9\u5668\u6280\u672f\u8fdb\u884c\u5f3a\u9694\u79bb\uff0c\u6bcf\u4e2a ECI \u62e5\u6709\u4e00\u4e2a\u72ec\u7acb\u7684 OS \u8fd0\u884c\u73af\u5883\uff0c\u4fdd\u8bc1\u8fd0\u884c\u65f6\u7684\u5b89\u5168\u6027\u3002ECI \u652f\u6301 0.25c \u5230 64c \u7684 CPU \u89c4\u683c\uff0c\u4e5f\u652f\u6301 GPU\uff0c\u6309\u9700\u521b\u5efa\u6309\u79d2\u6536\u8d39\u3002\u548c ECS \u4e00\u6837\uff0cECI \u4e5f\u652f\u6301 Spot \u53ef\u62a2\u5360\u5f0f\u5b9e\u4f8b\uff0c\u5728\u4e00\u4e9b\u573a\u666f\u4e2d\u53ef\u4ee5\u8282\u7701 90% \u7684\u6210\u672c\u3002ECI \u5b9e\u4f8b\u7684\u542f\u52a8\u65f6\u95f4\u76ee\u524d\u7ea6\u662f 10s \u5de6\u53f3\uff0c\u7136\u540e\u5f00\u59cb\u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u3002\u6211\u4eec\u4e5f\u63d0\u4f9b\u4e86\u955c\u50cf\u5feb\u7167\u529f\u80fd\uff0c\u6bcf\u6b21\u5bb9\u5668\u542f\u52a8\u65f6\u4ece\u5feb\u7167\u4e2d\u8bfb\u53d6\u955c\u50cf\uff0c\u7701\u53bb\u8fdc\u7aef\u62c9\u53d6\u7684\u65f6\u95f4\u3002\u503c\u5f97\u5f3a\u8c03\u7684\u662f\uff0cECI \u548c ECS \u5171\u7528\u4e00\u4e2a\u5f39\u6027\u8ba1\u7b97\u8d44\u6e90\u6c60\uff0c\u8fd9\u610f\u5473\u7740 ECI \u7684\u5f39\u6027\u4f9b\u7ed9\u80fd\u529b\u53ef\u4ee5\u5f97\u5230\u6700\u5927\u7a0b\u5ea6\u7684\u5145\u5206\u4fdd\u969c\uff0c\u8ba9 ECI \u7528\u6237\u4eab\u53d7\u5f39\u6027\u8ba1\u7b97\u8d44\u6e90\u6c60\u7684\u89c4\u6a21\u5316\u7ea2\u5229\u3002

\n

ECI \u53ea\u53ef\u4ee5\u505a\u5230\u5355\u4e2a\u5bb9\u5668\u5b9e\u4f8b\u7684\u521b\u5efa\uff0c\u800c\u6ca1\u6709\u7f16\u6392\u7684\u80fd\u529b\uff0c\u6bd4\u5982\u8ba9\u5e94\u7528\u591a\u526f\u672c\u6269\u5bb9\uff0c\u8ba9 SLB \u548c Ingress \u63a5\u5165 Pod \u6d41\u91cf\uff0c\u6240\u4ee5\u6211\u4eec\u9700\u8981\u5728\u7f16\u6392\u7cfb\u7edf Kubernetes \u4e2d\u4f7f\u7528 ECI\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u4e24\u79cd\u5728 Kubernetes \u4e2d\u4f7f\u7528 ECI \u7684\u65b9\u5f0f\u3002\u4e00\u4e2a\u662f ACK on ECI\uff0c\u53e6\u5916\u4e00\u4e2a\u662f ASK \u3002

\n

\"5.PNG\"

\n

\u5728\u4e0e Kubernetes \u7f16\u6392\u7cfb\u7edf\u7684\u96c6\u6210\u4e2d\uff0c\u6211\u4eec\u4ee5 Pod \u7684\u5f62\u5f0f\u7ba1\u7406\u6bcf\u4e2a ECI \u5bb9\u5668\u5b9e\u4f8b\uff0c\u6bcf\u4e2a Pod \u5bf9\u5e94\u4e00\u4e2a ECI \u5b9e\u4f8b\uff0cECI Pod \u4e4b\u95f4\u76f8\u4e92\u9694\u79bb\uff0c\u4e00\u4e2a ECI Pod \u7684\u542f\u52a8\u65f6\u95f4\u7ea6\u662f 10s \u3002\u56e0\u4e3a\u662f\u5728 Kubernetes \u96c6\u7fa4\u4e2d\u7ba1\u7406 ECI Pod\uff0c\u6240\u4ee5\u5b8c\u5168\u8fde\u63a5\u4e86 Kubernetes \u751f\u6001\uff0c\u6709\u4ee5\u4e0b\u51e0\u70b9\u4f53\u73b0\uff1a

\n\n

\u8fd9\u4e9b\u90fd\u662f\u4f7f\u7528 Kubernetes \u7ba1\u7406\u5bb9\u5668\u5b9e\u4f8b\u7684\u4ef7\u503c\u6240\u5728\u3002

\n

\u9700\u8981\u7559\u610f\u7684\u662f Kubernetes \u4e2d\u7684 ECI Pod \u662f Serverless \u5bb9\u5668\uff0c\u6240\u4ee5\u4e0e\u666e\u901a\u7684 Pod \u76f8\u6bd4\uff0c\u4e0d\u652f\u6301\u4e00\u4e9b\u529f\u80fd\uff08\u6bd4\u5982 Daemonset \uff09\uff0c\u4e0d\u652f\u6301 Prividge \u6743\u9650\uff0c\u4e0d\u652f\u6301 HostPort \u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0cECI Pod \u4e0e\u666e\u901a Pod \u80fd\u529b\u4e00\u6837\uff0c\u6bd4\u5982\u652f\u6301\u6302\u8f7d\u4e91\u76d8\u3001NAS \u548c OSS \u6570\u636e\u5377\u7b49\u3002

\n

2. ACK on ECI

\n

\"6.PNG\"

\n

\u63a5\u4e0b\u6765\u6211\u4eec\u770b\u4e0b\u5728 ACK Kubernetes \u96c6\u7fa4\u4e2d\u4f7f\u7528 ECI \u7684\u65b9\u5f0f\u3002\u8fd9\u79cd\u65b9\u5f0f\u9002\u5408\u4e8e\u7528\u6237\u5df2\u7ecf\u6709\u4e86\u4e00\u4e2a ACK \u96c6\u7fa4\uff0c\u96c6\u7fa4\u4e2d\u5df2\u7ecf\u6709\u4e86\u5f88\u591a ECS \u8282\u70b9\uff0c\u6b64\u65f6\u53ef\u4ee5\u57fa\u4e8e ECI \u7684\u5f39\u6027\u80fd\u529b\u6765\u8fd0\u884c\u4e00\u4e9b\u77ed\u65f6\u95f4 Short-Run \u7684\u5e94\u7528\uff0c\u4ee5\u89e3\u51b3\u5143\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\u7684\u95ee\u9898\uff0c\u6216\u8005\u4f7f\u7528 ECI \u6765\u652f\u6491\u5e94\u7528\u7684\u5feb\u901f\u6269\u5bb9\uff0c\u56e0\u4e3a\u4f7f\u7528 ECI \u8fdb\u884c\u6269\u5bb9\u7684\u6548\u7387\u8981\u9ad8\u4e8e ECS \u8282\u70b9\u6269\u5bb9\u3002

\n

\u5728 ACK on ECI \u4e2d\uff0cECS \u548c ECI Pod \u53ef\u4ee5\u4e92\u8054\u4e92\u901a\uff0cECI Pod \u53ef\u4ee5\u8bbf\u95ee\u96c6\u7fa4\u4e2d\u7684 Coredns\uff0c\u4e5f\u53ef\u4ee5\u8bbf\u95ee ClusterIP Service \u3002

\n

3.\u00a0Serverless Kubernetes

\n

\"7.PNG\"

\n

\u4e0e ACK on ECI \u4e0d\u540c\u7684\u662f\uff0cASK Serverless Kubernetes \u96c6\u7fa4\u4e2d\u6ca1\u6709 ECS \u8282\u70b9\uff0c\u8fd9\u662f\u548c\u4f20\u7edf Kubernetes \u96c6\u7fa4\u6700\u4e3b\u8981\u7684\u5dee\u5f02\uff0c\u6240\u4ee5\u5728 ASK \u96c6\u7fa4\u4e2d\u65e0\u9700\u7ba1\u7406\u4efb\u4f55\u8282\u70b9\uff0c\u5b9e\u73b0\u4e86\u5f7b\u5e95\u7684\u514d\u8282\u70b9\u8fd0\u7ef4\u73af\u5883\uff0c\u662f\u4e00\u4e2a\u7eaf\u7cb9\u7684 Serverless \u73af\u5883\uff0c\u5b83\u8ba9 Kubernetes \u7684\u4f7f\u7528\u95e8\u69db\u5927\u5927\u964d\u4f4e\uff0c\u4e5f\u4e22\u5f03\u4e86\u7e41\u7410\u7684\u5e95\u5c42\u8282\u70b9\u8fd0\u7ef4\u5de5\u4f5c\uff0c\u66f4\u4e0d\u4f1a\u9047\u5230\u8282\u70b9 Notready \u7b49\u95ee\u9898\u3002\u5728 ASK \u96c6\u7fa4\u4e2d\uff0c\u7528\u6237\u53ea\u9700\u5173\u6ce8\u5e94\u7528\u672c\u8eab\uff0c\u800c\u65e0\u9700\u5173\u6ce8\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\u7ba1\u7406\u3002

\n

ASK \u7684\u5f39\u6027\u80fd\u529b\u4f1a\u4f18\u4e8e\u666e\u901a Kubernetes \u96c6\u7fa4\uff0c\u76ee\u524d\u662f 30s \u521b\u5efa 500 \u4e2a Pod \u5230 Running \u72b6\u6001\u3002\u96c6\u7fa4\u4e2d ECI Pod \u9ed8\u8ba4\u662f\u6309\u91cf\u6536\u8d39\uff0c\u4f46\u4e5f\u652f\u6301 Spot \u548c\u9884\u7559\u5b9e\u4f8b\u52b5\u6765\u964d\u4f4e\u6210\u672c\u3002\u5728\u517c\u5bb9\u6027\u65b9\u9762\uff0cASK \u4e2d\u6ca1\u6709\u771f\u5b9e\u8282\u70b9\u5b58\u5728\uff0c\u6240\u4ee5\u4e0d\u652f\u6301 Daemonset \u7b49\u4e0e\u8282\u70b9\u76f8\u5173\u7684\u529f\u80fd\uff0c\u50cf Deployment / Statefulset / Job / Service / Ingress / CRD \u7b49\u90fd\u662f\u65e0\u7f1d\u652f\u6301\u7684\u3002

\n

ASK \u4e2d\u9ed8\u8ba4\u7684 Ingress \u662f\u57fa\u4e8e SLB 7 \u5c42\u8f6c\u53d1\u5b9e\u73b0\uff0c\u7528\u6237\u65e0\u9700\u90e8\u7f72 Nginx Ingress\uff0c\u7ef4\u62a4\u66f4\u52a0\u7b80\u5355\u3002

\n

\u540c\u65f6\u57fa\u4e8e SLB 7 \u5c42\u6211\u4eec\u5b9e\u73b0\u4e86 Knative Serving \u80fd\u529b\uff0c\u5176\u4e2d Knative Controller \u88ab ASK \u6258\u7ba1\uff0c\u7528\u6237\u65e0\u9700\u8d1f\u62c5 Controller \u7684\u6210\u672c\u3002

\n

\u4e0e ACK \u4e00\u6837\uff0cASK \u548c Arms / SLS \u7b49\u4e91\u4ea7\u54c1\u5b9e\u73b0\u4e86\u5f88\u597d\u7684\u96c6\u6210\uff0c\u53ef\u4ee5\u5f88\u65b9\u4fbf\u5730\u5bf9 Pod \u8fdb\u884c\u76d1\u63a7\uff0c\u628a Pod \u65e5\u5fd7\u6536\u96c6\u5230 SLS \u4e2d\u3002

\n

\"8.PNG\"

\n

\u8fd9\u662f ASK \u7684\u6574\u4f53\u67b6\u6784\uff0c\u6838\u5fc3\u90e8\u5206\u662f ASK-Schduler\uff0c\u5b83\u8d1f\u8d23 Watch Pod \u7684\u53d8\u5316\uff0c\u7136\u540e\u521b\u5efa\u5bf9\u5e94\u7684 ECI \u5b9e\u4f8b\uff0c\u540c\u65f6\u628a ECI \u5b9e\u4f8b\u72b6\u6001\u540c\u6b65\u5230 Pod \u3002\u96c6\u7fa4\u4e2d\u6ca1\u6709\u771f\u5b9e ECS \u8282\u70b9\u6ce8\u518c\u5230 Apiserver \u3002\u8fd9\u4e2a Nodeless \u67b6\u6784\u89e3\u8026\u4e86 Kubernetes \u7f16\u6392\u5c42\u548c ECI \u8d44\u6e90\u5c42\uff0c\u8ba9 Kubernetes \u5f7b\u5e95\u6446\u8131\u5e95\u5c42\u8282\u70b9\u89c4\u6a21\u5bfc\u81f4\u7684\u5f39\u6027\u548c\u5bb9\u91cf\u9650\u5236\uff0c\u6210\u4e3a\u9762\u5411\u4e91\u7684 Nodeless Kubernetes \u5f39\u6027\u67b6\u6784\u3002

\n

ASK \u5178\u578b\u529f\u80fd

\n

\u4e0b\u9762\u4ecb\u7ecd ASK \u7684\u51e0\u4e2a\u5178\u578b\u529f\u80fd\uff1a

\n

1. GPU \u5b9e\u4f8b

\n

\"9.PNG\"

\n

\u7b2c\u4e00\u4e2a\u662f GPU \u5b9e\u4f8b\uff0c\u5728 Serverless \u96c6\u7fa4\u4e2d\u4f7f\u7528 GPU \u5bb9\u5668\u5b9e\u4f8b\u662f\u4e00\u4ef6\u975e\u5e38\u7b80\u5355\u7684\u4e8b\u60c5\uff0c\u4e0d\u9700\u8981\u5b89\u88c5 GPU \u9a71\u52a8\uff0c\u53ea\u9700\u8981\u6307\u5b9a GPU Pod \u89c4\u683c\uff0c\u4ee5\u53ca\u5bb9\u5668\u9700\u8981\u7684 GPU \u5361\u6570\uff0c\u7136\u540e\u5c31\u53ef\u4ee5\u4e00\u952e\u90e8\u7f72\uff0c\u8fd9\u5bf9\u4e8e\u673a\u5668\u5b66\u4e60\u573a\u666f\u53ef\u4ee5\u6781\u5927\u63d0\u9ad8\u5f00\u53d1\u548c\u6d4b\u8bd5\u7684\u6548\u7387\u3002

\n

2. Spot \u62a2\u5360\u5f0f\u5b9e\u4f8b

\n

\"10.PNG\"

\n

\u7b2c\u4e8c\u4e2a\u662f Spot \u62a2\u5360\u5f0f\u5b9e\u4f8b\u3002\u62a2\u5360\u5f0f\u5b9e\u4f8b\u662f\u4e00\u79cd\u6309\u9700\u5b9e\u4f8b\uff0c\u53ef\u4ee5\u5728\u6570\u636e\u8ba1\u7b97\u7b49\u573a\u666f\u4e2d\u964d\u4f4e\u8ba1\u7b97\u6210\u672c\u3002\u62a2\u5360\u5f0f\u5b9e\u4f8b\u521b\u5efa\u6210\u529f\u540e\u62e5\u6709\u4e00\u5c0f\u65f6\u7684\u4fdd\u62a4\u5468\u671f\u3002\u62a2\u5360\u5f0f\u5b9e\u4f8b\u7684\u5e02\u573a\u4ef7\u683c\u4f1a\u968f\u4f9b\u9700\u53d8\u5316\u800c\u6d6e\u52a8\uff0c\u6211\u4eec\u652f\u6301\u4e24\u79cd Spot \u7b56\u7565\uff0c\u4e00\u79cd\u662f\u5b8c\u5168\u6839\u636e\u5e02\u573a\u51fa\u4ef7\uff0c\u4e00\u79cd\u662f\u6307\u5b9a\u4ef7\u683c\u4e0a\u9650\uff0c\u6211\u4eec\u53ea\u9700\u8981\u7ed9 Pod \u52a0\u4e0a\u5bf9\u5e94\u7684 Annotation \u5373\u53ef\uff0c\u4f7f\u7528\u65b9\u6cd5\u975e\u5e38\u7b80\u5355\u3002

\n

3. \u5f39\u6027\u8d1f\u8f7d Elastic Workload

\n

\"11.PNG\"

\n

\u7b2c\u4e09\u4e2a\u91cd\u8981\u529f\u80fd\u662f\u5f39\u6027\u8d1f\u8f7d Elastic Workload\uff0c\u5f39\u6027\u8d1f\u8f7d\u5b9e\u73b0\u4e86 Deployment \u591a\u4e2a\u526f\u672c\u8c03\u5ea6\u5728\u4e0d\u540c\u7684\u5355\u5143\u4e0a\uff0c\u6bd4\u5982 ECS \u3001ECI \u548c ECI-Spot \u4e0a\uff0c\u901a\u8fc7\u8fd9\u79cd\u6df7\u5408\u8c03\u5ea6\u7684\u6a21\u5f0f\uff0c\u53ef\u4ee5\u964d\u4f4e\u8d1f\u8f7d\u7684\u8ba1\u7b97\u6210\u672c\u3002\u5728\u8fd9\u4e2a\u793a\u4f8b\u4e2d\uff0cDeployment \u662f 6 \u4e2a\u526f\u672c\uff0c\u5176\u4e2d 2 \u4e2a\u4e3a\u6b63\u5e38\u7684 ECI Pod\uff0c\u5176\u4ed6\u526f\u672c\u4e3a ECI-Spot \u5b9e\u4f8b\u3002

\n

ASK \u4f7f\u7528\u573a\u666f

\n

\u4e0a\u9762\u6211\u4eec\u5df2\u7ecf\u5bf9 Serverless Kubernetes \u505a\u4e86\u57fa\u672c\u7684\u4ea7\u54c1\u548c\u529f\u80fd\u4ecb\u7ecd\uff0c\u90a3\u4e48 ASK \u9002\u5408\u5728\u54ea\u4e9b\u573a\u666f\u4e2d\u4f7f\u7528\u5462\uff1f

\n

1. \u514d\u8fd0\u7ef4\u5e94\u7528\u6258\u7ba1

\n

\"12.PNG\"

\n

Serverless \u96c6\u7fa4\u6700\u5927\u7684\u7279\u70b9\u662f\u89e3\u51b3\u4e86\u5e95\u5c42\u8282\u70b9\u8d44\u6e90\u7684\u8fd0\u7ef4\u95ee\u9898\uff0c\u6240\u4ee5\u5176\u975e\u5e38\u9002\u5408\u5bf9\u5e94\u7528\u7684\u514d\u8fd0\u7ef4\u6258\u7ba1\uff0c\u8ba9\u7528\u6237\u5173\u6ce8\u5728\u5e94\u7528\u5f00\u53d1\u672c\u8eab\u3002\u5728\u4f20\u7edf K8s \u96c6\u7fa4\u4e2d\u7684\u5e94\u7528\u53ef\u4ee5\u65e0\u7f1d\u90e8\u7f72\u5728 Serverless \u96c6\u7fa4\u4e2d\uff0c\u5305\u62ec\u5404\u79cd Helm Chart \u3002\u540c\u65f6\u7ed3\u5408\u9884\u7559\u5b9e\u4f8b\u52b5\u53ef\u4ee5\u964d\u4f4e Pod \u7684\u957f\u8ba1\u7b97\u6210\u672c\u3002

\n

2.\u00a0ECI \u5f39\u6027\u8d44\u6e90\u6c60

\n

\"13.PNG\"

\n

\u7b2c\u4e8c\u4e2a\u573a\u666f\u662f ACK on ECI \u7684\u4f18\u52bf\uff0c\u6211\u4eec\u53ef\u4ee5\u9009\u62e9\u628a ECI \u4f5c\u4e3a\u5f39\u6027\u8d44\u6e90\u6c60\uff0c\u52a0\u5230\u5df2\u6709\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u5f53\u5e94\u7528\u4e1a\u52a1\u9ad8\u5cf0\u6765\u4e34\u65f6\uff0c\u901a\u8fc7 ECI \u52a8\u6001\u7075\u6d3b\u5730\u6269\u5bb9\uff0c\u76f8\u6bd4 ECS \u8282\u70b9\u6269\u5bb9\u66f4\u6709\u6548\u7387\uff0c\u8fd9\u79cd\u6bd4\u8f83\u9002\u5408\u7535\u5546\u6216\u8005\u5728\u7ebf\u6559\u80b2\u8fd9\u7c7b\u6709\u7740\u660e\u663e\u6ce2\u5cf0\u6ce2\u8c37\u7684\u4e1a\u52a1\u573a\u666f\uff0c\u7528\u6237\u65e0\u9700\u7ba1\u7406\u4e00\u4e2a\u5f88\u5927\u7684\u8282\u70b9\u8d44\u6e90\u6c60\uff0c\u901a\u8fc7 ECI \u5f39\u6027\u80fd\u529b\u6765\u964d\u4f4e\u6574\u4f53\u8ba1\u7b97\u6210\u672c\u3002

\n

3. \u5927\u6570\u636e\u8ba1\u7b97

\n

\"14.PNG\"

\n

\u7b2c\u4e09\u4e2a\u573a\u666f\u662f\u5927\u6570\u636e\u8ba1\u7b97\uff0c\u5f88\u591a\u7528\u6237\u4f7f\u7528 Serverless \u96c6\u7fa4\u6216\u8005 ACK on ECI \u6765\u8fdb\u884c Spark / Presto / AI \u7b49\u6570\u636e\u8ba1\u7b97\u6216\u8005\u673a\u5668\u5b66\u4e60\uff0c\u5229\u7528 ECI \u53ef\u4ee5\u8f7b\u677e\u89e3\u51b3\u8d44\u6e90\u89c4\u5212\u548c\u4e0d\u8db3\u7684\u95ee\u9898\u3002

\n

4.\u00a0CI/CD \u6301\u7eed\u96c6\u6210

\n

\"15.PNG\"

\n

\u7b2c\u56db\u4e2a\u573a\u666f\u662f CI/CD \u6301\u7eed\u96c6\u6210\uff0c\u5c06 Jenkins \u548c Gitlab-Runner \u5bf9\u63a5 ASK \u96c6\u7fa4\uff0c\u6309\u9700\u521b\u5efa CI/CD \u6784\u5efa\u4efb\u52a1\uff0c\u6784\u5efa\u5b8c\u6210\u540e\u76f4\u63a5\u90e8\u7f72\u5230 ASK \u6d4b\u8bd5\u73af\u5883\u8fdb\u884c\u9a8c\u8bc1\uff0c\u8fd9\u6837\u6211\u4eec\u65e0\u9700\u4e3a Job \u7c7b\u4efb\u52a1\u7ef4\u62a4\u4e00\u4e2a\u56fa\u5b9a\u8d44\u6e90\u6c60\uff0c\u6309\u9700\u521b\u5efa\u6781\u5927\u964d\u4f4e\u6210\u672c\uff0c\u53e6\u5916\u5982\u679c\u7ed3\u5408 Spot \u5b9e\u4f8b\u8fd8\u80fd\u8fdb\u4e00\u6b65\u964d\u4f4e\u6210\u672c\u3002

\n

\u4ee5\u4e0a\u5c31\u662f Serverless Kubernetes \u96c6\u7fa4\u7684\u5178\u578b\u573a\u666f\uff0c\u53e6\u6709\u5feb\u901f\u4f7f\u7528\u94fe\u63a5\u3001\u4ea7\u54c1\u6587\u6863\u4ee5\u53ca\u4f7f\u7528\u793a\u4f8b\uff0c\u4f9b\u5927\u5bb6\u5b66\u4e60\uff1a

\n

\u63a7\u5236\u53f0\uff1a https://cs.console.aliyun.com/ask\n\u4ea7\u54c1\u6587\u6863\uff1a https://www.alibabacloud.com/help/doc-detail/86366.htm\n\u793a\u4f8b\uff1a https://github.com/AliyunContainerService/serverless-k8s-examples

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/735648", "date_modified": "2020-12-15T06:29:40+00:00", "content_html": "

\"1.png\"

\n

Github\uff1ahttps://github.com/midwayjs/midway

\n

\u5f00\u6e90\u4e3a\u4e86\u524d\u7aef\u548c Node.js \u7684\u53d1\u5c55\uff0c\u70b9 Star\uff01

\n

\u53bb\u5e74\u963f\u91cc\u63d0\u51fa Serverless \u67b6\u6784\uff0c\u5e76\u5229\u7528\u5176\u65b0\u4e00\u4ee3\u7814\u53d1\u67b6\u6784\uff0c\u51cf\u5c11\u4e86\u5927\u91cf\u7814\u53d1\u4eba\u5458\u5bf9\u57fa\u7840\u8bbe\u65bd\u548c\u8fd0\u7ef4\u7684\u5173\u6ce8\u3002\u5bf9\u524d\u7aef\u5f00\u53d1\u8005\u800c\u8a00\uff0c\u4ed6\u4eec\u53ea\u9700\u5199\u51e0\u4e2a\u51fd\u6570\u5373\u53ef\u5b9e\u73b0\u540e\u7aef\u4e1a\u52a1\u903b\u8f91\uff0c\u63a8\u52a8\u4e1a\u52a1\u5feb\u901f\u4e0a\u7ebf\uff0c\u8ba9\u6574\u4e2a\u524d\u7aef\u7814\u53d1\u6548\u80fd\u63d0\u5347 50%\u3002

\n

\u5728\u8fc7\u53bb\u7684\u534a\u5e74\u91cc\uff0cMidway FaaS \u6536\u83b7\u4e86\u5f88\u591a\u540c\u5b66\u7684\u5173\u6ce8\uff0c\u4e5f\u6709\u4e0d\u5c11\u5927\u4f01\u4e1a\u5df2\u7ecf\u76f4\u63a5\u5f00\u59cb\u4f7f\u7528\uff0c\u5728\u6b64\u611f\u8c22\u4f60\u4eec\u3002\u4eca\u5929\uff0cMidway FaaS \u5c06\u6f14\u8fdb\u4e3a Midway Serverless\uff0c\u5e76\u6b63\u5f0f\u6210\u4e3a Midway \u4f53\u7cfb\u7684\u6838\u5fc3\u573a\u666f\uff0c\u540c\u65f6\u6b63\u5f0f\u53d1\u5e03 v1.0 \u7248\u672c\u3002

\n

v1.0 \u7248\u672c\u4ee3\u8868\u7740\u4e00\u4e2a\u6b63\u5f0f\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u653e\u5fc3\u7684\u4f7f\u7528\u3002\u901a\u8fc7\u6574\u4e2a Midway Serverless \u65b0\u4f53\u7cfb\uff0c\u6211\u4eec\u5c06\u963f\u91cc\u7684 Serverless \u80fd\u529b\u9010\u6b65\u5f00\u653e\uff0c\u524d\u7aef\u5c06\u8fdb\u5165\u4e00\u4e2a\u5d2d\u65b0\u7684\u65f6\u4ee3\u3002\u5c31\u50cf\u4e24\u5e74\u524d\u8bf4\u7684\u4e00\u6837\uff0c\u5f00\u6e90\u53ea\u662f\u5f00\u59cb\uff0c\u7ec8\u6001\u8fdc\u6ca1\u6709\u5230\u6765\u3002

\n

\u5982\u4eca\u7684 Serverless\uff0c\u662f\u4e91\u5382\u5546\u5404\u81ea\u5f00\u7586\u62d3\u571f\u7684\u9ec4\u91d1\u65f6\u4ee3\uff0c\u4e5f\u662f\u5404\u4f4d\u5c1d\u8bd5\u7684\u6700\u597d\u5e74\u4ee3\uff0c\u5982\u4eca Node.js \u5728\u8fd9\u4e2a\u65f6\u5019\u6210\u4e3a\u4e86\u6700\u4f73\u9009\u62e9\uff0cMidway \u4f53\u7cfb\u4e5f\u5f53\u4ec1\u4e0d\u8ba9\u5730\u7ad9\u5728\u8fd9\u5341\u5b57\u8def\u53e3\uff0c\u53bb\u671d\u7740\u5f15\u9886\u7684\u65b9\u5411\u53bb\u884c\u3002

\n

\u4ec0\u4e48\u662f Midway Serverless

\n

\u5c31\u50cf\u524d\u9762\u63d0\u5230\u7684\u4e00\u6837\uff0cMidway Serverless \u662f\u5957\u9762\u5411 Serverless \u7684\u89e3\u51b3\u65b9\u6848\uff0c\u5b83\u5305\u62ec\u6846\u67b6\uff0c\u8fd0\u884c\u65f6\uff0c\u5de5\u5177\u94fe\uff0c\u914d\u7f6e\u89c4\u8303\u51e0\u4e2a\u90e8\u5206\uff0c\u8fd9\u51e0\u90e8\u5206\u7684\u7ec4\u5408\u4e4b\u540e\uff0c\u63d0\u4f9b\u4e86\u4e00\u4e9b\u9762\u5411 Serverless \u4f53\u7cfb\u7684\u7279\u6709\u80fd\u529b\uff1a

\n

1. \u5e73\u53f0\u95f4\u8fc1\u79fb\u66f4\u5bb9\u6613

\n\n

2. \u8ba9\u5e94\u7528\u66f4\u6613\u7ef4\u62a4\u548c\u6269\u5c55

\n\n

3. \u751f\u6001\u66f4\u8f7b\u91cf\u548c\u81ea\u7531

\n\n

\u4e0a\u9762\u63d0\u5230\u7684\u5168\u90e8\u80fd\u529b\uff0c\u90fd\u5df2\u7ecf\u5728 Midway Serverless \u4ed3\u5e93\u5f00\u6e90\uff0c\u6b22\u8fce\u8df3\u8f6c\u70b9 Star\u3002

\n

Github\uff1ahttps://github.com/midwayjs/midway

\n

Serverless \u548c FaaS

\n

FaaS \u662f Serverless \u67b6\u6784\u7684\u5176\u4e2d\u4e00\u79cd\u5f62\u6001\uff0c\u4e5f\u662f\u8fd9\u4e00\u6b21 Midway \u5e0c\u671b\u89e3\u51b3\u7684\u573a\u666f\uff0c\u5728 v1.0 \u4e4b\u524d\uff0c\u6211\u4eec\u5728 FaaS \u4e0a\u6295\u5165\u4e86\u8bb8\u591a\uff0c\u4f46\u662f\u4e8b\u5b9e\u4e0a Serverless \u67b6\u6784\u975e\u5e38\u5e9e\u5927\uff0cFaaS \u53ea\u662f\u5176\u4e2d\u7684\u4e00\u5c0f\u90e8\u5206\uff0c\u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u7684\u6a21\u578b\uff0c\u4ece\u5fae\u670d\u52a1\uff08 MicroService \uff09\u8fd9\u79cd\u4e13\u6ce8\u4e8e\u5355\u4e00\u804c\u8d23\u4e0e\u529f\u80fd\u7684\u5c0f\u578b\u529f\u80fd\u5757\u6f14\u8fdb\u800c\u6765\u3002\u5982\u4eca\u8fd9\u79cd\u66f4\u52a0\u201c\u4ee3\u7801\u788e\u7247\u5316\u201d\u7684\u8f6f\u4ef6\u67b6\u6784\u8303\u5f0f\uff0c\u76f8\u6bd4\u5fae\u670d\u52a1\u66f4\u52a0\u7ec6\u5c0f\u7684\u7a0b\u5e8f\u5355\u5143\uff0c\u7ed9\u4e1a\u52a1\u4ee3\u7801\u63d0\u4f9b\u4e86\u65e0\u4e0e\u4f26\u6bd4\u7684\u7075\u6d3b\u6027\u3002

\n

\u4eca\u5929\u6309\u7167\u300a\u798f\u5e03\u65af\u300b\u6742\u5fd7\u7684\u7edf\u8ba1\uff0c\u5728\u5546\u4e1a\u548c\u4f01\u4e1a\u6570\u636e\u4e2d\u5fc3\u7684\u5178\u578b\u670d\u52a1\u5668\u4ec5\u63d0\u4f9b 5%\uff5e 15% \u7684\u5e73\u5747\u6700\u5927\u5904\u7406\u80fd\u529b\u7684\u8f93\u51fa\uff0c\u8fd9\u65e0\u7591\u662f\u4e00\u79cd\u8d44\u6e90\u7684\u5de8\u5927\u6d6a\u8d39\u3002\u800c\u968f\u7740 Serverless \u67b6\u6784\u7684\u51fa\u73b0\uff0c\u8ba9\u670d\u52a1\u63d0\u4f9b\u5546\u63d0\u4f9b\u6211\u4eec\u7684\u8ba1\u7b97\u80fd\u529b\u6700\u5927\u9650\u5ea6\u6ee1\u8db3\u5b9e\u65f6\u9700\u6c42\uff0c\u8fd9\u5c06\u4f7f\u6211\u4eec\u80fd\u66f4\u6709\u6548\u5730\u5229\u7528\u8ba1\u7b97\u8d44\u6e90\u3002

\n

\u5f39\u6027\u5bb9\u5668\uff0c\u80fd\u591f\u6ee1\u8db3\u5f53\u524d\u7684\u5bf9\u8d44\u6e90\u5229\u7528\u5168\u90e8\u61a7\u61ac\uff0c\u4e5f\u662f\u4e91\u5e73\u53f0\u4e0d\u65ad\u8ffd\u6c42\u7684\u76ee\u6807\u4e4b\u4e00\uff0c\u800c\u5bf9\u4e8e\u5f00\u53d1\u8005\uff0c\u4e0d\u7ba1\u662f\u5f39\u6027\u7684\u5bb9\u5668\uff0c\u8fd8\u662f\u5f39\u6027\u7684\u51fd\u6570\uff0c\u53ea\u8981\u6709\u4e00\u5957\u4ee3\u7801\u80fd\u90fd\u8fd0\u884c\u5176\u4e2d\uff0c\u6ee1\u8db3\u4e1a\u52a1\u7684\u9700\u6c42\u5373\u53ef\u3002Midway Serverless \u7684\u76ee\u6807\u7531\u6b64\u800c\u6765\uff0c\u4ece\u539f\u6765\u7684 FaaS \u573a\u666f\u5f00\u62d3\u5230\u4e86\u5176\u4ed6\u9886\u57df\uff0c\u4e0d\u7ba1\u662f\u51fd\u6570\u8fd8\u662f\u65b0\u7684\u67b6\u6784\uff0c\u6211\u4eec\u90fd\u5c06\u4e00\u4e00\u6ee1\u8db3\uff0c\u5e76\u843d\u5730\u4e1a\u52a1\u3001\u53cd\u54fa\u793e\u533a\u3002

\n

\u9632\u5e73\u53f0\u9501\u5b9a

\n

Vendor Lock-in \u662f\u6bcf\u4e2a\u4f7f\u7528\u4e91\u5e73\u53f0\u7684\u7684\u4eba\u90fd\u4f1a\u62f7\u95ee\u7075\u9b42\u7684\u95ee\u9898\uff0cMidway Serverless \u4e00\u5f00\u59cb\u7684\u521d\u8877\u5c31\u662f\u8ba9\u4e00\u5957\u4ee3\u7801\u80fd\u591f\u8fd0\u884c\u5728\u4e0d\u540c\u7684\u5e73\u53f0\u548c\u8fd0\u884c\u65f6\u4e4b\u4e0a\uff0c\u6211\u4eec\u4e0d\u5efa\u8bae\u5728\u4e0d\u4e86\u89e3\u5168\u8c8c\u65f6\u53bb\u81ea\u5b9a\u4e49\u8fd0\u884c\u65f6\uff0c\u90a3\u975e\u5e38\u7684\u5371\u9669\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5b98\u65b9\u7684\u8fd0\u884c\u65f6\u662f\u8fd0\u884c\u6700\u7a33\u5b9a\uff0c\u4e5f\u4e00\u5b9a\u662f\u6027\u80fd\u6700\u597d\u7684\uff0c\u6240\u6709\u7684\u57fa\u51c6\u8dd1\u5206\u90fd\u662f\u57fa\u4e8e\u6b64\u3002

\n

\u6211\u4eec\u4e86\u89e3\u7684\u5927\u591a\u6570\u4f01\u4e1a\u5728\u9762\u5bf9 Serverless \u7684\u7b2c\u4e00\u4e2a\u95ee\u9898\u5c31\u662f\uff0c\u6211\u7684\u4ee3\u7801\u662f\u4e0d\u662f\u4e00\u5b9a\u5f97\u7ed1\u6b7b\u5230\u963f\u91cc\u4e91\uff0c\u6216\u8005\u817e\u8baf\u4e91\uff0cAWS \u7b49\u7b49\u3002

\n

\u9762\u5bf9\u8fd9\u4e2a\u95ee\u9898\uff0cMidway Serverless \u63d0\u4f9b\u4e86\u4e00\u5957 \u201c\u9690\u85cf\u5f0f\u201d \u5165\u53e3\u52a0\u4e0a\u901a\u7528\u5316\u5b9a\u4e49\u6765\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002

\n

\u9488\u5bf9\u6bcf\u4e2a\u5e73\u53f0\uff0cMidway Serverless \u63d0\u4f9b\u4e86\u4e0d\u540c\u7684\u8fd0\u884c\u65f6\u542f\u52a8\u5668\uff0c\u7528\u4e8e\u62b9\u5e73\u5404\u4e2a\u5e73\u53f0\u7684\u5dee\u5f02\uff0c\u5e76\u4e14\u901a\u8fc7\u8fd9\u4e9b\u542f\u52a8\u5668\uff0c\u5c06\u5404\u4e2a\u5e73\u53f0\u7684\u51fa\u5165\u53c2\uff0c\u4ee5\u53ca\u5404\u4e2a event \u7ed3\u6784\uff0c\u7f51\u5173\u7684\u8fd4\u56de\u683c\u5f0f\u8fdb\u884c\u89c4\u5219\u5316\uff0c\u8ba9\u7528\u6237\u5c3d\u53ef\u80fd\u4e0d\u611f\u77e5\u5e95\u5c42\u5bb9\u5668\u4ee5\u53ca\u534f\u8bae\u7684\u5dee\u5f02\u3002

\n

\"2.png\"

\n

\u9664\u6b64\u4e4b\u5916\uff0cMidway Serverless \u63d0\u4f9b\u4e86\u4e00\u5957 Spec \u5b9a\u4e49\uff0c\u6765\u62b9\u5e73\u591a\u4e2a\u5e73\u53f0\u7684\u5dee\u5f02\uff0c\u540c\u65f6\u4e5f\u80fd\u65b9\u4fbf\u7684\u5728\u591a\u4e2a\u5e73\u53f0\u95f4\u590d\u7528\u76f8\u540c\u7684\u5de5\u5177\u94fe\u548c\u51fd\u6570\u903b\u8f91\u3002

\n

\"3.png\"

\n

\u8fd9\u6837\uff0c\u4e0d\u7ba1\u662f API Gateway\uff0c\u8fd8\u662f\u666e\u901a\u7684 HTTP \u89e6\u53d1\u5668\uff0c\u90fd\u80fd\u5728\u7edf\u4e00\u7684\u7f16\u7a0b\u5e73\u9762\u4e2d\u63d0\u4f9b API\uff0c\u8ba9\u7f16\u5199\u4ee3\u7801\u53d8\u7684\u7b80\u5355\u3002

\n

TS \u4e0e\u88c5\u9970\u5668

\n

\u51fd\u6570\u7684\u5199\u6cd5\u662f\u5341\u5206\u7075\u6d3b\u7684\uff0c\u7075\u6d3b\u5e26\u6765\u4e86\u7b80\u4fbf\uff0c\u540c\u65f6\u4e5f\u5e26\u6765\u4e86\u7ef4\u62a4\u6210\u672c\u3002\u7531\u6b64\u5728\u51fd\u6570\u4e2d\u5f15\u5165\u4e86 TS\uff0c\u5f15\u5165\u4e86\u6807\u51c6\u548c\u6269\u5c55\u6027\u3002

\n

\u4e0b\u9762\u7684\u4ee3\u7801\uff0c\u770b\u8d77\u6765\u4f3c\u4e4e\u662f koa \u7684\u6807\u51c6\u8bed\u6cd5\uff0c\u5176\u5b9e\u662f\u51fd\u6570\u4e2d\u9762\u5411 HTTP \u89e6\u53d1\u5668\u7684 API\uff0c\u4e3a\u4e86\u548c Web \u6808\u8bed\u6cd5\u4fdd\u6301\u4e00\u81f4\uff0c\u901a\u8fc7\u4e00\u4e9b\u8f6c\u53d8\uff0c\u4f7f\u5f97\u53c2\u6570\u7684\u83b7\u53d6\uff0c\u8c03\u7528\u90fd\u5c3d\u53ef\u80fd\u65e0\u7f1d\u8854\u63a5\uff0c\u4e5f\u51cf\u5c11\u4e86\u5b66\u4e60\u7684\u6210\u672c\uff0c\u539f\u6709\u7684\u4ee3\u7801\u4e5f\u80fd\u66f4\u597d\u7684\u8fc1\u79fb\u8fc7\u6765\u3002

\n

\"4.png\"

\n

\u53e6\u4e00\u8fb9\uff0c\u901a\u8fc7\u88c5\u9970\u5668\u4fee\u9970\u7684\u65b9\u6cd5\u90fd\u5c06\u53d8\u4e3a\u51fd\u6570\u5165\u53e3\uff0c\u8ba9\u6574\u4e2a\u51fd\u6570\u7684\u7ed3\u6784\u53d8\u5f97\u81ea\u7531\u3002\u901a\u8fc7\u6784\u5efa\u7684\u65b9\u5f0f\uff0c\u8ba9\u771f\u5b9e\u7684\u5165\u53e3\u9690\u85cf\u8d77\u6765\uff0c\u4e0d\u4ec5\u8ba9\u51fd\u6570\u8de8\u591a\u4e2a\u5e73\u53f0\u8c03\u7528\uff0c\u4e5f\u53ef\u4ee5\u9002\u914d\u5230\u4e0d\u540c\u7684\u8def\u7531\u3002\u5982\u4e0a\u9762\u7684\u793a\u4f8b\uff0c\u5728\u4e00\u4e2a\u6587\u4ef6\u4e2d\u5165\u53e3\u6709\u591a\u4e2a\uff0c\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u4efd\u4ee3\u7801\uff0c\u4f46\u662f\u5b9e\u9645\u4e0a\u6bcf\u4e2a\u51fd\u6570\u7684\u8c03\u7528\u53c8\u662f\u72ec\u7acb\u7684\uff0c\u5728\u7ba1\u7406\u548c\u540e\u671f\u7ef4\u62a4\u4e0a\u90fd\u63d0\u4f9b\u4e86\u4fbf\u5229\u3002

\n

\u4e0d\u540c\u4e91\u5e73\u53f0\u7684\u5b9e\u9645\u7ed3\u6784\u662f\u4e0d\u540c\uff0c\u5982\u679c\u7528\u6237\u9700\u8981\u4f7f\u7528\u5230\u4f20\u7edf\u7684 event \u3001context \u7ed3\u6784\uff0c \u6211\u4eec\u4e5f\u7ed9\u4e0d\u540c\u5e73\u53f0\u89e6\u53d1\u5668\u63d0\u4f9b\u4e86\u4e0d\u540c\u7684\u5b9a\u4e49\uff0c\u65b9\u4fbf\u4ee3\u7801\u7f16\u5199\uff0c\u5982\u4e0b\u56fe\u3002

\n

\"5.png\"

\n

\u590d\u7528\u793e\u533a\u751f\u6001

\n

\u4e0a\u9762\u63d0\u5230\uff0cMidway Serverless \u4f53\u7cfb\u7684\u8bbe\u8ba1\u7684\u521d\u8877\u5c31\u662f\u590d\u7528\u73b0\u6709 koa \u751f\u6001\uff0c\u5c06\u591a\u4e2a\u5e73\u53f0\u7684\u5e95\u5c42 event \u89c4\u5219\u5316\u6210\u7edf\u4e00\u7684\u7c7b koa API \u3002API \u76f8\u4f3c\u7684\u76ee\u7684\u662f\u4e3a\u4e86\u6574\u4e2a koa \u7684 web \u751f\u6001\uff0c\u6211\u4eec\u540c\u65f6\u4e5f\u5e0c\u671b\u6574\u4e2a koa \u7684 middleware \u751f\u6001\u90fd\u53ef\u4ee5\u590d\u7528\u3002\u5982\u4e0b\u56fe\uff0c\u5f15\u5165\u4e86 @koa/cors \u3002

\n

\"6.gif\"

\n

\u53e6\u4e00\u9762\uff0cMidway \u7531\u4e8e\u51fa\u8272\u7684 IoC \u7ec4\u4ef6\u5316\u80fd\u529b\uff0c\u63d0\u4f9b\u4e86\u4e0a\u5c42\u7684 egg \u57fa\u7840\u7ec4\u5efa\uff0c\u540c\u65f6\u4e5f\u80fd\u590d\u7528\u73b0\u6709\u7684 egg \u63d2\u4ef6\uff0c\u8ba9\u4f20\u7edf\u4f01\u4e1a\u7ea7\u5f00\u53d1\u7684\u80fd\u529b\u5f97\u4ee5\u5ef6\u7eed\uff0c\u6bd4\u5982\u4e0b\u56fe\u5c31\u662f\u4f7f\u7528 egg-mysql \u63d2\u4ef6\u7684\u793a\u4f8b\u3002

\n

\"7.png\"

\n

\u524d\u7aef\u8d4b\u80fd

\n

\u4e91 + \u7aef\u7684\u5f00\u53d1\u4f53\u9a8c\u662f Midway Serverless \u76ee\u6807\u4e4b\u4e00\uff0c\u4f20\u7edf\u5e94\u7528\u7684\u5f00\u53d1\uff0c\u524d\u7aef\u548c\u540e\u7aef\u5206\u79bb\uff0c\u591a\u4ed3\u5e93\u5f00\u53d1\uff0c\u90e8\u7f72\u5206\u79bb\u3002\u5c31\u7b97\u4f7f\u7528\u4e86 Node.js \u7684\u80f6\u6c34\u5c42\uff0c\u4e5f\u65e0\u6cd5\u907f\u514d\u4eba\u5458\u5f00\u53d1\u4f53\u611f\u4e0a\u7684\u5272\u88c2\u3002\u800c\u5728 Serverless \u4f53\u7cfb\u4e0b\uff0c\u8fd9\u4e0d\u662f\u4ec0\u4e48\u95ee\u9898\u3002

\n

\u7531\u4e8e\u540e\u7aef\u7684\u5927\u5e45\u7b80\u5316\uff0c\u518d\u52a0\u4e0a\u4e91\u670d\u52a1\u7684 BaaS \u5316\uff0c\u8ba9\u6570\u636e\u805a\u5408\uff0c\u9875\u9762\u6e32\u67d3\u53d8\u5f97\u66f4\u5bb9\u6613\uff0c\u4e5f\u80fd\u66f4\u5feb\u5730\u8ba9\u524d\u7aef\u4e0a\u624b\u548c\u5f00\u53d1\u3002

\n

\u4e00\u4f53\u5316\u6162\u6162\u6210\u4e3a\u4e86\u8fd9\u4e00\u5757\u7684\u524d\u7aef\u8bc9\u6c42\uff0c\u6240\u8c13\u7684\u4e00\u4f53\u5316\uff0c\u4e0d\u4ec5\u4ec5\u662f\u4f20\u7edf\u4ed3\u5e93\u7684\u878d\u5408\uff0c\u4e5f\u662f\u6574\u4e2a\u5f00\u53d1\u6a21\u5f0f\u7684\u6f14\u8fdb\uff0c\u4ece\u5de5\u7a0b\u4f53\u7cfb\u52a0\u4e0a\u4ee3\u7801\uff0cCI/CD \u7684\u6574\u5957\u4f53\u7cfb\u91cd\u5851\u7684\u673a\u4f1a\u3002

\n

\u5982\u4eca\u7684 Midway Serverless\uff0c\u63d0\u4f9b\u4e86\u548c\u524d\u7aef\u4e00\u4f53\u7684\u5f00\u53d1\u65b9\u6848\uff0c\u56ca\u62ec\u4e86\u793e\u533a\u73b0\u6709\u7684 React \u3001Vue \u7b49\u751f\u6001\uff0c\u4e5f\u5bf9\u6574\u4e2a\u5de5\u5177\u94fe\uff08 Webpack \u3001ice scrips \u3001umi \u7b49\uff09\u505a\u4e86\u5b9a\u5236\u5316\u65b9\u6848\uff0c\u5bf9\u4e0d\u540c\u7684\u573a\u666f\uff0c\u6bd4\u5982\u535a\u5ba2\u7b49\u4e5f\u63d0\u4f9b\u4e86\u5f00\u7bb1\u5373\u7528\u7684\u89e3\u51b3\u65b9\u6848\u3002

\n

\"8.png\"

\n

\u81f3\u4e8e\u8be6\u7ec6\u7684\u524d\u540e\u7aef\u4e00\u4f53\u5316\u80fd\u529b\uff0c\u6211\u4eec\u540e\u7eed\u5c06\u5355\u72ec\u5f00\u4e00\u7bc7\u6587\u7ae0\u6765\u4ecb\u7ecd\u524d\u7aef\u4e00\u4f53\u5316\u7684\u7ec6\u8282\u548c\u601d\u8003\u3002

\n

\u5e94\u7528\u548c\u51fd\u6570

\n

Serverless \u662f\u672a\u6765\u4e00\u6bb5\u65f6\u95f4\u7684\u65b9\u5411\uff0c\u4e5f\u662f\u524d\u7aef\u8fc8\u5411\u66f4\u9ad8\u5c42\u6b21\u7684\u94fa\u8def\u7816\u3002

\n

\u4e4b\u524d\u4e00\u76f4\u5728\u601d\u7d22\uff0c\u5982\u4eca\u7684\u51fd\u6570\u5f0f\u5f00\u53d1\u7684\u7ec8\u6001\u548c\u5e94\u7528\u7684\u5173\u7cfb\u5230\u5e95\u662f\u4ec0\u4e48\uff1f

\n

\u73b0\u9636\u6bb5\uff0c\u6211\u4eec\u7684\u7b54\u6848\u662f\u8d8b\u4e8e\u7edf\u4e00\uff0c\u5728\u88ab\u65e0\u6570\u6b21\u7684\u7075\u9b42\u62f7\u95ee\u548c\u7528\u6237\u9700\u6c42\u7684\u8ffd\u95ee\u4e2d\uff0c\u6211\u4eec\u5f97\u51fa\u4e86\u8fd9\u4e2a\u7b54\u6848\uff0c\u51fd\u6570\u5373\u662f\u5e94\u7528\u5728\u5f53\u524d\u4e1a\u52a1\u4e2d\u7684\u6700\u5c0f\u4f53\u73b0\uff0c\u66f4\u7b80\u5355\u7684\u6765\u8bf4\uff0c\u662f\u5728\u6700\u5c0f\u89c4\u683c\u5bb9\u5668\u4e2d\u8fd0\u884c\u5e94\u7528\u7684\u90e8\u5206\u4ee3\u7801\u3002

\n

\u4e4b\u540e\u7684\u4e00\u6bb5\u65f6\u95f4\uff0c\u6211\u4eec\u5c06\u805a\u7126\u4e8e\u66f4\u591a\u5e73\u53f0\u7684\u63a5\u5165\uff0c\u4ee5\u53ca\u4f20\u7edf\u5e94\u7528\u7684\u8fc1\u79fb\u65b9\u6848\u4e0a\uff0c\u8ba9\u4e4b\u524d\u7684\u7528\u6237\u4e5f\u80fd\u4eab\u53d7\u5230 Serverless \u5f39\u6027\u7684\u7ea2\u5229\uff0c\u8ba9\u4f01\u4e1a\u6210\u672c\u66f4\u4f4e\uff0c\u4e1a\u52a1\u4e0a\u7ebf\u66f4\u5bb9\u6613\u3002

\n

\u6700\u540e

\n

\u5728\u96c6\u56e2\u5927\u4e2d\u53f0\u3001\u5c0f\u524d\u7aef\u4e1a\u52a1\u67b6\u6784\u65e5\u8d8b\u6df1\u5316\u7684\u80cc\u666f\u4e0b\uff0c\u501f\u52a9\u96c6\u56e2\u4e91\u539f\u751f Serverless \u7684\u53d1\u5c55\uff0c\u53bb\u5e74 Node.js \u5728\u4e1a\u52a1\u7aef\u5230\u7aef\u4ea4\u4ed8\u573a\u666f\u4e0a\u770b\u5230\u4e86\u672a\u6765\u3002

\n

\u65b0\u4e00\u4ee3\u4e91 + \u7aef\u7684\u524d\u53f0\u4e1a\u52a1\u4ea4\u4ed8\u6a21\u5f0f\u9010\u6e10\u6210\u4e3a\u73b0\u5b9e\uff0c\u8fd9\u53ef\u4ee5\u5e2e\u52a9\u6280\u672f\u56e2\u961f\u5851\u9020\u6709\u4e1a\u52a1\u6574\u4f53\u4ea4\u4ed8\u80fd\u529b\u7684\u7279\u79cd\u5175\uff0c\u5e2e\u52a9\u4e1a\u52a1\u5feb\u8d62\u3002\u4f46\u5176\u8def\u6f2b\u6f2b\u4ecd\u8bf8\u591a\u4e0d\u5b8c\u5584\uff0c\u4e3a\u4e86\u5c3d\u65e9\u8fbe\u5230\u8fd9\u4e00\u6b65\uff0c\u9700\u8981\u9ad8\u5ea6\u805a\u7126\u5728\u4e24\u4e2a\u6838\u5fc3\u95ee\u9898\u4e0a\uff1a\u89c4\u6a21\u5316\u6210\u672c\u548c\u4ea4\u4ed8\u901f\u5ea6\u3002

\n

\u671f\u671b\u5728\u672a\u6765\u900f\u8fc7\u6211\u4eec\u5bf9\u89c4\u6a21\u5316\u6210\u672c\u3001\u4ea4\u4ed8\u901f\u5ea6\u7684\u6301\u7eed\u6295\u5165\uff0cNode.js/Serverless \u4f53\u7cfb\u53ef\u4ee5\u4f53\u73b0\u51fa\u5168\u9762\u7684\u5148\u8fdb\u6027\u3002Midway Serverless\uff0cGo!

\n", "date_published": "2020-12-15T06:29:17+00:00", "title": "\u963f\u91cc Midway \u6b63\u5f0f\u53d1\u5e03 Serverless v1.0", "id": "t/735648" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/735273", "title": "\u4ece\u5355\u4f53\u8fc8\u5411 Serverless \u7684\u907f\u5751\u6307\u5357", "id": "t/735273", "date_published": "2020-12-14T06:48:48+00:00", "content_html": "

\"\u5934\u56fe

\n

\u4f5c\u8005 |\u00a0\u4e0d\u778b

\n

\u5bfc\u8bfb\uff1a\u7528\u6237\u9700\u6c42\u548c\u4e91\u7684\u53d1\u5c55\u4e24\u6761\u7ebf\u63a8\u52a8\u4e86\u4e91\u539f\u751f\u6280\u672f\u7684\u5174\u8d77\u3001\u53d1\u5c55\u548c\u5927\u89c4\u6a21\u5e94\u7528\u3002\u672c\u6587\u5c06\u4e3b\u8981\u8ba8\u8bba\u4ec0\u4e48\u662f\u4e91\u539f\u751f\u5e94\u7528\uff0c\u6784\u6210\u4e91\u539f\u751f\u5e94\u7528\u7684\u8981\u7d20\u662f\u4ec0\u4e48\uff0c\u4ec0\u4e48\u662f Serverless \u8ba1\u7b97\uff0c\u4ee5\u53ca Serverless \u5982\u4f55\u7b80\u5316\u6280\u672f\u590d\u6742\u5ea6\uff0c\u5e2e\u52a9\u7528\u6237\u5e94\u5bf9\u5feb\u901f\u53d8\u5316\u7684\u9700\u6c42\uff0c\u5b9e\u73b0\u5f39\u6027\u3001\u9ad8\u53ef\u7528\u7684\u670d\u52a1\uff0c\u5e76\u901a\u8fc7\u5177\u4f53\u7684\u6848\u4f8b\u548c\u573a\u666f\u8fdb\u884c\u8bf4\u660e\u3002

\n

\u5982\u4eca\uff0c\u5404\u884c\u5404\u4e1a\u90fd\u5728\u8c08\u6570\u5b57\u5316\u8f6c\u578b\uff0c\u5c24\u5176\u662f\u65b0\u96f6\u552e\u3001\u4f20\u5a92\u3001\u4ea4\u901a\u7b49\u884c\u4e1a\u3002\u6570\u5b57\u5316\u7684\u5546\u4e1a\u5f62\u6001\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\uff0c\u9010\u6e10\u66ff\u4ee3\u4e86\u4f20\u7edf\u7684\u5546\u4e1a\u5f62\u6001\u3002\u5728\u53e6\u5916\u4e00\u4e9b\u884c\u4e1a\u91cc\uff08\u5982\u5de5\u4e1a\u5236\u9020\uff09\uff0c\u867d\u7136\u4f01\u4e1a\u7684\u5546\u4e1a\u5f62\u6001\u5e76\u975e\u4ee5\u6570\u5b57\u5316\u7684\u5f62\u5f0f\u8868\u73b0\uff0c\u4f46\u662f\u5728\u6570\u5b57\u5b6a\u751f\u7406\u5ff5\u4e0b\uff0c\u5145\u5206\u5229\u7528\u6570\u636e\u79d1\u6280\u8fdb\u884c\u751f\u4ea7\u8fd0\u8425\u4f18\u5316\u4e5f\u6b63\u5728\u6210\u4e3a\u7814\u7a76\u70ed\u70b9\u548c\u884c\u4e1a\u5171\u8bc6\u3002

\n

\u4f01\u4e1a\u8fdb\u884c\u6570\u5b57\u5316\u8f6c\u578b\uff0c\u4ece\u751f\u4ea7\u8d44\u6599\u3001\u751f\u4ea7\u5173\u7cfb\u3001\u6218\u7565\u89c4\u5212\u3001\u589e\u957f\u66f2\u7ebf\u56db\u4e2a\u5c42\u9762\u6765\u770b\uff1a

\n\n

\u4ece\u4e91\u670d\u52a1\u5546\u7684\u89d2\u5ea6\u6765\u770b\u4e91\u7684\u6f14\u8fdb\u8d8b\u52bf\uff0c\u5728 Cloud 1.0 \u65f6\u4ee3\uff0c\u57fa\u7840\u8bbe\u65bd\u7684\u4e91\u5316\u662f\u5176\u4e3b\u9898\uff0c\u91c7\u7528\u4e91\u6258\u7ba1\u6a21\u5f0f\uff0c\u4e91\u4e0a\u4e91\u4e0b\u7684\u5e94\u7528\u4fdd\u6301\u517c\u5bb9\uff0c\u4f20\u7edf\u7684\u5e94\u7528\u53ef\u4ee5\u76f4\u63a5\u8fc1\u79fb\u5230\u4e91\u4e0a\uff0c\u8fd9\u79cd\u65b9\u5f0f\u7684\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u8d44\u6e90\u7684\u5f39\u6027\u548c\u6210\u672c\u7684\u4f4e\u5ec9\uff1b\u5728\u57fa\u7840\u8bbe\u65bd\u63d0\u4f9b\u4e86\u6d77\u91cf\u7b97\u529b\u4e4b\u540e\uff0c\u600e\u4e48\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u5229\u7528\u7b97\u529b\uff0c\u52a0\u901f\u4f01\u4e1a\u521b\u65b0\u7684\u901f\u5ea6\uff0c\u5c31\u6210\u4e3a\u4e91\u7684\u6838\u5fc3\u80fd\u529b\u3002

\n

\u5982\u679c\u4ecd\u5728\u670d\u52a1\u5668\u4e0a\u6784\u5efa\u57fa\u7840\u5e94\u7528\uff0c\u90a3\u4e48\u7814\u53d1\u6210\u672c\u5c31\u4f1a\u5f88\u9ad8\uff0c\u7ba1\u7406\u96be\u5ea6\u4e5f\u5f88\u5927\uff0c\u56e0\u6b64\u6709\u4e86 Cloud 2.0\uff0c\u4e5f\u5c31\u662f\u4e91\u539f\u751f\u65f6\u4ee3\u3002\u5728\u4e91\u539f\u751f\u65f6\u4ee3\uff0c\u4e91\u670d\u52a1\u5546\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u6258\u7ba1\u670d\u52a1\uff0c\u52a9\u529b\u4f01\u4e1a\u6570\u5b57\u5316\u8f6c\u578b\u548c\u521b\u65b0\uff0c\u7528\u6237\u53ef\u4ee5\u50cf\u642d\u79ef\u6728\u4e00\u6837\u57fa\u4e8e\u5404\u79cd\u4e91\u670d\u52a1\u6765\u6784\u5efa\u5e94\u7528\uff0c\u5927\u5927\u964d\u4f4e\u4e86\u7814\u53d1\u6210\u672c\u3002

\n

\u4e91\u539f\u751f\u5e94\u7528\u8981\u7d20

\n

\u4e91\u539f\u751f\u5e94\u7528\u6709\u4e09\u4e2a\u975e\u5e38\u5173\u952e\u7684\u8981\u7d20\uff1a\u5fae\u670d\u52a1\u67b6\u6784\uff0c\u5e94\u7528\u5bb9\u5668\u5316\u548c Serverless \u5316\uff0c\u654f\u6377\u7684\u8f6f\u4ef6\u4ea4\u4ed8\u6d41\u7a0b\u3002

\n

1. \u5fae\u670d\u52a1\u67b6\u6784

\n

\u5355\u4f53\u67b6\u6784\u548c\u5fae\u670d\u52a1\u67b6\u6784\u5404\u6709\u5404\u7684\u7279\u70b9\uff0c\u5176\u4e3b\u8981\u7279\u70b9\u5bf9\u6bd4\u5982\u4e0b\u56fe\u6240\u793a\u3002\u603b\u7684\u6765\u8bf4\uff0c\u5355\u4f53\u67b6\u6784\u4e0a\u624b\u5feb\uff0c\u4f46\u662f\u7ef4\u62a4\u96be\uff0c\u5fae\u670d\u52a1\u67b6\u6784\u90e8\u7f72\u8f83\u96be\uff0c\u4f46\u662f\u72ec\u7acb\u6027\u548c\u654f\u6377\u6027\u66f4\u597d\uff0c\u66f4\u9002\u5408\u4e91\u539f\u751f\u5e94\u7528\u3002

\n

\"1.png\"

\n

\u25b2 \u5355\u4f53\u67b6\u6784 VS \u5fae\u670d\u52a1\u67b6\u6784

\n

2. \u5e94\u7528\u5bb9\u5668\u5316\u548c Serverless \u5316

\n

\u5bb9\u5668\u662f\u5f53\u524d\u6700\u6d41\u884c\u7684\u4ee3\u7801\u5c01\u88c5\u65b9\u5f0f\uff0c\u501f\u52a9 K8s \u53ca\u5176\u751f\u6001\u7684\u80fd\u529b\uff0c\u5927\u5927\u964d\u4f4e\u4e86\u6574\u4e2a\u57fa\u7840\u8bbe\u65bd\u7684\u7ba1\u7406\u96be\u5ea6\uff0c\u800c\u4e14\u5bb9\u5668\u5728\u7a0b\u5e8f\u7684\u652f\u6491\u6027\u65b9\u9762\u63d0\u4f9b\u975e\u5e38\u51fa\u8272\u7684\u7075\u6d3b\u6027\u548c\u53ef\u79fb\u690d\u6027\uff0c\u8d8a\u6765\u8d8a\u591a\u7684\u7528\u6237\u5f00\u59cb\u4f7f\u7528\u5bb9\u5668\u6765\u5c01\u88c5\u6574\u4e2a\u5e94\u7528\u3002\u00a0Serverless \u8ba1\u7b97\u662f\u53e6\u5916\u4e00\u79cd\u5f62\u6001\uff0c\u505a\u4e86\u5927\u91cf\u7684\u7aef\u5230\u7aef\u6574\u5408\u548c\u4e91\u670d\u52a1\u7684\u96c6\u6210\uff0c\u5927\u5927\u63d0\u9ad8\u4e86\u7814\u53d1\u6548\u7387\uff0c\u4f46\u662f\u5bf9\u4f20\u7edf\u5e94\u7528\u7684\u517c\u5bb9\u6027\u6ca1\u6709\u5bb9\u5668\u90a3\u4e48\u7075\u6d3b\uff0c\u4f46\u662f\u4e5f\u5e26\u6765\u4e86\u5f88\u5927\u7684\u6574\u6d01\u6027\uff0c\u7528\u6237\u53ea\u9700\u8981\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u7f16\u7801\uff0c\u805a\u7126\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u521b\u65b0\u5373\u53ef\u3002

\n

3. \u654f\u6377\u7684\u5e94\u7528\u4ea4\u4ed8\u6d41\u7a0b

\n

\u654f\u6377\u7684\u5e94\u7528\u4ea4\u4ed8\u6d41\u7a0b\u662f\u975e\u5e38\u91cd\u8981\u7684\u4e00\u4e2a\u8981\u7d20\uff0c\u4e3b\u8981\u5305\u62ec\u6d41\u7a0b\u81ea\u52a8\u5316\uff0c\u4e13\u6ce8\u4e8e\u529f\u80fd\u5f00\u53d1\uff0c\u5feb\u901f\u53d1\u73b0\u95ee\u9898\uff0c\u5feb\u901f\u53d1\u5e03\u4e0a\u7ebf\u3002

\n

Serverless \u8ba1\u7b97

\n

1. \u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97

\n

Serverless \u662f\u4e00\u4e2a\u65b0\u7684\u6982\u5ff5\uff0c\u4f46\u662f\u5176\u5185\u6db5\u65e9\u5c31\u5df2\u7ecf\u5b58\u5728\u3002\u963f\u91cc\u4e91\u6216\u8005 AWS \u7684\u7b2c\u4e00\u4e2a\u4e91\u670d\u52a1\u90fd\u662f\u5bf9\u8c61\u5b58\u50a8\uff0c\u5bf9\u8c61\u50a8\u5b58\u5b9e\u9645\u4e0a\u5c31\u662f\u4e00\u4e2a\u5b58\u50a8\u9886\u57df\u7684 Serverless \u670d\u52a1\uff1b\u53e6\u5916\uff0cServerless \u6307\u7684\u662f\u4e00\u4e2a\u4ea7\u54c1\u4f53\u7cfb\uff0c\u800c\u4e0d\u662f\u5355\u4e2a\u4ea7\u54c1\u3002\u5f53\u524d\u4e1a\u754c\u4e91\u670d\u52a1\u5546\u63a8\u51fa\u7684\u65b0\u529f\u80fd\u6216\u8005\u65b0\u4ea7\u54c1\u7edd\u5927\u591a\u6570\u90fd\u662f Serverless \u5f62\u6001\u7684\u3002\u963f\u91cc\u4e91 Serverless \u4ea7\u54c1\u4f53\u7cfb\u5305\u62ec\u8ba1\u7b97\u3001\u5b58\u50a8\u3001API \u3001\u5206\u6790\u548c\u4e2d\u95f4\u4ef6\u7b49\uff0c\u76ee\u524d\u4e91\u7684\u4ea7\u54c1\u4f53\u7cfb\u6b63\u5728 Serverless \u5316\u3002

\n

\u963f\u91cc\u4e91 Serverless \u8ba1\u7b97\u5e73\u53f0\u51fd\u6570\u8ba1\u7b97\uff0c\u6709 4 \u4e2a\u7279\u70b9\uff1a

\n\n

\u90a3\u4e48\uff0c\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u662f\u5982\u4f55\u505a\u5230\u4ee5\u4e0a 4 \u70b9\u5462\uff1f\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u7684\u4ea7\u54c1\u80fd\u529b\u5927\u56fe\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u9996\u5148\u51fd\u6570\u8ba1\u7b97\u4ea7\u54c1\u662f\u5efa\u7acb\u5728\u963f\u91cc\u5df4\u5df4\u7684\u57fa\u7840\u8bbe\u65bd\u670d\u52a1\u4e4b\u4e0a\u7684\u4ea7\u54c1\uff0c\u5bf9\u5728\u5176\u4e4b\u4e0a\u7684\u8ba1\u7b97\u5c42\u8fdb\u884c\u4e86\u5927\u91cf\u4f18\u5316\u3002\u63a5\u7740\u5728\u5e94\u7528\u5c42\u5f00\u53d1\u4e86\u5927\u91cf\u80fd\u529b\u548c\u5de5\u5177\uff0c\u57fa\u4e8e\u4ee5\u4e0a\u4ea7\u54c1\u80fd\u529b\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u591a\u79cd\u573a\u666f\u4e0b\u5b8c\u6574\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u624d\u6709\u4e86\u6574\u4e2a\u4f18\u79c0\u7684\u51fd\u6570\u8ba1\u7b97\u4ea7\u54c1\u3002\u51fd\u6570\u8ba1\u7b97\u662f\u963f\u91cc\u4e91\u7684\u4e00\u4e2a\u975e\u5e38\u57fa\u7840\u7684\u4e91\u4ea7\u54c1\uff0c\u963f\u91cc\u4e91\u7684\u8bb8\u591a\u4ea7\u54c1\u548c\u529f\u80fd\u5747\u662f\u5efa\u7acb\u5728\u51fd\u6570\u8ba1\u7b97\u7684\u57fa\u7840\u4e0a\u3002\u76ee\u524d\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u5df2\u7ecf\u5728\u5168\u7403 19 \u4e2a\u533a\u57df\u63d0\u4f9b\u670d\u52a1\u3002

\n

\"2.png\"

\n

\u25b2 \u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u4ea7\u54c1\u80fd\u529b\u5927\u56fe

\n

2. Serverless \u5e2e\u52a9\u7528\u6237\u7b80\u5316\u4e91\u539f\u751f\u5e94\u7528\u9ad8\u53ef\u7528\u8bbe\u8ba1\u3001\u5b9e\u65bd\u7684\u590d\u6742\u5ea6

\n

\u4e91\u539f\u751f\u5e94\u7528\u7684\u9ad8\u53ef\u7528\u662f\u4e00\u4e2a\u7cfb\u7edf\u7684\u5de5\u7a0b\uff0c\u5305\u62ec\u4f17\u591a\u65b9\u9762\uff0c\u5b8c\u6574\u7684\u9ad8\u53ef\u7528\u4f53\u7cfb\u6784\u5efa\u9700\u8981\u5f88\u591a\u65f6\u95f4\u548c\u7cbe\u529b\u3002\u90a3\u4e48 Serverless \u8ba1\u7b97\u662f\u5982\u4f55\u5e2e\u52a9\u7528\u6237\u7b80\u5316\u4e91\u539f\u751f\u5e94\u7528\u9ad8\u53ef\u7528\u8bbe\u8ba1\u3001\u5b9e\u65bd\u7684\u590d\u6742\u5ea6\u5462\uff1f\u00a0\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u9ad8\u53ef\u7528\u4f53\u7cfb\u5efa\u8bbe\u8981\u8003\u8651\u7684\u70b9\u5305\u62ec\u57fa\u7840\u8bbe\u65bd\u5c42\u3001\u8fd0\u884c\u65f6\u5c42\u3001\u6570\u636e\u5c42\u4ee5\u53ca\u5e94\u7528\u5c42\uff0c\u4e14\u6bcf\u4e00\u5c42\u90fd\u6709\u5927\u91cf\u7684\u5de5\u4f5c\u8981\u505a\u624d\u53ef\u4ee5\u5b9e\u73b0\u9ad8\u53ef\u7528\u3002\u51fd\u6570\u8ba1\u7b97\u4e3b\u8981\u662f\u4ece\u5bb9\u9519\u3001\u5f39\u6027\u3001\u6d41\u63a7\u3001\u76d1\u63a7\u56db\u65b9\u9762\u505a\u4e86\u5927\u91cf\u5de5\u4f5c\u6765\u5b9e\u73b0\u9ad8\u53ef\u7528\uff0c\u4e0b\u56fe\u4e2d\u84dd\u8272\u865a\u7ebf\u6846\u6240\u5bf9\u5e94\u7684\u529f\u80fd\u5747\u7531\u5e73\u53f0\u6765\u5b9e\u73b0\uff0c\u7528\u6237\u662f\u4e0d\u9700\u8981\u8003\u8651\u7684\u3002\u84dd\u8272\u5b9e\u7ebf\u6846\u867d\u7136\u5e73\u53f0\u505a\u4e86\u4e00\u4e9b\u5de5\u4f5c\u6765\u7b80\u5316\u7528\u6237\u7684\u5de5\u4f5c\u96be\u5ea6\uff0c\u4f46\u662f\u4ecd\u9700\u8981\u7528\u6237\u6765\u8fdb\u884c\u5173\u6ce8\uff0c\u800c\u6a58\u7ea2\u8272\u7684\u5b9e\u7ebf\u6846\u4ee3\u8868\u9700\u8981\u7528\u6237\u53bb\u8d1f\u8d23\u7684\u90e8\u5206\u529f\u80fd\u3002\u7ed3\u5408\u5e73\u53f0\u63d0\u4f9b\u7684\u529f\u80fd\u548c\u7528\u6237\u7684\u90e8\u5206\u7cbe\u529b\u6295\u5165\uff0c\u53ef\u4ee5\u6781\u5927\u5730\u51cf\u8f7b\u7528\u6237\u8fdb\u884c\u9ad8\u53ef\u7528\u4f53\u7cfb\u5efa\u8bbe\u7684\u96be\u5ea6\u3002

\n

\"3.png\"

\n

\u25b2 \u51fd\u6570\u8ba1\u7b97\u9ad8\u53ef\u7528

\n

\u51fd\u6570\u8ba1\u7b97\u5728\u5f88\u591a\u65b9\u9762\u505a\u4e86\u4f18\u5316\u6765\u5e2e\u52a9\u7528\u6237\u5efa\u8bbe\u9ad8\u53ef\u7528\u4f53\u7cfb\u3002\u4e0b\u56fe\u5c55\u793a\u4e86\u51fd\u6570\u8ba1\u7b97\u5728\u53ef\u7528\u533a\u5bb9\u707e\u65b9\u9762\u7684\u80fd\u529b\u3002\u4ece\u56fe\u4e2d\u53ef\u77e5\uff0c\u51fd\u6570\u8ba1\u7b97\u505a\u4e86\u76f8\u5e94\u7684\u8d1f\u8f7d\u5747\u8861\uff0c\u4f7f\u5f97\u5bb9\u707e\u80fd\u529b\u5927\u5927\u63d0\u5347\u3002

\n

\"4.png\"

\n

\u25b2 \u51fd\u6570\u8ba1\u7b97\u591a\u53ef\u7528\u533a\u5bb9\u707e

\n

\u4e0b\u56fe\u5c55\u793a\u7684\u662f\u51fd\u6570\u8ba1\u7b97\u5bf9\u4e8b\u4ef6\u7684\u5f02\u6b65\u5904\u7406\uff0c\u5176\u5904\u7406\u6d41\u6c34\u7ebf\u4e3b\u8981\u5305\u62ec\u4e8b\u4ef6\u961f\u5217\u3001\u4e8b\u4ef6\u5206\u53d1\u3001\u4e8b\u4ef6\u6d88\u8d39\u4e09\u4e2a\u73af\u8282\uff0c\u5728\u6bcf\u4e00\u4e2a\u73af\u8282\u4e0a\u90fd\u53ef\u4ee5\u8fdb\u884c\u6c34\u5e73\u4f38\u7f29\uff0c\u5176\u4e2d\u4e00\u4e2a\u6bd4\u8f83\u5173\u952e\u7684\u70b9\u662f\u4e8b\u4ef6\u7684\u5206\u53d1\u9700\u8981\u5339\u914d\u4e0b\u6e38\u7684\u6d88\u8d39\u80fd\u529b\u3002\u53e6\u5916\uff0c\u901a\u8fc7\u4e3a\u4e0d\u540c\u51fd\u6570\u6307\u5b9a\u4e0d\u540c\u6570\u91cf\u7684\u8ba1\u7b97\u8d44\u6e90\uff0c\u7528\u6237\u80fd\u65b9\u4fbf\u5730\u52a8\u6001\u8c03\u6574\u4e0d\u540c\u7c7b\u578b\u4e8b\u4ef6\u7684\u6d88\u8d39\u901f\u5ea6\u3002\u6b64\u5916\uff0c\u8fd8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u9519\u8bef\u91cd\u8bd5\u903b\u8f91\uff0c\u5e76\u4e14\u6709\u80cc\u538b\u53cd\u9988\u548c\u6d41\u63a7\uff0c\u4e0d\u4f1a\u5728\u77ed\u65f6\u95f4\u5185\u4ea7\u751f\u5927\u91cf\u8bf7\u6c42\u65f6\u538b\u57ae\u4e0b\u4e00\u4e2a\u670d\u52a1\u3002

\n

\"5.png\"

\n

\u25b2 \u51fd\u6570\u8ba1\u7b97\u4e8b\u4ef6\u5f02\u6b65\u5904\u7406

\n

\u5728\u51fd\u6570\u8ba1\u7b97\u7684\u53ef\u89c2\u6d4b\u6027\u4e0a\u9762\uff0c\u63d0\u4f9b\u4e86\u65e5\u5fd7\u6536\u96c6\u548c\u67e5\u8be2\u529f\u80fd\uff0c\u9664\u4e86\u9ed8\u8ba4\u7684\u7b80\u5355\u65e5\u5fd7\u67e5\u8be2\u529f\u80fd\u5916\uff0c\u8fd8\u63d0\u4f9b\u4e86\u9ad8\u7ea7\u65e5\u5fd7\u67e5\u8be2\uff0c\u7528\u6237\u53ef\u4ee5\u66f4\u65b9\u4fbf\u5730\u8fdb\u884c\u65e5\u5fd7\u5206\u6790\u3002\u5728\u6307\u6807\u6536\u96c6\u548c\u53ef\u89c6\u5316\u65b9\u9762\uff0c\u51fd\u6570\u8ba1\u7b97\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u6307\u6807\u6536\u96c6\u80fd\u529b\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e86\u6807\u51c6\u6307\u6807\u3001\u6982\u89c8\u4fe1\u606f\u7b49\u89c6\u56fe\uff0c\u53ef\u4ee5\u66f4\u65b9\u4fbf\u7528\u6237\u8fdb\u884c\u8fd0\u7ef4\u5de5\u4f5c\u3002\u00a0\u4e0b\u56fe\u662f\u5e94\u7528\u4ea4\u4ed8\u7684\u4e00\u4e2a\u793a\u610f\u56fe\uff0c\u5728\u6574\u4e2a\u5e94\u7528\u7684\u4ea4\u4ed8\u8fc7\u7a0b\u4e2d\uff0c\u53ea\u6709\u6bcf\u4e2a\u73af\u8282\u90fd\u505a\u597d\uff0c\u624d\u80fd\u591f\u5efa\u8bbe\u4e00\u4e2a\u654f\u6377\u7684\u5e94\u7528\u4ea4\u4ed8\u6d41\u7a0b\uff0c\u5176\u6838\u5fc3\u662f\u81ea\u52a8\u5316\uff0c\u53ea\u6709\u505a\u5230\u4e86\u81ea\u52a8\u5316\uff0c\u624d\u80fd\u63d0\u5347\u6574\u4e2a\u6d41\u6c34\u7ebf\u7684\u6548\u7387\u548c\u654f\u6377\u5ea6\u3002

\n

\"6.png\"

\n

\u25b2 \u654f\u6377\u7684\u5e94\u7528\u4ea4\u4ed8\u6d41\u7a0b

\n

\u4e0b\u56fe\u5c55\u793a\u4e86\u81ea\u52a8\u5316\u5e94\u7528\u4ea4\u4ed8\u6d41\u6c34\u7ebf\u5728\u6bcf\u4e2a\u73af\u8282\u7684\u5177\u4f53\u4efb\u52a1\u3002\u5176\u4e2d\u9700\u8981\u6ce8\u610f\u7684\u662f\u505a\u5230\u57fa\u7840\u8bbe\u65bd\u5373\u4ee3\u7801\uff0c\u624d\u80fd\u8fdb\u884c\u6a21\u677f\u5b9a\u4e49\u548c\u81ea\u52a8\u5316\u8bbe\u7f6e\u5e94\u7528\u8fd0\u884c\u73af\u5883\uff0c\u8fdb\u800c\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u6301\u7eed\u96c6\u6210\u7b49\u3002

\n

\"7.png\"

\n

\u25b2 \u81ea\u52a8\u5316\u5e94\u7528\u4ea4\u4ed8\u6d41\u6c34\u7ebf

\n

\u505a\u5230\u4e86\u5e94\u7528\u7684\u81ea\u52a8\u5316\u4ea4\u4ed8\u4e4b\u540e\uff0c\u5bf9\u6574\u4e2a\u7814\u53d1\u6548\u7387\u7684\u5e2e\u52a9\u662f\u975e\u5e38\u5927\u7684\u3002\u5728 Serverless \u5e94\u7528\u4e0a\uff0c\u963f\u91cc\u4e91\u63d0\u4f9b\u4e86\u591a\u79cd\u5de5\u5177\u6765\u5e2e\u52a9\u7528\u6237\u5b9e\u73b0\u57fa\u7840\u8bbe\u65bd\u5373\u4ee3\u7801\u3002Serverless \u7684\u6a21\u578b\u6709\u4e00\u4e2a\u5f88\u597d\u7684\u80fd\u529b\uff0c\u5c31\u662f\u540c\u4e00\u4efd\u6a21\u677f\u53ef\u4ee5\u4f20\u5165\u4e0d\u540c\u7684\u53c2\u6570\uff0c\u8fdb\u800c\u751f\u6210\u4e0d\u540c\u73af\u5883\u7684\u5b9a\u4e49\uff0c\u7136\u540e\u901a\u8fc7\u81ea\u52a8\u5316\u5730\u7ba1\u7406\u8fd9\u4e9b\u73af\u5883\u3002

\n

\u5bf9\u4e8e\u5e94\u7528\u672c\u8eab\u4e0d\u540c\u670d\u52a1\u7248\u672c\u7684\u4ea4\u4ed8\u548c\u7070\u5ea6\u53d1\u5e03\uff0c\u51fd\u6570\u8ba1\u7b97\u63d0\u4f9b\u4e86\u670d\u52a1\u7248\u672c\u548c\u670d\u52a1\u522b\u540d\u6765\u63d0\u4f9b\u76f8\u5e94\u7684\u670d\u52a1\uff0c\u6574\u4e2a\u5e94\u7528\u7684\u7070\u5ea6\u53d1\u5e03\u6d41\u7a0b\u53ef\u4ee5\u7b80\u5316\u6210\u4e00\u4e9b API \u7684\u64cd\u4f5c\uff0c\u5927\u5927\u63d0\u5347\u4e1a\u52a1\u7684\u6548\u7387\u3002\u901a\u8fc7 Serverless \u8ba1\u7b97\u5e73\u53f0\u63d0\u4f9b\u7684\u8fd9\u4e9b\u80fd\u529b\uff0c\u6574\u4e2a\u8f6f\u4ef6\u5e94\u7528\u7684\u4ea4\u4ed8\u6d41\u6c34\u7ebf\u81ea\u52a8\u5316\u7a0b\u5ea6\u5f97\u5230\u4e86\u5927\u5e45\u5ea6\u7684\u63d0\u9ad8\u3002

\n

\u51fd\u6570\u8ba1\u7b97\u8fd8\u6709\u4e00\u4e2a\u5f88\u6709\u7528\u7684\u529f\u80fd\u2014\u2014\u5bf9\u5b58\u91cf\u5e94\u7528\u7684\u517c\u5bb9\u6027\u3002\u901a\u8fc7 Custom runtime\uff0c\u80fd\u591f\u9002\u914d\u5f88\u591a\u7684\u6d41\u884c\u6846\u67b6\uff0c\u517c\u5bb9\u4f20\u7edf\u5e94\u7528\uff0c\u4f7f\u5176\u80fd\u591f\u5f88\u5bb9\u6613\u5730\u9002\u914d\u5230 Serverless \u5e73\u53f0\u4e0a\u9762\uff0c\u7531\u63a7\u5236\u53f0\u63d0\u4f9b\u5e94\u7528\u7684\u521b\u5efa\u3001\u90e8\u7f72\u3001\u5173\u8054\u8d44\u6e90\u7ba1\u7406\u3001\u76d1\u63a7\u7b49\u4e00\u7cfb\u5217\u670d\u52a1\u3002

\n

\u9664\u4e86\u51fd\u6570\u8ba1\u7b97\uff0c\u8fd8\u53ef\u4ee5\u7528 Serverless \u5de5\u4f5c\u6d41\u5bf9\u4e0d\u540c\u7684\u5e94\u7528\u73af\u8282\u3001\u4e0d\u540c\u7684\u51fd\u6570\u8fdb\u884c\u7f16\u6392\uff0c\u901a\u8fc7\u63cf\u8ff0\u6027\u7684\u8bed\u8a00\u53bb\u5b9a\u4e49\u5de5\u4f5c\u6d41\uff0c\u7531\u5176\u53ef\u9760\u5730\u6267\u884c\u6bcf\u4e00\u4e2a\u6b65\u9aa4\uff0c\u8fd9\u5c31\u5927\u5e45\u5ea6\u964d\u4f4e\u7528\u6237\u5bf9\u4e8e\u590d\u6742\u4efb\u52a1\u7684\u7f16\u6392\u96be\u5ea6\u3002

\n

\u5e94\u7528\u573a\u666f\u6848\u4f8b

\n

\u51fd\u6570\u8ba1\u7b97\u6709\u51e0\u4e2a\u5178\u578b\u7684\u5e94\u7528\u573a\u666f\uff0c\u4e00\u4e2a\u5c31\u662f Web/API \u540e\u7aef\u670d\u52a1\uff0c\u963f\u91cc\u4e91\u5df2\u7ecf\u6709\u5305\u62ec\u77f3\u58a8\u6587\u6863\u3001\u5fae\u535a\u3001\u4e16\u7eaa\u534e\u8054\u5728\u5185\u7684\u591a\u4e2a\u6210\u529f\u5e94\u7528\u6848\u4f8b\u3002

\n

\u51fd\u6570\u8ba1\u7b97\u7684\u53e6\u5916\u4e00\u4e2a\u5e94\u7528\u573a\u666f\u5c31\u662f\u5927\u89c4\u6a21\u7684\u6570\u636e\u5e76\u884c\u5904\u7406\uff0c\u6bd4\u5982\u5f80 OSS \u4e0a\u9762\u4e0a\u4f20\u5927\u91cf\u7684\u56fe\u7247\u3001\u97f3\u9891\u3001\u6587\u672c\u7b49\u6570\u636e\uff0c\u53ef\u4ee5\u89e6\u53d1\u51fd\u6570\u505a\u81ea\u5b9a\u4e49\u7684\u5904\u7406\uff0c\u6bd4\u5982\u8f6c\u7801\u3001\u622a\u5e27\u7b49\u3002\u8fd9\u65b9\u9762\u7684\u6210\u529f\u6848\u4f8b\u5305\u62ec\u864e\u6251\u3001\u5206\u4f17\u4f20\u5a92\u3001\u767e\u5bb6\u4e92\u8054\u7b49\u3002

\n

\u51fd\u6570\u8ba1\u7b97\u8fd8\u6709\u4e00\u4e2a\u5e94\u7528\u573a\u666f\u5c31\u662f\u6570\u636e\u5b9e\u65f6\u6d41\u5f0f\u5904\u7406\uff0c\u6bd4\u5982\u4e0d\u540c\u7684\u8bbe\u5907\u4ea7\u751f\u7684\u6d88\u606f\u3001\u65e5\u5fd7\u53d1\u9001\u5230\u6d88\u606f\u961f\u5217\u7b49\u7ba1\u9053\u7c7b\u4f3c\u7684\u670d\u52a1\u4e2d\uff0c\u5c31\u53ef\u4ee5\u89e6\u53d1\u51fd\u6570\u6765\u8fdb\u884c\u6d41\u5f0f\u5904\u7406\u3002

\n

\u6700\u540e\u4e00\u4e2a\u5e94\u7528\u573a\u666f\u5c31\u662f\u8fd0\u7ef4\u7684\u81ea\u52a8\u5316\uff0c\u901a\u8fc7\u5b9a\u65f6\u89e6\u53d1\u3001\u4e91\u76d1\u63a7\u4e8b\u4ef6\u89e6\u53d1\u3001\u6d41\u7a0b\u7f16\u6392\u7b49\u65b9\u5f0f\u8c03\u7528\u51fd\u6570\u5b8c\u6210\u8fd0\u7ef4\u4efb\u52a1\uff0c\u5927\u5927\u964d\u4f4e\u8fd0\u7ef4\u6210\u672c\u548c\u96be\u5ea6\uff0c\u5178\u578b\u7684\u6210\u529f\u6848\u4f8b\u6709\u56fe\u68ee\u672a\u6765\u7b49\u3002

\n

\u56fe\u68ee\u672a\u6765\u662f\u4e00\u5bb6\u4e13\u6ce8\u4e8e L4 \u7ea7\u522b\u65e0\u4eba\u9a7e\u9a76\u5361\u8f66\u6280\u672f\u7814\u53d1\u4e0e\u5e94\u7528\u7684\u4eba\u5de5\u667a\u80fd\u4f01\u4e1a\uff0c\u9762\u5411\u5168\u7403\u63d0\u4f9b\u53ef\u5927\u89c4\u6a21\u5546\u4e1a\u5316\u8fd0\u8425\u7684\u65e0\u4eba\u9a7e\u9a76\u5361\u8f66\u6280\u672f\uff0c\u4e3a\u5168\u7403\u7269\u6d41\u8fd0\u8f93\u884c\u4e1a\u8d4b\u80fd\u3002\u5728\u8def\u6d4b\u8fc7\u7a0b\u4e2d\u4f1a\u6709\u5927\u91cf\u6570\u636e\u4ea7\u751f\uff0c\u800c\u5bf9\u8fd9\u4e9b\u6570\u636e\u7684\u5904\u7406\u6d41\u7a0b\u590d\u6742\u591a\u53d8\uff0c\u5373\u4f7f\u5bf9\u4e8e\u540c\u4e00\u6279\u6570\u636e\uff0c\u4e0d\u540c\u7684\u4e1a\u52a1\u5c0f\u7ec4\u4e5f\u4f1a\u6709\u4e0d\u540c\u7684\u4f7f\u7528\u53ca\u5904\u7406\u65b9\u5f0f\u3002\u5982\u4f55\u6709\u6548\u7ba1\u7406\u4e0d\u540c\u7684\u6570\u636e\u5904\u7406\u6d41\u7a0b\u3001\u964d\u4f4e\u4eba\u4e3a\u4ecb\u5165\u9891\u7387\u80fd\u591f\u5927\u5e45\u7684\u63d0\u9ad8\u751f\u4ea7\u6548\u7387\u3002

\n

\u8def\u6d4b\u4e0d\u5b9a\u65f6\u8fd0\u884c\u7684\u7279\u70b9\u4f7f\u5f97\u6d41\u7a0b\u7f16\u6392\u4efb\u52a1\u8fd0\u884c\u65f6\u95f4\u70b9\u3001\u8fd0\u884c\u65f6\u957f\u5177\u6709\u6781\u5927\u7684\u4e0d\u786e\u5b9a\u6027\uff0c\u672c\u5730\u673a\u623f\u72ec\u81ea\u5efa\u7acb\u6d41\u7a0b\u7ba1\u7406\u7cfb\u7edf\u96be\u4ee5\u6700\u5927\u4f18\u5316\u673a\u5668\u5229\u7528\u7387\uff0c\u9020\u6210\u8d44\u6e90\u6d6a\u8d39\u3002\u800c\u56fe\u68ee\u672a\u6765\u672c\u5730\u5df2\u6709\u8bb8\u591a\u5355\u5143\u5316\u4e1a\u52a1\u5904\u7406\u811a\u672c\u53ca\u5e94\u7528\u7a0b\u5e8f\uff0c\u4f46\u56e0\u4e3a\u5404\u79cd\u9650\u5236\u800c\u65e0\u6cd5\u5168\u91cf\u7684\u8fc1\u79fb\u4e0a\u4e91\uff0c\u8fd9\u4e5f\u5bf9\u5982\u4f55\u5408\u7406\u5316\u4f7f\u7528\u4e91\u4e0a\u670d\u52a1\u5e26\u6765\u4e86\u6311\u6218\u3002

\n

\u9488\u5bf9\u4e0a\u8ff0\u60c5\u51b5\uff0c\u56fe\u68ee\u672a\u6765\u5f00\u59cb\u63a2\u7d22\u6570\u636e\u5904\u7406\u5e73\u53f0\u7684\u81ea\u52a8\u5316\u3002\u963f\u91cc\u4e91 Serverless \u5de5\u4f5c\u6d41\u6309\u6267\u884c\u8c03\u5ea6\u7684\u6b21\u6570\u8ba1\u8d39\uff0c\u5177\u6709\u6613\u7528\u6613\u96c6\u6210\u3001\u8fd0\u7ef4\u7b80\u5355\u7b49\u8bf8\u591a\u4f18\u70b9\uff0c\u80fd\u591f\u5f88\u597d\u5730\u89e3\u51b3\u4e0a\u8ff0\u573a\u666f\u4e2d\u6240\u9047\u5230\u7684\u95ee\u9898\uff0c\u975e\u5e38\u9002\u5408\u8fd9\u7c7b\u4e0d\u5b9a\u65f6\u8fd0\u884c\u7684\u79bb\u7ebf\u4efb\u52a1\u573a\u666f\u3002

\n

Serverless \u5de5\u4f5c\u6d41\u8fd8\u652f\u6301\u7f16\u6392\u672c\u5730\u6216\u81ea\u5efa\u673a\u623f\u7684\u4efb\u52a1\uff0c\u56fe\u68ee\u672a\u6765\u901a\u8fc7\u4f7f\u7528 Serverless \u5de5\u4f5c\u6d41\u539f\u751f\u652f\u6301\u7684\u6d88\u606f\u670d\u52a1 MNS \u89e3\u51b3\u4e86\u4e91\u4e0a\u4e91\u4e0b\u7684\u6570\u636e\u6253\u901a\u95ee\u9898\uff0c\u4f7f\u5f97\u672c\u5730\u7684\u539f\u6709\u4efb\u52a1\u5f97\u5230\u5f88\u597d\u7684\u7f16\u6392\u53ca\u7ba1\u7406\u3002

\n

\u9664\u4e86\u8c03\u5ea6\u5916\uff0cServerless \u5de5\u4f5c\u6d41\u4e5f\u652f\u6301\u5bf9\u4efb\u52a1\u7684\u72b6\u6001\u53ca\u6267\u884c\u8fc7\u7a0b\u4e2d\u6240\u4ea7\u751f\u7684\u6570\u636e\u8fdb\u884c\u7ef4\u62a4\u3002\u56fe\u68ee\u672a\u6765\u901a\u8fc7\u4f7f\u7528\u4efb\u52a1\u7684\u8f93\u5165\u8f93\u51fa\u6620\u5c04\u53ca\u72b6\u6001\u6c47\u62a5\u673a\u5236\uff0c\u9ad8\u6548\u5730\u7ba1\u7406\u4e86\u6d41\u7a0b\u4e2d\u5404\u4efb\u52a1\u7684\u751f\u547d\u5468\u671f\u53ca\u76f8\u4e92\u95f4\u7684\u6570\u636e\u4f20\u9012\u3002

\n

\u5728\u672a\u6765\uff0c\u968f\u7740\u4e1a\u52a1\u89c4\u6a21\u7684\u6269\u5927\uff0c\u56fe\u68ee\u672a\u6765\u5c06\u6301\u7eed\u4f18\u5316\u79bb\u7ebf\u5927\u6570\u636e\u5904\u7406\u6d41\u7a0b\u7684\u8fd0\u884c\u6548\u7387\u53ca\u81ea\u52a8\u5316\u6c34\u5e73\u3002\u901a\u8fc7\u5404\u79cd\u63a2\u7d22\uff0c\u56fe\u68ee\u672a\u6765\u5c06\u8fdb\u4e00\u6b65\u63d0\u5347\u5de5\u7a0b\u56e2\u961f\u7684\u6548\u7387\uff0c\u5c06\u66f4\u591a\u7684\u7cbe\u529b\u548c\u8d44\u91d1\u6295\u5165\u5230\u4e1a\u52a1\u521b\u65b0\u4e2d\u53bb\u3002

\n

\u603b\u7ed3

\n

Serverless \u5de5\u4f5c\u6d41\u662f\u963f\u91cc\u4e91 Serverless \u4ea7\u54c1\u4f53\u7cfb\u4e2d\u7684\u5173\u952e\u4e00\u73af\u3002\u901a\u8fc7 Serverless \u5de5\u4f5c\u6d41\uff0c\u7528\u6237\u80fd\u591f\u5c06\u51fd\u6570\u8ba1\u7b97\u3001\u89c6\u89c9\u667a\u80fd\u5e73\u53f0\u7b49\u591a\u4e2a\u963f\u91cc\u4e91\u670d\u52a1\uff0c\u6216\u8005\u81ea\u5efa\u7684\u670d\u52a1\uff0c\u4ee5\u7b80\u5355\u76f4\u89c2\u7684\u65b9\u5f0f\u7f16\u6392\u4e3a\u5de5\u4f5c\u6d41\uff0c\u8fc5\u901f\u6784\u5efa\u5f39\u6027\u9ad8\u53ef\u7528\u7684\u4e91\u539f\u751f\u5e94\u7528\u3002

\n

\u81ea 2017 \u5e74\u63a8\u51fa\u51fd\u6570\u8ba1\u7b97\u8d77\uff0c\u8be5\u670d\u52a1\u6839\u636e\u5e94\u7528\u8d1f\u8f7d\u53d8\u5316\u5b9e\u65f6\u667a\u80fd\u5730\u5f39\u6027\u6269\u7f29\u5bb9\uff0c1 \u5206\u949f\u5b8c\u6210\u4e0a\u4e07\u5b9e\u4f8b\u7684\u4f38\u7f29\u5e76\u4fdd\u8bc1\u7a33\u5b9a\u7684\u5ef6\u65f6\u3002\u76ee\u524d\u5df2\u7ecf\u652f\u6491\u5fae\u535a\u3001\u8292\u679c TV \u3001\u534e\u5927\u57fa\u56e0\u3001\u56fe\u68ee\u672a\u6765\u3001\u77f3\u58a8\u79d1\u6280\u7b49\u7528\u6237\u7684\u5173\u952e\u5e94\u7528\uff0c\u8f7b\u677e\u5e94\u5bf9\u4e1a\u52a1\u6d2a\u5cf0\u3002

\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/734548", "date_modified": "2020-12-11T07:50:42+00:00", "content_html": "

\"lu-lu-f-gGPNOZbRI-unsplash.jpg\"

\n

\u4f5c\u8005\u00a0| \u4e0d\u778b\u00a0 \u963f\u91cc\u4e91 Serverless \u8d1f\u8d23\u4eba\n\u6765\u6e90 | Serverless \u516c\u4f17\u53f7

\n

\"\u552f\u6709\u8d85\u8d8a\uff0c\u624d\u80fd\u8ba9\u6211\u4eec\u8d70\u4e0b\u53bb\u3002\"

\n

\u8fd9\u662f\u4e0d\u778b\u5728\u963f\u91cc\u7684\u7b2c\u5341\u5e74\u3002\u4ece 2010 \u5e74\u52a0\u5165\u963f\u91cc\u4e91\uff0c\u4e0d\u778b\u53c2\u4e0e\u4e86\u963f\u91cc\u4e91\u98de\u5929\u5206\u5e03\u5f0f\u7cfb\u7edf\u7684\u7814\u53d1\uff0c\u5386\u4efb\u6279\u91cf\u8ba1\u7b97\u7684\u67b6\u6784\u5e08\u3001\u8868\u683c\u5b58\u50a8\uff08 NoSQL \uff09\u7814\u53d1\u7ecf\u7406\uff0c\u6df1\u5ea6\u53c2\u4e0e\u4e86\u963f\u91cc\u4e91\u7cfb\u7edf\u7814\u53d1\u548c\u4ea7\u54c1\u8fed\u4ee3\u7684\u5168\u8fc7\u7a0b\u30022016 \u5e74\u4e0d\u778b\u6210\u4e3a\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u4ea7\u54c1\u7814\u53d1\u8d1f\u8d23\u4eba\uff0c\u81f4\u529b\u4e8e\u6784\u5efa\u4e0b\u4e00\u4ee3\u5f39\u6027\u3001\u9ad8\u53ef\u7528\u7684\u65e0\u670d\u52a1\u5668\u8ba1\u7b97\u5e73\u53f0\u3002

\n

\u65e0\u670d\u52a1\u5668\uff08 Serverless \uff09\u662f\u4e0d\u778b\u4e0b\u4e00\u4e2a\u5341\u5e74\u8981\u653b\u514b\u7684\u6280\u672f\u96be\u9898\u3002\u5728\u8fd9\u6ce2 Serverless \u6d6a\u6f6e\u91cc\uff0c\u963f\u91cc\u4e91\u4e00\u76f4\u8d70\u5728\u6700\u524d\u9762\uff0c\u65e0\u8bba\u662f\u6280\u672f\u8fd8\u662f\u4ea7\u54c1\uff0c\u5728\u56fd\u5185\u7684\u4e30\u5bcc\u5ea6\u90fd\u662f\u7b2c\u4e00\u3002\u201c\u4ece\u4e0d\u6562\u6389\u4ee5\u8f7b\u5fc3\uff0cServerless \u5728\u56fd\u5185\u8fd8\u5904\u4e8e\u65e9\u671f\u9636\u6bb5\uff0c\u53ea\u6709\u628a\u6280\u672f\u548c\u4ea7\u54c1\u6253\u78e8\u6210\u719f\uff0c\u8ba9\u7528\u6237\u4f53\u9a8c\u505a\u5230\u66f4\u597d\uff0c\u8fd9\u4e00\u6218\u624d\u7b97\u80dc\u5229\u3002\u201d

\n

\u6211\u4eec\u5bf9\u4e0d\u778b\u505a\u4e86\u4e00\u4e2a\u7b80\u5355\u7684\u91c7\u8bbf\uff0c\u9488\u5bf9\u5927\u5bb6\u6bd4\u8f83\u5173\u5fc3\u7684 Serverless \u53d1\u5c55\u3001\u6280\u672f\u96be\u70b9\u4ee5\u53ca\u843d\u5730\u60c5\u51b5\uff0c\u542c\u542c\u4ed6\u7684\u60f3\u6cd5\u3002

\n

\u63a5\u53d7\u8fd8\u662f\u89c2\u671b\uff1f

\n

\u4e91\u8ba1\u7b97\u672a\u6765\u4e00\u5b9a\u4f1a\u6210\u4e3a\u6574\u4e2a\u793e\u4f1a\u548c\u5546\u4e1a\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u5c4a\u65f6\u4f7f\u7528\u4e91\u8ba1\u7b97\u5c31\u5e94\u8be5\u50cf\u73b0\u5728\u6211\u4eec\u4f7f\u7528\u6c34\u7535\u7164\u4e00\u6837\u7b80\u5355\uff0c\u4e0d\u9700\u8981\u4e86\u89e3\u6c34\u4ece\u54ea\u91cc\u6765\u3001\u600e\u4e48\u8fc7\u6ee4\u3001\u600e\u4e48\u94fa\u8bbe\u7ba1\u9053\u7b49\u4e00\u7cfb\u5217\u95ee\u9898\uff0c\u53ea\u9700\u8981\u6253\u5f00\u6c34\u9f99\u5934\u63a5\u4e00\u676f\u6c34\u800c\u5df2\u3002\u800c Serverless \u7684\u6982\u5ff5\u6b63\u597d\u53ef\u4ee5\u5e2e\u52a9\u4e91\u8ba1\u7b97\u671d\u8fd9\u4e2a\u65b9\u5411\u5f80\u524d\u8d70\u4e00\u6b65\uff0c\u5b83\u63d0\u5021\u7684\u662f\u4eba\u4eec\u4e0d\u9700\u8981\u5173\u5fc3\u5e94\u7528\u903b\u8f91\u4ee5\u5916\u7684\u670d\u52a1\u76f8\u5173\u7684\u4e8b\u60c5\uff0c\u5305\u62ec\u7ba1\u7406\u3001\u914d\u7f6e\u3001\u8fd0\u7ef4\u7b49\uff0c\u7528\u591a\u5c11\u5c31\u4ed8\u591a\u5c11\u3002

\n

\u4ece\u8fd9\u4e2a\u89d2\u5ea6\u6765\u770b\uff0cServerless \u662f\u771f\u6b63\u8ba9\u4e91\u8ba1\u7b97\u53d8\u6210\u793e\u4f1a\u5546\u4e1a\u57fa\u7840\u8bbe\u65bd\u7684\u4e00\u4e2a\u5b9e\u73b0\u8def\u5f84\uff0c\u4e5f\u66f4\u63a5\u8fd1\u73b0\u5728\u4e1a\u5185\u63d0\u5021\u7684\u4e91\u539f\u751f\u7684\u65b9\u5f0f\uff0c\u56e0\u6b64\u4eba\u4eec\u5728\u4f7f\u7528\u4e91\u8ba1\u7b97\u7684\u8fc7\u7a0b\u4e2d\u81ea\u7136\u5c31\u5e94\u8be5\u6309\u7167 Serverless \u7684\u65b9\u5f0f\u6765\u4f7f\u7528\u3002

\n

\u56fd\u5916\u7684\u5f00\u53d1\u8005\u5728 Serverless \u9886\u57df\u7684\u5fc3\u667a\u660e\u663e\u6bd4\u56fd\u5185\u5f00\u53d1\u8005\u5efa\u7acb\u7684\u66f4\u597d\u3002\u56e0\u4e3a\u56fd\u5916\u5f88\u591a\u516c\u53f8\u4e00\u5f00\u59cb\u5c31\u662f\u57fa\u4e8e Lambda \u751f\u6001\u6765\u521b\u4e1a\u7684\uff0c\u800c\u56fd\u5185\u4e00\u4e9b\u5927\u4f01\u4e1a\u5df2\u7ecf\u9646\u7eed\u5f00\u59cb\u4f7f\u7528 Serverless \u7684\u5de5\u5177\u548c\u4ea7\u54c1\uff0c\u8fd8\u6709\u5f88\u5927\u4e00\u90e8\u5206\u4f01\u4e1a\u5904\u4e8e\u89c2\u671b\u72b6\u6001\u3002

\n

\u4e00\u4e2a\u65b0\u4ea7\u54c1\u7684\u51fa\u73b0\u4e5f\u662f\u8981\u6709\u4e00\u4e2a\u9002\u5e94\u671f\u7684\uff0c\u6240\u4ee5\u5728 Serverless \u8fd9\u6837\u4e00\u7cfb\u5217\u4ea7\u54c1\u51fa\u73b0\u4e4b\u540e\uff0c\u7528\u6237\u5bf9\u4e8e\u662f\u5426\u4f7f\u7528\u3001\u662f\u5426\u8fc1\u79fb\u3001\u5982\u4f55\u8fc1\u79fb\u662f\u6709\u5f88\u591a\u987e\u8651\u7684\u3002\u7ecf\u5e38\u4f1a\u6709\u4f01\u4e1a\u54a8\u8be2\u5173\u4e8e\u51fd\u6570\u8ba1\u7b97\u7684\u5b89\u5168\u6027\u5982\u4f55\u4fdd\u8bc1\uff0c\u51fd\u6570\u8ba1\u7b97\u7684\u7a33\u5b9a\u6027\u5982\u4f55\u4fdd\u8bc1\uff0c\u4ee5\u53ca\u4f20\u7edf\u9879\u76ee\u8fc1\u79fb\u5230 Serverless \u67b6\u6784\u662f\u5426\u6709\u6bd4\u8f83\u5927\u7684\u6539\u9020\u6210\u672c\u548c\u6539\u9020\u98ce\u9669\u7b49\u3002\u8fd9\u4e9b\u987e\u8651\u5f88\u6b63\u5e38\uff0c\u4f46\u662f\u6211\u76f8\u4fe1\uff0c\u968f\u7740 Serverless \u7684\u53d1\u5c55\uff0cFaaS \u5b9a\u4e49\u7684\u8d8a\u53d1\u5e7f\u6cdb\uff0c\u5de5\u5177\u94fe\u5efa\u8bbe\u7684\u8d8a\u53d1\u5b8c\u6574\uff0c\u8fd9\u4e9b\u95ee\u9898\u90fd\u4f1a\u9010\u6e10\u88ab\u89e3\u51b3\u3002\u7406\u8bba\u4e0a\uff0c\u6280\u672f\u80fd\u89e3\u51b3\u7684\u95ee\u9898\uff0c\u90fd\u4e0d\u7b97\u95ee\u9898\u3002

\n

\u6ca1\u6709\u89c4\u6a21\uff0c\u4e0d\u8981\u81ea\u5efa Serverless

\n

Serverless \u5e26\u6765\u7684\u6781\u81f4\u5f39\u6027\u4f53\u9a8c\u3001\u6210\u672c\u8282\u7ea6\u3001\u5f00\u53d1\u6548\u7387\u63d0\u5347\u7b49\uff0c\u90fd\u662f\u975e\u5e38\u5177\u6709\u5438\u5f15\u529b\u7684\u3002\u4f20\u7edf\u4e1a\u52a1\u5728\u5f00\u53d1\u4e0a\u7ebf\u7684\u8fc7\u7a0b\u4e2d\uff0c\u9700\u8981\u56e2\u961f\u5408\u4f5c\uff0c\u6bcf\u4e2a\u4eba\u5f00\u53d1\u4e00\u90e8\u5206\uff0c\u5408\u5e76\u4ee3\u7801\uff0c\u5f00\u53d1\u8054\u8c03\uff0c\u7136\u540e\u8fdb\u884c\u8d44\u6e90\u8bc4\u4f30\uff0c\u6d4b\u8bd5\u73af\u5883\u642d\u5efa\u3001\u7ebf\u4e0a\u73af\u5883\u642d\u5efa\u3001\u6d4b\u8bd5\u4e0a\u7ebf\u3001\u8fd0\u7ef4\u3002\u4f46\u662f\u5728 Serverless \u65f6\u4ee3\u4e0b\uff0c\u5f00\u53d1\u8005\u53ea\u9700\u8981\u5f00\u53d1\u81ea\u5df1\u90a3\u90e8\u5206\u529f\u80fd /\u51fd\u6570\uff0c\u7136\u540e\u90e8\u7f72\u5230\u6d4b\u8bd5\u73af\u5883\u3001\u7ebf\u4e0a\u73af\u5883\u5373\u53ef\uff0c\u540e\u671f\u5f88\u5927\u4e00\u90e8\u5206\u8fd0\u7ef4\u5de5\u4f5c\u90fd\u4e0d\u7528\u8003\u8651\u548c\u62c5\u5fc3\u3002

\n

\u53ef\u4ee5\u6beb\u4e0d\u5938\u5f20\u7684\u8bf4\uff0c\u5982\u679c\u4f01\u4e1a\u81ea\u5df1\u901a\u8fc7\u4e91\u4e3b\u673a\u642d\u5efa\u7684\u6570\u636e\u5e93\u670d\u52a1\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u53ef\u7528\u6027\u4e0d\u5982\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u6570\u636e\u5e93\u670d\u52a1\uff0c\u6b64\u5916\uff0cAPI \u7f51\u5173\u3001\u6570\u636e\u5b58\u50a8\u670d\u52a1\u7b49\u4e5f\u662f\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u4ea7\u54c1\u6027\u80fd\u66f4\u597d\uff0c\u4e5f\u66f4\u5b89\u5168\u53ef\u9760\u3002

\n

\u5c0f\u4f01\u4e1a\u6700\u597d\u4e0d\u8981\u81ea\u5df1\u53bb\u5efa\u8bbe Serverless \u3002\u56e0\u4e3a Serverless \u7684\u6838\u5fc3\u8981\u7d20\u662f\u6309\u91cf\u4f7f\u7528\uff0c\u8fd9\u5c31\u610f\u5473\u7740\u5982\u679c\u4eca\u5929\u7684\u91cf\u5f88\u5c0f\uff0c\u4f60\u5c31\u7528\u5f88\u5c11\u7684\u8d44\u6e90\uff1b\u5982\u679c\u4eca\u5929\u7684\u91cf\u5f88\u5927\uff0c\u5c31\u9700\u8981\u8c03\u52a8\u66f4\u591a\u7684\u8d44\u6e90\u3002\u201c\u53cc\u5341\u4e00\u201d\u7684\u65f6\u5019\uff0c\u6d41\u91cf\u90fd\u662f\u4ebf\u7684\u91cf\u7ea7\uff0c\u5982\u679c\u4f60\u7684\u4f01\u4e1a\u5185\u90e8\u6ca1\u6709\u6309\u4ebf\u7ea7\u505a\u5355\u4f4d\u7684\u8fd9\u79cd\u6d41\u91cf\u7684\u673a\u5668\u8d44\u6e90\uff0c\u4f60\u600e\u4e48\u53bb\u8c03\u5ea6\u8fd9\u4e9b\u8d44\u6e90\u7ed9\u4ed6\u4eba\u4f7f\u7528\u5462\uff1f\u6ca1\u529e\u6cd5\u5b9e\u73b0\u6309\u91cf\u8c03\u5ea6\uff0c\u5c31\u522b\u63d0 Serverless \u4e86\u3002\u90a3\u4e9b\u4e0d\u5177\u5907\u8d44\u6e90\u89c4\u6a21\u5316\u7684\u4f01\u4e1a\u4e0d\u5efa\u8bae\u53bb\u81ea\u5efa Serverless \u80fd\u529b\uff0c\u4f46\u662f\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u516c\u6709\u4e91\u7684\u4ea7\u54c1\u6765\u5b9e\u8df5 Serverless \u3002

\n

\u5f53\u4e0b\uff0c\u5404\u5927\u5382\u5546\u90fd\u770b\u51c6\u4e86 Serverless \u662f\u672a\u6765\uff0c\u5c31\u7b97\u5b83\u4e0d\u662f\u4e91\u8ba1\u7b97\u7684\u7ec8\u6001\uff0c\u4e5f\u662f\u901a\u5f80\u7ec8\u6001\u7684\u4e00\u4e2a\u9014\u5f84\uff0c\u4e00\u65b9\u9762\u662f\u56e0\u4e3a Serverless \u53ef\u4ee5\u89e3\u51b3\u5f88\u591a\u5b9e\u9645\u95ee\u9898\uff0c\u66f4\u201c\u50cf\u201d\u6216\u8005\u8bf4\u66f4\u201c\u8d34\u8fd1\u201d\u771f\u6b63\u7684\u4e91\u8ba1\u7b97\uff1b\u53e6\u4e00\u65b9\u9762\uff0c\u5927\u5bb6\u90fd\u4e0d\u60f3\u5728\u4e91\u8ba1\u7b97\u53d1\u5c55\u7684\u6d6a\u6f6e\u4e2d\u6389\u961f\u3002\u6240\u4ee5\uff0cServerless \u6210\u4e86\u5fc5\u4e89\u4e4b\u5730\u3002

\n

\u5173\u4e8e Serverless \u80fd\u529b\u7684\u7ade\u4e89\u4e3b\u8981\u6709\u4e09\u90e8\u5206\uff1a

\n

\u4e00\u662f\u6027\u80fd\uff0c\u5305\u62ec\u5b89\u5168\u3001\u7a33\u5b9a\u3001\u5f39\u6027\u7b49\u5728\u5185\uff0c\u6027\u80fd\u8fd9\u90e8\u5206\u5982\u679c\u505a\u4e0d\u597d\uff0c\u6211\u89c9\u5f97\u4e0d\u7528\u8bf4\u505a\u4e0d\u505a Serverless\uff0c\u5c31\u7b97\u4e91\u8ba1\u7b97\u4e5f\u522b\u505a\u4e86\uff0c\u56e0\u4e3a\u6027\u80fd\u662f Serverless \u7684\u6838\u5fc3\u80fd\u529b\uff0c\u4e00\u5207\u90fd\u5efa\u7acb\u5728\u5b89\u5168\u3001\u7a33\u5b9a\u3001\u6027\u80fd\u4e4b\u4e0a\u3002

\n

\u4e8c\u662f\u529f\u80fd\uff0c\u60f3\u8981\u628a Serverless \u505a\u597d\uff0c\u529f\u80fd\u662f\u4e0d\u53ef\u7f3a\u5c11\u7684\u3002\u56e0\u4e3a Serverless \u4e0d\u4ec5\u4ec5\u662f FaaS\uff0c\u5c31\u7b97\u662f FaaS \u4e5f\u4e0d\u4ec5\u4ec5\u662f\u5728\u7ebf\u8fd0\u884c\uff0c\u8fd8\u5305\u62ec\u5f88\u591a\u4e1c\u897f\uff0c\u5982 BaaS \u3001\u89e6\u53d1\u5668\u3001\u65e5\u5fd7\u3001\u76d1\u63a7\u3001\u544a\u8b66\u7b49\u3002\u53ea\u6709\u5728\u529f\u80fd\u4e0a\u6ee1\u8db3\u5f00\u53d1\u8005\u7684\u8bc9\u6c42\uff0c\u5f00\u53d1\u8005\u624d\u6709\u53ef\u80fd\u613f\u610f\u4f7f\u7528\u3002

\n

\u6700\u540e\u662f\u4f53\u9a8c\uff0cServerless \u7684\u4f53\u9a8c\u592a\u91cd\u8981\u4e86\uff0c\u4f53\u9a8c\u5305\u62ec\u65b9\u65b9\u9762\u9762\uff0c\u5982\u529f\u80fd\u7684\u6613\u7528\u6027\u3001\u7a33\u5b9a\u6027\u3001\u5b89\u5168\u6027\u3001\u4ea7\u54c1\u7684\u7075\u6d3b\u6027\u3001\u5de5\u5177\u94fe\u7684\u5b8c\u6574\u6027\u7b49\u3002\u9664\u4e86\u524d\u9762\u8bf4\u7684\u4e09\u70b9\uff0c\u6211\u89c9\u5f97\u793e\u533a\u3001\u751f\u6001\u3001\u5f00\u653e\u7b49\uff0c\u4e5f\u975e\u5e38\u91cd\u8981\u3002

\n

\u963f\u91cc\u4e91\u4f5c\u4e3a\u56fd\u5185\u7b2c\u4e00\u6279\u63a8\u51fa Serverless \u5e73\u53f0\u7684\u516c\u6709\u4e91\u5382\u5546\uff0c\u5176 FaaS \u5e73\u53f0\u4ea7\u54c1\u88ab\u79f0\u4e3a\u51fd\u6570\u8ba1\u7b97\u3002\u4ece\u4e8b\u4ef6\u89e6\u53d1\u3001\u652f\u6301\u8bed\u8a00\u4ee5\u53ca\u7528\u6237\u4f53\u9a8c\u7b49\u65b9\u9762\u8003\u91cf\uff0c\u51fd\u6570\u8ba1\u7b97\u6709\u5f88\u591a\u6570\u636e\u503c\u5f97\u5173\u6ce8\uff1a

\n\n

\u68d8\u624b\u7684\u96be\u9898

\n

Serverless \u7684\u75db\u70b9\u5f88\u68d8\u624b\uff0c\u4f8b\u5982\u4f20\u7edf\u9879\u76ee\u5982\u4f55\u5feb\u901f\u8fc1\u79fb\u5230 Serverless\uff0c\u5982\u4f55\u5e73\u6ed1\u8fc7\u6e21\uff0c\u5982\u4f55 Serverless \u5316\uff0cServerless \u67b6\u6784\u4e0b\u5982\u4f55\u8fdb\u884c\u66f4\u4f18\u7684\u8c03\u8bd5\uff0c\u5982\u4f55\u66f4\u597d\u5730\u8282\u7ea6\u6210\u672c\u7b49\uff0c\u6bcf\u4e00\u4e2a\u90fd\u662f\u96be\u9898\u3002\u6211\u7684\u540c\u4e8b\u8bb8\u6653\u658c\u5728\u300a\u55a7\u54d7\u7684\u80cc\u540e\uff1aServerless \u7684\u6982\u5ff5\u53ca\u6311\u6218\u300b\u4e00\u6587\u4e2d\u66fe\u63d0\u5230\u843d\u5730 Serverless \u9762\u4e34\u7684\u6311\u6218\uff1a

\n

\u5728\u4e3b\u6d41\u7684\u573a\u666f\u5927\u89c4\u6a21\u7684\u843d\u5730 Serverless\uff0c\u5e76\u4e0d\u662f\u4e00\u4ef6\u5bb9\u6613\u7684\u4e8b\u60c5\uff0c\u9762\u4e34\u7684\u6311\u6218\u6709\u5f88\u591a\uff0c\u4e0b\u9762\u6211\u5177\u4f53\u5206\u6790\u4e00\u4e0b\u8fd9\u4e9b\u6311\u6218\uff1a

\n

\u6311\u6218\u4e00\uff1a\u4e1a\u52a1\u8f7b\u91cf\u5316\u56f0\u96be

\n

\u8981\u5b9e\u73b0\u5f7b\u5e95\u7684\u81ea\u52a8\u5f39\u6027\uff0c\u6309\u5b9e\u9645\u4f7f\u7528\u8d44\u6e90\u4ed8\u8d39\uff0c\u5c31\u610f\u5473\u7740\u5e73\u53f0\u9700\u8981\u80fd\u591f\u5728\u79d2\u7ea7\u751a\u81f3\u6beb\u79d2\u7ea7\u522b\u6269\u5bb9\u51fa\u4e1a\u52a1\u5b9e\u4f8b\u3002\u8fd9\u5bf9\u57fa\u7840\u8bbe\u65bd\u662f\u4e00\u4e2a\u6311\u6218\uff0c\u5bf9\u4e1a\u52a1\uff0c\u5c24\u5176\u662f\u6bd4\u8f83\u5e9e\u5927\u7684\u4e1a\u52a1\u5e94\u7528\u6765\u8bf4\uff0c\u66f4\u63d0\u51fa\u4e86\u5f88\u9ad8\u7684\u8981\u6c42\u3002\u5982\u679c\u4e00\u4e2a\u5e94\u7528\u7684\u5206\u53d1\u548c\u542f\u52a8\u9700\u8981\u5341\u5206\u949f\uff0c\u90a3\u4e48\u81ea\u52a8\u5f39\u6027\u7684\u54cd\u5e94\u80fd\u529b\u5c31\u57fa\u672c\u65e0\u6cd5\u8ddf\u4e0a\u4e1a\u52a1\u6d41\u91cf\u7684\u53d8\u5316\u4e86\u2026\u2026

\n

\u6311\u6218\u4e8c\uff1a\u57fa\u7840\u8bbe\u65bd\u54cd\u5e94\u8981\u6c42\u6781\u9ad8

\n

\u4e00\u65e6 Serverless \u7684\u5e94\u7528\u6216\u8005\u51fd\u6570\u7684\u5b9e\u4f8b\u80fd\u591f\u5b9e\u73b0\u79d2\u7ea7\uff0c\u751a\u81f3\u6beb\u79d2\u7ea7\u6269\u5bb9\uff0c\u76f8\u5173\u57fa\u7840\u8bbe\u65bd\u5c31\u5f88\u5feb\u4f1a\u9762\u4e34\u5de8\u5927\u7684\u538b\u529b\u3002\u6700\u5e38\u89c1\u7684\u57fa\u7840\u8bbe\u65bd\u5c31\u662f\u670d\u52a1\u53d1\u73b0\u548c\u65e5\u5fd7\u76d1\u63a7\u7cfb\u7edf\uff0c\u539f\u672c\u6574\u4e2a\u96c6\u7fa4\u5b9e\u4f8b\u7684\u53d8\u5316\u9891\u7387\u53ef\u80fd\u662f\u6bcf\u5c0f\u65f6\u51e0\u6b21\uff0c\u73b0\u5728\u8fd9\u4e2a\u9891\u7387\u53d8\u6210\u4e86\u6bcf\u79d2\u51e0\u6b21\uff1b\u6b64\u5916\uff0c\u5982\u679c\u8fd9\u4e9b\u7cfb\u7edf\u7684\u54cd\u5e94\u80fd\u529b\u8ddf\u4e0d\u4e0a\u5b9e\u4f8b\u53d8\u5316\u7684\u901f\u5ea6\uff0c\u90a3\u4e48\u6574\u4e2a\u4f53\u9a8c\u4e5f\u5c31\u5927\u6253\u6298\u6263\u4e86\u3002

\n

\u6311\u6218\u4e09\uff1a\u4e1a\u52a1\u8fdb\u7a0b\u751f\u547d\u5468\u671f\u4e0e\u5bb9\u5668\u4e0d\u4e00\u81f4

\n

Serverless \u5e73\u53f0\u4f9d\u8d56\u6807\u51c6\u5316\u7684\u5e94\u7528\u751f\u547d\u5468\u671f\uff0c\u624d\u80fd\u5b9e\u73b0\u5b8c\u5168\u81ea\u52a8\u7684\u5bb9\u5668\u817e\u632a\uff0c\u5e94\u7528\u81ea\u6108\u7b49\u7279\u6027\u3002\u800c\u5728\u57fa\u4e8e\u6807\u51c6\u5bb9\u5668\u53ca Kubernetes \u7684\u4f53\u7cfb\u4e0b\uff0c\u5e73\u53f0\u80fd\u63a7\u5236\u7684\u751f\u547d\u5468\u671f\u5c31\u662f\u5bb9\u5668\u7684\u751f\u547d\u5468\u671f\u3002\u56e0\u6b64\u5c31\u9700\u8981\u4e1a\u52a1\u505a\u5230\u4e1a\u52a1\u8fdb\u7a0b\u7684\u751f\u547d\u5468\u671f\u548c\u5bb9\u5668\u7684\u751f\u547d\u5468\u671f\u4fdd\u6301\u4e00\u81f4\uff0c\u5177\u4f53\u5305\u62ec\u542f\u52a8\u3001\u505c\u6b62\u3001\u4ee5\u53ca readiness probe \u548c liveness probe \u7684\u89c4\u8303\u7b49\u7b49\u2026\u2026

\n

\u6311\u6218\u56db\uff1a\u53ef\u89c2\u6d4b\u80fd\u529b\u9700\u5b8c\u5584

\n

\u5728 Serverful \u7684\u6a21\u5f0f\u4e0b\uff0c\u5982\u679c\u751f\u4ea7\u73af\u5883\u51fa\u73b0\u4efb\u4f55\u95ee\u9898\uff0c\u670d\u52a1\u5668\u662f\u4e0d\u4f1a\u6d88\u5931\u7684\uff0c\u7528\u6237\u4f1a\u5f88\u81ea\u7136\u7684\u60f3\u5230\u767b\u9646\u5230\u670d\u52a1\u5668\u4e0a\u53bb\u3002\u5230\u4e86 Serverless \u6a21\u5f0f\u4e0b\uff0c\u7528\u6237\u4e0d\u9700\u8981\u5173\u5fc3\u670d\u52a1\u5668\u4e86\uff0c\u4e5f\u5c31\u662f\u8bf4\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u662f\u770b\u4e0d\u5230\u670d\u52a1\u5668\u4e86\uff0c\u90a3\u4e48\u8fd9\u4e2a\u65f6\u5019\u5982\u679c\u7cfb\u7edf\u51fa\u73b0\u5f02\u5e38\u4e86\uff0c\u800c\u4e14\u5e73\u53f0\u65e0\u6cd5\u5b8c\u6210\u81ea\u6108\u600e\u4e48\u529e\u5462\uff1f\u2026\u2026\u5f53\u56f4\u7ed5 Serverless \u6a21\u5f0f\u7684\u5168\u9762\u53ef\u89c2\u6d4b\u80fd\u529b\u4e0d\u8db3\u7684\u65f6\u5019\uff0c\u7528\u6237\u5fc5\u7136\u4e0d\u4f1a\u5bf9\u6b64\u611f\u5230\u653e\u5fc3\u3002

\n

\u6311\u6218\u4e94\uff1a\u7814\u53d1\u8fd0\u7ef4\u5fc3\u667a\u9700\u8981\u6539\u53d8

\n

\u51e0\u4e4e\u6240\u6709\u7684\u7814\u53d1\uff0c\u5728\u804c\u4e1a\u751f\u6daf\u4e2d\u7b2c\u4e00\u6b21\u90e8\u7f72\u81ea\u5df1\u7684\u5e94\u7528\u7a0b\u5e8f\u7684\u65f6\u5019\uff0c\u90fd\u662f\u9762\u5411\u4e00\u53f0\u670d\u52a1\u5668\u7684\uff0c\u6216\u8005\u8bf4\u662f\u9762\u5411\u4e00\u4e2a IP \u7684\uff0c\u8fd9\u662f\u4e00\u79cd\u975e\u5e38\u5f3a\u5927\u7684\u4e60\u60ef\u3002\u5728 Serverless \u9010\u6e10\u843d\u5730\u7684\u8fc7\u7a0b\u4e2d\uff0c\u7814\u53d1\u9700\u8981\u8f6c\u6362\u4e00\u4e9b\u601d\u7ef4\u7684\u6a21\u5f0f\uff0c\u9010\u6b65\u5730\u53bb\u9002\u5e94 \u201cIP \u968f\u65f6\u53ef\u80fd\u4f1a\u53d1\u751f\u53d8\u5316\u201d \u8fd9\u6837\u4e00\u79cd\u5fc3\u667a\uff0c\u8f6c\u800c\u66f4\u591a\u7684\u4ece\u670d\u52a1\u7248\u672c\uff0c\u4ee5\u53ca\u4ece\u6d41\u91cf\u7684\u89c6\u89d2\u53bb\u8fd0\u7ef4\u81ea\u5df1\u7684\u7cfb\u7edf\u3002

\n

\u6253\u4e2a\u6bd4\u55bb\uff0cServerless \u76ee\u524d\u786e\u5207\u6765\u8bf4\u5df2\u7ecf\u6709\u4e86\u4e00\u4e2a\u5f62\u6001\uff0c\u4e5f\u5c31\u662f\u6709\u4e00\u4e2a\u6846\u67b6\uff0c\u4f46\u662f\u8fd9\u4e2a\u6846\u67b6\u91cc\u8fd8\u6709\u5f88\u591a\u683c\u5b50\uff08\u95ee\u9898\uff09\u6ca1\u6709\u88ab\u586b\u6ee1\uff08\u89e3\u51b3\uff09\uff0c\u8fd9\u4e5f\u662f\u5927\u5bb6\u4eca\u5929\u5bf9\u662f\u4e0d\u662f\u8be5\u7528 Serverless \u5b58\u5728\u7591\u95ee\u7684\u5730\u65b9\uff0c\u539f\u56e0\u4e4b\u4e00\u662f\u8fd8\u6ca1\u6709\u770b\u5230\u8db3\u591f\u591a\u7684\u6210\u529f\u6848\u4f8b\u3002**\u4f46\u4e8b\u5b9e\u4e0a\uff0c\u963f\u91cc\u5728 2019 \u5e74\u53cc\u5341\u4e00\u5c31\u5df2\u7ecf\u6210\u529f\u5b9e\u8df5\u4e86 Serverless \u3002\u4e0d\u4ec5\u5982\u6b64\uff0c\u963f\u91cc\u4e91\u8fd8\u5e26\u52a8\u4e86\u4e00\u6279\u4f01\u4e1a\u4f7f\u7528\u51fd\u6570\u8ba1\u7b97\u4ea7\u54c1\uff0c\u4ece\u800c\u8282\u7701\u4e86\u5927\u91cf\u7684 IT \u6210\u672c\u3002\u00a0**

\n

\"\u6210\u4e3a\u7528\u6237\u9700\u8981\u7684 Serverless\"

\n

\u51fd\u6570\u8ba1\u7b97\u6709\u51e0\u4e2a\u975e\u5e38\u5178\u578b\u7684\u5e94\u7528\u573a\u666f\uff0c\u6bd4\u5982 Web \u5e94\u7528\u3001AI \u63a8\u7406\u3001\u97f3\u89c6\u9891\u5904\u7406\u3001\u56fe\u6587\u5904\u7406\u3001\u5b9e\u65f6\u6587\u4ef6\u5904\u7406\u3001\u5b9e\u65f6\u6d41\u5904\u7406\u7b49\uff0c\u76ee\u524d\u51fd\u6570\u8ba1\u7b97\u62e5\u6709\u5927\u91cf\u7684\u5ba2\u6237\u7fa4\u4f53\uff0c\u5982\u77f3\u58a8\u6587\u6863\u3001\u8292\u679c TV \u3001\u65b0\u6d6a\u5fae\u535a\u3001\u7801\u9686\u79d1\u6280\u7b49\u3002

\n

\u4ee5\u5fae\u535a\u4e3a\u4f8b\uff0c\u51fd\u6570\u8ba1\u7b97\u5e73\u5747\u6bcf\u5929\u627f\u8f7d\u5fae\u535a\u51e0\u5341\u4ebf\u6b21\u8bf7\u6c42\uff0c\u5176\u6beb\u79d2\u7ea7\u4f38\u7f29\u8ba1\u7b97\u8d44\u6e90\u80fd\u591f\u786e\u4fdd\u5728\u70ed\u70b9\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u5e94\u7528\u4ecd\u80fd\u4fdd\u8bc1\u7a33\u5b9a\u7684\u5ef6\u65f6\uff0c\u7528\u6237\u4f53\u9a8c\u5b8c\u5168\u4e0d\u53d7\u8bbf\u95ee\u6b21\u6570\u7684\u5f71\u54cd\u3002\u901a\u8fc7\u51fd\u6570\u8ba1\u7b97\u8fd0\u884c\u56fe\u7247\u5904\u7406\u670d\u52a1\uff0c\u5fae\u535a\u5b9e\u73b0\u4e86\u6301\u7eed\u7684\u6210\u672c\u8282\u7701\uff0c\u518d\u4e5f\u4e0d\u9700\u8981\u4e3a\u5e73\u6ed1\u5904\u7406\u4e1a\u52a1\u9ad8\u5cf0\u5e26\u6765\u7684\u6d41\u91cf\u6fc0\u589e\u800c\u63d0\u524d\u9884\u7559\u5927\u91cf\u95f2\u7f6e\u673a\u5668\u8d44\u6e90\uff0c\u540c\u65f6\u7531\u4e8e\u4e0d\u9700\u8981\u7ef4\u62a4\u590d\u6742\u7684\u673a\u5668\u72b6\u6001\uff0c\u5de5\u7a0b\u5e08\u53ef\u4ee5\u96c6\u4e2d\u7cbe\u529b\u4e0e\u4ea7\u54c1\u56e2\u961f\u5408\u4f5c\u589e\u52a0\u4e1a\u52a1\u4ef7\u503c\uff0c\u800c\u4e0d\u662f\u82b1\u65f6\u95f4\u7ba1\u7406\u57fa\u7840\u8bbe\u65bd\u3002

\n

\u4e0d\u4ec5\u50cf\u65b0\u6d6a\u8fd9\u6837\u7684\u65e9\u671f\u4e92\u8054\u7f51\u4f01\u4e1a\u5df2\u7ecf\u843d\u5730 Serverless\uff0c\u4e00\u4e9b\u65b0\u5174\u7684\u521b\u4e1a\u516c\u53f8\u4e5f\u6b63\u5728\u52a0\u5165 Serverless \u9635\u8425\u3002

\n

\u84dd\u58a8\u662f\u4e00\u5bb6\u7531\u7f8e\u56fd\u7559\u5b66\u751f\u56de\u56fd\u521b\u4e1a\u7684\u9ad8\u79d1\u6280\u516c\u53f8\uff0c\u4e13\u6ce8\u4e8e\u79fb\u52a8\u4e92\u8054\u65f6\u4ee3\u6570\u5b57\u51fa\u7248\u548c\u79fb\u52a8\u5b66\u4e60\u9886\u57df\u7684\u65b0\u6280\u672f\u7814\u7a76\u53ca\u5e73\u53f0\u8fd0\u8425\u3002\u968f\u7740\u5728\u7ebf\u6559\u80b2\u8fce\u6765\u9700\u6c42\u7206\u53d1\uff0c\u84dd\u58a8\u52a0\u5927\u4e86\u6574\u5408\u4e1a\u754c\u4f18\u8d28\u8bfe\u7a0b\u8d44\u6e90\u7684\u529b\u5ea6\uff0c\u4e0d\u65ad\u62d3\u5c55\u81ea\u8eab\u7684\u4e1a\u52a1\u8fb9\u754c\uff0c\u5728\u8d62\u5f97\u673a\u9047\u7684\u540c\u65f6\uff0c\u6280\u672f\u56e2\u961f\u4e5f\u9762\u4e34\u4e86\u524d\u6240\u672a\u6709\u7684\u6311\u6218\u3002

\n

\u89c6\u9891\u5904\u7406\u76f8\u5173\u4e1a\u52a1\u662f\u84dd\u58a8\u6280\u672f\u56e2\u961f\u9047\u5230\u7684\u6700\u68d8\u624b\u7684\u95ee\u9898\u4e4b\u4e00\u3002\u84dd\u58a8\u6bcf\u5929\u90fd\u8981\u5904\u7406\u5927\u91cf\u89c6\u9891\u6559\u6750\u8d44\u6e90\uff0c\u6d89\u53ca\u5230\u89c6\u9891\u526a\u8f91\u3001\u5207\u5206\u3001\u7ec4\u5408\u3001\u8f6c\u7801\u3001\u5206\u8fa8\u7387\u8c03\u6574\u3001\u5ba2\u6237\u7aef\u9002\u914d\u7b49\u4e00\u7cfb\u5217\u590d\u6742\u7684\u6280\u672f\u5de5\u4f5c\u3002\u5728\u524d\u51e0\u5e74\u7684\u6280\u672f\u5b9e\u8df5\u4e2d\uff0c\u84dd\u58a8\u6280\u672f\u56e2\u961f\u901a\u8fc7 FFmpeg \u7b49\u6280\u672f\u5df2\u7ecf\u5efa\u7acb\u8d77\u4e00\u6574\u5957\u81ea\u4e3b\u53ef\u63a7\u89c6\u9891\u5904\u7406\u673a\u5236\uff0c\u652f\u6491\u4e86\u4e1a\u52a1\u7684\u5feb\u901f\u53d1\u5c55\u3002\u4f46\u4eca\u5e74\u7684\u4e1a\u52a1\u589e\u957f\u901f\u5ea6\u662f\u84dd\u58a8\u7684\u5de5\u7a0b\u5e08\u4eec\u59cb\u6599\u672a\u53ca\u7684\uff0c\u9ad8\u5cf0\u671f\u6570\u5341\u500d\u4e8e\u5f80\u5e74\u7684\u89c6\u9891\u5904\u7406\u9700\u6c42\u8ba9\u73b0\u6709\u7684\u67b6\u6784\u4e0d\u582a\u91cd\u8d1f\uff0c\u4e25\u91cd\u5f71\u54cd\u4e86\u7528\u6237\u4f53\u9a8c\u3002

\n

\u84dd\u58a8\u73b0\u5728\u7684\u6838\u5fc3\u8bc9\u6c42\u6982\u62ec\u6709\u4e09\u4e2a\uff1a\u8282\u7701\u6210\u672c\u3001\u6781\u81f4\u5f39\u6027\u3001\u514d\u8fd0\u7ef4\uff0c\u800c\u8fd9\u4e9b\u6070\u6070\u662f Serverless \u6700\u64c5\u957f\u89e3\u51b3\u7684\u95ee\u9898\u3002\u7ecf\u8fc7\u5bf9\u56fd\u5185\u4e91\u5382\u5546\u63d0\u4f9b\u7684 Serverless \u670d\u52a1\u7684\u591a\u65b9\u9762\u8c03\u7814\u540e\uff0c\u84dd\u58a8\u6280\u672f\u56e2\u961f\u4e00\u81f4\u8ba4\u4e3a\u5728\u89c6\u9891\u5904\u7406\u9886\u57df\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u662f\u6700\u9002\u5408\u4ed6\u4eec\u7684\u65b9\u6848\u3002

\n

\u7531\u4e8e FC \u5b8c\u5168\u517c\u5bb9\u73b0\u6709\u7684\u4ee3\u7801\u903b\u8f91\uff0c\u4e5f\u80fd\u591f\u652f\u6301\u5404\u7c7b\u4e3b\u6d41\u7684\u5f00\u53d1\u8bed\u8a00\uff0c**\u6240\u4ee5\u84dd\u58a8\u6280\u672f\u56e2\u961f\u53ef\u4ee5\u628a\u4ee3\u7801\u903b\u8f91\u4ee5\u8fd1\u4e4e\u65e0\u7f1d\u8854\u63a5\u7684\u65b9\u5f0f\u4ece\u539f\u6709\u7684\u67b6\u6784\u8fc1\u79fb\u5230 FC \u4e0a\uff0c\u5e76\u4e14\u6210\u672c\u6781\u4f4e\u3002**\u901a\u8fc7\u5bf9\u63a5 OSS \u89e6\u53d1\u5668\uff0c\u53ea\u8981 OSS \u4e0a\u6709\u65b0\u7684\u89c6\u9891\u6e90\u6587\u4ef6\u4e0a\u4f20\uff0c\u5c31\u80fd\u81ea\u52a8\u62c9\u8d77\u51fd\u6570\u8ba1\u7b97\u5b9e\u4f8b\uff0c\u5f00\u542f\u4e00\u6b21\u89c6\u9891\u5904\u7406\u4e1a\u52a1\u7684\u751f\u547d\u5468\u671f\u3002

\n

\u901a\u8fc7\u6574\u5408 Serverless \u5de5\u4f5c\u6d41\uff0c\u8fd8\u80fd\u5bf9\u5206\u5e03\u5f0f\u4efb\u52a1\u8fdb\u884c\u7edf\u4e00\u7f16\u6392\uff0c\u5b9e\u73b0\u5bf9\u4e8e\u5927\u6587\u4ef6\u5207\u7247\u540e\u8fdb\u884c\u5e76\u884c\u5904\u7406\u5e76\u6700\u7ec8\u5408\u5e76\u7684\u590d\u6742\u64cd\u4f5c\uff0c\u80fd\u591f\u5728\u77ed\u65f6\u95f4\u5185\u8fc5\u901f\u8c03\u96c6\u4e0a\u4e07\u4e2a\u5b9e\u4f8b\u7684\u8ba1\u7b97\u8d44\u6e90\uff0c\u5b9e\u73b0\u89c6\u9891\u5904\u7406\u4efb\u52a1\u7684\u5feb\u901f\u6267\u884c\uff1b

\n

\u53e6\u4e00\u65b9\u9762\uff0c\u76f8\u6bd4\u4e8e\u4f20\u7edf\u7684\u65b9\u5f0f\uff0c\u57fa\u4e8e\u51fd\u6570\u8ba1\u7b97 FC \u7684 Serverless \u65b9\u6848\u5728\u89c6\u9891\u5904\u7406\u573a\u666f\u4e0b\uff0c\u53ef\u4ee5\u5e2e\u52a9\u84dd\u58a8\u8282\u7701\u4e86\u00a060%\u00a0\u5de6\u53f3\u7684 IT \u6210\u672c\u6295\u5165\u3002

\n

\u4e0b\u4e00\u4e2a\u5341\u5e74\u7684\u4e3b\u6218\u573a

\n

\u7406\u60f3\u4e2d\u7684 Serverless\uff0c\u5e94\u8be5\u662f\uff1a\u66f4\u5b8c\u5584\u7684\u4ea7\u54c1\u5f62\u6001\uff0c\u66f4\u6781\u81f4\u7684\u5f39\u6027\u80fd\u529b\uff0c\u66f4\u597d\u7528\u7684\u5de5\u5177\u94fe\uff0c\u66f4\u8282\u7ea6\u7684\u6210\u672c\uff0c\u66f4\u9ad8\u6548\u7684\u5f00\u53d1\u6548\u7387\uff0c\u66f4\u4fbf\u6377\u5feb\u901f\u7684\u8fc1\u79fb\u901f\u5ea6\uff0c\u66f4\u7b80\u4fbf\u5f3a\u5927\u7684\u4e0a\u4e91\u4f53\u9a8c\u3002\u8981\u505a\u5230\u80fd\u8ba9\u5f00\u53d1\u8005\u4ee5\u4e00\u79cd\u65b9\u5f0f\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u4ee3\u7801\u7684\u5f00\u53d1\uff0c\u65e0\u9700\u5173\u6ce8\u8fd0\u884c\u5e73\u53f0\u7684\u5dee\u5f02\u6027\uff0c\u4e00\u5904\u7f16\u5199\u53ef\u4ee5\u5904\u5904\u8fd0\u884c\uff0c\u5f00\u53d1\u8005\u53ea\u8981\u638c\u63e1\u4e00\u79cd\u65b9\u5f0f\u5c31\u53ef\u4ee5\u5728\u4e0d\u540c\u4e1a\u52a1\u4e4b\u95f4\u6ca1\u6709\u5b66\u4e60\u6210\u672c\u5730\u5207\u6362\u3002

\n

\u7ad9\u5728\u5f00\u53d1\u8005\u7684\u89c6\u89d2\uff0cServerless \u7684\u6574\u4e2a\u7814\u53d1\u6a21\u578b\u5bf9\u7814\u53d1\u4f53\u7cfb\u4e5f\u5e26\u6765\u4e86\u6311\u6218\u3002\u5bf9\u4e8e\u524d\u7aef\u6765\u8bf4\uff0cServerless \u4e0d\u4ec5\u8865\u8db3\u4e86\u524d\u7aef\u5de5\u7a0b\u5e08\u73b0\u6709\u7684\u80fd\u529b\uff0c\u8fd8\u53ef\u80fd\u4f7f\u6574\u4e2a\u524d\u7aef\u884c\u4e1a\u7684\u5b9a\u4f4d\u53d1\u751f\u53d8\u5316\u3002\u539f\u6765\u7ecf\u5e38\u6709\u4eba\u4f1a\u8ba4\u4e3a\u524d\u7aef\u7684\u5de5\u4f5c\u5f88\u7b80\u5355\uff0c\u9762\u5411 UI \u505a\u597d\u5f00\u53d1\u5c31\u884c\uff0c\u5269\u4e0b\u7684\u5de5\u4f5c\u53ef\u4ee5\u4ea4\u7ed9\u540e\u7aef\u3002\u4f46\u662f\u524d\u7aef\u548c Serverless \u7ed3\u5408\u4e4b\u540e\uff0c\u5927\u5bb6\u5bf9\u524d\u7aef\u7684\u8bc9\u6c42\u5c31\u4e0d\u4ec5\u4ec5\u662f\u5f00\u53d1\u4e00\u4e2a\u9875\u9762\u4e86\uff0c\u800c\u662f\u8981\u80fd\u4ea4\u4ed8\u6574\u4e2a\u5e94\u7528\u7684\u5f00\u53d1\u3002

\n

\u4f46\u662f\u76f8\u5e94\u6765\u8bb2\uff0c\u540e\u7aef\u540c\u5b66\u53ef\u80fd\u7b2c\u4e00\u53cd\u5e94\u5c31\u662f\uff0c\u90a3\u8fd9\u662f\u4e0d\u662f\u628a\u6211\u9769\u547d\u4e86\uff1f\u6211\u5c31\u4e0d\u9700\u8981\u5e72\u6d3b\u4e86\uff1f\u5176\u5b9e\u4e0d\u662f\u8fd9\u6837\u7684\u3002Serverless \u7814\u53d1\u6a21\u5f0f\u7684\u6f14\u8fdb\u6709\u52a9\u4e8e\u5e2e\u52a9\u4ed6\u4eec\u5f80\u66f4\u5e95\u5c42\u6f14\u8fdb\uff0c\u8ba9\u4ed6\u4eec\u805a\u7126\u4e8e\u771f\u6b63\u9700\u8981\u505a\u6280\u672f\u7814\u7a76\u7684\u90e8\u5206\u3002\u6bd4\u5982\uff0c\u8fd9\u4e9b\u6570\u636e\u7684\u80fd\u529b\u3001\u670d\u52a1\u7684\u80fd\u529b\uff0c\u600e\u4e48\u505a\u5f97\u66f4\u597d\u3001\u66f4\u624e\u5b9e\uff0c\u8fd9\u662f\u6211\u4eec\u671f\u671b\u770b\u5230\u7684\u3002

\n

\u963f\u91cc\u4e91\u6b63\u5728\u901a\u8fc7\u5de5\u5177\u94fe\u3001\u793e\u533a\u4ee5\u53ca\u4ea7\u54c1\u80fd\u529b\u7684\u7ed3\u5408\uff0c\u6253\u4e00\u5f20\u975e\u5e38\u6709\u8da3\u4e14\u4f1a\u5bf9 Serverless \u7684\u6574\u4f53\u53d1\u5c55\u975e\u5e38\u6709\u5229\u7684\u724c\u3002**\u963f\u91cc\u4e91 Serverless \u7684\u76ee\u6807\u662f\u6210\u4e3a\u201c\u5927\u5bb6\u9700\u8981\u7684 Serverless \u201d\uff0c\u8fd9\u662f\u4e0e\u5176\u4ed6\u4e91\u5382\u5546\u622a\u7136\u4e0d\u540c\u7684\u5730\u65b9\u3002**\u53ea\u6709\u5c06\u7528\u6237\u9700\u6c42\u653e\u5728\u9996\u4f4d\u7684 Serverless \u5382\u5546\uff0c\u624d\u80fd\u5c06 Serverless \u4ea7\u54c1\u505a\u597d\u3002

\n

\u672a\u6765\uff0cServerless \u5c06\u65e0\u5904\u4e0d\u5728\uff0c\u4efb\u4f55\u8db3\u591f\u590d\u6742\u7684\u6280\u672f\u65b9\u6848\u90fd\u53ef\u80fd\u88ab\u5b9e\u73b0\u4e3a\u5168\u6258\u7ba1\u3001Serverless \u5316\u7684\u540e\u7aef\u670d\u52a1\u3002\u4e0d\u53ea\u662f\u4e91\u4ea7\u54c1\uff0c\u4e5f\u5305\u62ec\u6765\u81ea\u5408\u4f5c\u4f19\u4f34\u548c\u4e09\u65b9\u7684\u670d\u52a1\uff0c\u4e91\u53ca\u5176\u751f\u6001\u7684\u80fd\u529b\u5c06\u901a\u8fc7 API + Serverless \u6765\u4f53\u73b0\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5bf9\u4e8e\u4efb\u4f55\u4ee5 API \u4f5c\u4e3a\u529f\u80fd\u900f\u51fa\u65b9\u5f0f\u7684\u5e73\u53f0\u578b\u4ea7\u54c1\u6216\u7ec4\u7ec7\uff0c\u5982\u9489\u9489\u3001\u6ef4\u6ef4\u3001\u5fae\u4fe1\u7b49\uff0cServerless \u90fd\u5c06\u662f\u5176\u5e73\u53f0\u6218\u7565\u4e2d\u6700\u91cd\u8981\u7684\u90e8\u5206\u3002

\n", "date_published": "2020-12-11T07:49:34+00:00", "title": "\u4e3a\u4ec0\u4e48\u4e0b\u4e00\u4e2a\u5341\u5e74\u7684\u4e3b\u6218\u573a\u5728 Serverless\uff1f", "id": "t/734548" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/734115", "title": "\u963f\u91cc\u4e91\u7814\u7a76\u5458\u53d4\u540c\uff1a Serverless \u6b63\u5f53\u65f6\uff01", "id": "t/734115", "date_published": "2020-12-10T05:56:00+00:00", "content_html": "

\"10.13

\n

\u4f5c\u8005 | \u53d4\u540c\n\u6765\u6e90 |Serverless \u516c\u4f17\u53f7

\n

\u5bfc\u8bfb\uff1aServerless \u5c06\u5f00\u53d1\u4eba\u5458\u4ece\u7e41\u91cd\u7684\u624b\u52a8\u8d44\u6e90\u7ba1\u7406\u548c\u6027\u80fd\u4f18\u5316\u4e2d\u89e3\u653e\u51fa\u6765\uff0c\u5c31\u50cf\u6570\u5341\u5e74\u524d\u6c47\u7f16\u8bed\u8a00\u6f14\u53d8\u5230\u9ad8\u7ea7\u8bed\u8a00\u7684\u8fc7\u7a0b\u4e00\u6837\uff0c\u4e91\u8ba1\u7b97\u751f\u4ea7\u529b\u518d\u4e00\u6b21\u53d1\u751f\u53d8\u9769\u3002Serverless \u7684\u6838\u5fc3\u4ef7\u503c\u662f\u4ec0\u4e48\uff1f\u963f\u91cc\u4e91\u53d1\u5e03\u4e86\u54ea\u4e9b Serverless \u751f\u6001\u4ea7\u54c1\uff0c\u5404\u6709\u4ec0\u4e48\u7279\u522b\u4e4b\u5904\uff1f\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u7684\u8868\u73b0\u5982\u4f55\uff1f\u963f\u91cc\u4e91\u7814\u7a76\u5458\u53d4\u540c\u5c06\u901a\u8fc7\u672c\u6587\u5206\u4eab\u963f\u91cc\u5e03\u5c40 Serverless \u7684\u5386\u7a0b\u548c\u51b3\u5fc3\u3002

\n

\u5f15\u8a00

\n

\u65e9\u5728 2009 \u5e74\uff0c\u4f2f\u514b\u5229\u66fe\u9884\u6d4b\u4e91\u8ba1\u7b97\u5c06\u4f1a\u5f97\u5230\u84ec\u52c3\u53d1\u5c55\u3002\u8fd1\u4e4e\u65e0\u9650\u7684\u4e91\u7aef\u8ba1\u7b97\u8d44\u6e90\uff0c\u5ba2\u6237\u65e0\u9700\u81ea\u5efa\u673a\u623f\uff0c\u6309\u9700\u8981\u4ed8\u8d39\u6210\u4e3a\u53ef\u80fd\uff0c\u4f01\u4e1a\u5728 IT \u65b9\u9762\u7684\u6295\u5165\u663e\u8457\u964d\u4f4e\uff0c\u4e91\u8ba1\u7b97\u6240\u91ca\u653e\u51fa\u7684\u6280\u672f\u7ea2\u5229\u8ba9\u8d8a\u6765\u8d8a\u591a\u7684\u4f01\u4e1a\u5ba2\u6237\u4ece\u4e91\u4e0b\u642c\u5230\u4e86\u4e91\u4e0a\u3002

\n

\u7136\u800c\uff0c\u5927\u90e8\u5206\u5ba2\u6237\u5728\u4f7f\u7528\u4e91\u670d\u52a1\u65f6\uff0c\u4ecd\u7136\u8981\u9762\u5bf9\u590d\u6742\u7684\u8fd0\u7ef4\u3001\u8f83\u9ad8\u7684\u95f2\u7f6e\u8d44\u6e90\u3001\u65e0\u6cd5\u505a\u5230\u771f\u6b63\u6309\u9700\u4ed8\u8d39\uff0c\u4e91\u8ba1\u7b97\u7684\u4f18\u52bf\u5e76\u672a\u53d1\u6325\u5230\u6781\u81f4\u3002

\n

2015 \u5e74 AWS \u63a8\u51fa\u4e86 Lambda \u670d\u52a1\uff0c2017 \u5e74\u963f\u91cc\u4e91\u63a8\u51fa\u4e86\u51fd\u6570\u8ba1\u7b97 FC\uff0c2019 \u5e74\u4f2f\u514b\u5229\u518d\u6b21\u9884\u6d4b Serverless \u5c06\u53d6\u4ee3 Serverful \u8ba1\u7b97\uff1b\u7531\u6b64\uff0cServerless \u5f15\u53d1\u4e1a\u5185\u7684\u5e7f\u6cdb\u5173\u6ce8\u3002

\n

Serverless \u5c06\u5f00\u53d1\u4eba\u5458\u4ece\u7e41\u91cd\u7684\u624b\u52a8\u8d44\u6e90\u7ba1\u7406\u548c\u6027\u80fd\u4f18\u5316\u4e2d\u89e3\u653e\u51fa\u6765\uff0c\u5c31\u50cf\u6570\u5341\u5e74\u524d\u6c47\u7f16\u8bed\u8a00\u6f14\u53d8\u5230\u9ad8\u7ea7\u8bed\u8a00\u7684\u8fc7\u7a0b\u4e00\u6837\uff0c\u4e91\u8ba1\u7b97\u751f\u4ea7\u529b\u518d\u4e00\u6b21\u53d1\u751f\u53d8\u9769\u3002\u4e0e\u5176\u8bf4 Serverless \u662f\u4e91\u8ba1\u7b97\u7684\u5347\u534e\uff0c\u4e0d\u5982\u8bf4 Serverless \u91cd\u65b0\u5b9a\u4e49\u4e86\u4e91\u8ba1\u7b97\uff0c\u5c06\u6210\u4e3a\u4e91\u65f6\u4ee3\u65b0\u7684\u8ba1\u7b97\u8303\u5f0f\uff0c\u5f15\u9886\u4e91\u7684\u4e0b\u4e00\u4e2a\u5341\u5e74\u3002

\n

Serverless \u7684\u6838\u5fc3\u4ef7\u503c

\n

\u5feb\u901f\u4ea4\u4ed8\u3001\u667a\u80fd\u5f39\u6027\u3001\u66f4\u4f4e\u6210\u672c\uff0c\u8fd9\u662f Serverless \u7684\u6838\u5fc3\u4e09\u5927\u4ef7\u503c\u3002

\n

\u9996\u5148\uff0c\u662f\u5feb\u901f\u4ea4\u4ed8

\n

Serverless \u505a\u4e86\u5927\u91cf\u7684\u7aef\u5bf9\u7aef\u7684\u6574\u5408\u4ee5\u53ca\u4e91\u670d\u52a1\u4e4b\u95f4\u7684\u96c6\u6210\uff0c\u4e3a\u5e94\u7528\u5f00\u53d1\u63d0\u4f9b\u4e86\u6700\u5927\u4fbf\u5229\u6027\uff0c\u7528\u6237\u65e0\u9700\u5173\u6ce8\u5e95\u5c42\u7684 IaaS \u8d44\u6e90\uff0c\u53ea\u9700\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u5f00\u53d1\uff0c\u805a\u7126\u4e8e\u4e1a\u52a1\u521b\u65b0\uff0c\u5927\u5927\u7f29\u77ed\u4e86\u4f01\u4e1a\u5e94\u7528 Go-To-Market \u7684\u65f6\u95f4\uff0c\u521b\u9020\u4e86\u66f4\u5927\u7684\u4e1a\u52a1\u4ef7\u503c\u3002

\n

\u5176\u6b21\uff0c\u662f\u6781\u81f4\u7684\u5f39\u6027

\n

\u5728 Serverless \u4e4b\u524d\uff0c\u76f8\u4fe1\u5f88\u591a\u5f00\u53d1\u8005\u90fd\u6709\u8fc7\u7c7b\u4f3c\u7684\u7ecf\u9a8c\uff0c\u4e00\u65e6\u9047\u5230\u7a81\u53d1\u6d41\u91cf\u53ef\u80fd\u4f1a\u76f4\u63a5\u5bfc\u81f4\u7cfb\u7edf\u8d85\u65f6\u3001\u5f02\u5e38\uff0c\u751a\u81f3\u662f\u5d29\u6e83\uff1b\u5f53\u6211\u4eec\u5728\u505a\u5927\u4fc3\u7684\u65f6\u5019\uff0c\u9700\u8981\u8fdb\u884c\u591a\u6b21\u7684\u5bb9\u91cf\u8bc4\u4f30\u5e76\u63d0\u524d\u505a\u597d\u6269\u5bb9\uff0c\u4e00\u65e6\u8bc4\u4f30\u4e0d\u51c6\uff0c\u53ef\u80fd\u4f1a\u5e26\u6765\u707e\u96be\u6027\u7684\u5f71\u54cd\uff1b\u800c\u6709\u4e86 Serverles \u4e4b\u540e\uff0c\u5e94\u5bf9\u7a81\u53d1\u6d41\u91cf\u3001\u5bb9\u91cf\u8bc4\u4f30\u7b49\u90fd\u5c06\u53d8\u5f97\u66f4\u52a0\u7b80\u5355\u3002

\n

\u5176\u4e09\uff0c\u662f\u66f4\u4f4e\u7684\u6210\u672c

\n

\u5c31\u8ddf\u6211\u4eec\u751f\u6d3b\u4e2d\u7684\u6c34\u7535\u7164\u4e00\u6837\uff0cServerless \u53ea\u4e3a\u5b9e\u9645\u4ea7\u751f\u7684\u8d44\u6e90\u6d88\u8017\u4ed8\u8d39\uff0c\u800c\u65e0\u9700\u4e3a\u95f2\u7f6e\u7684\u8d44\u6e90\u4e70\u5355\u3002
\u57fa\u4e8e\u4ee5\u4e0a\u4e09\u5927\u6838\u5fc3\u4ef7\u503c\uff0cServerless \u52bf\u5fc5\u5c06\u4f1a\u83b7\u5f97\u8d8a\u6765\u8d8a\u591a\u4f01\u4e1a\u548c\u5f00\u53d1\u8005\u5173\u6ce8\u548c\u9752\u7750\u3002

\n

\u963f\u91cc\u5e03\u5c40 Serverless \u7684\u5386\u7a0b

\n

\u963f\u91cc\u5df4\u5df4\u7684 Serverless \u5b9e\u8df5\u5728\u4e1a\u5185\u5904\u4e8e\u9886\u5148\u5730\u4f4d\uff0c\u4e0d\u4ec5\u6dd8\u5b9d\u3001\u652f\u4ed8\u5b9d\u3001\u9489\u9489\u7b49\u5df2\u7ecf\u5c06 Serverless \u5e94\u7528\u4e8e\u751f\u4ea7\u4e1a\u52a1\uff0c\u963f\u91cc\u4e91\u4e0a\u7684 Serverless \u4ea7\u54c1\u66f4\u662f\u5e2e\u52a9\u5fae\u535a\u3001\u77f3\u58a8\u3001\u8ddf\u8c01\u5b66\u3001Timing \u7b49\u6570\u4e07\u5bb6\u4f01\u4e1a\u5ba2\u6237\u6210\u529f\u843d\u5730 Serverless\uff0c\u8986\u76d6\u524d\u7aef\u5168\u6808\uff0c\u5c0f\u7a0b\u5e8f\u3001\u65b0\u96f6\u552e\u3001\u6e38\u620f\u4e92\u5a31\u3001\u5728\u7ebf\u6559\u80b2\u7b49\u884c\u4e1a\u6216\u573a\u666f\u3002

\n

\u4e30\u5bcc\u7684 Serverless \u4ea7\u54c1\u7ed9\u5ba2\u6237\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u9009\u62e9\uff0c\u9762\u5411\u51fd\u6570\u7684 Function Compute \u3001\u9762\u5411\u5e94\u7528\u7684 SAE \u3001\u9762\u5411\u5bb9\u5668\u7f16\u6392\u7684 Serverless K8s \u3001\u4ee5\u53ca\u9762\u5411\u5bb9\u5668\u5b9e\u4f8b\u7684 ECI\uff0c\u6784\u6210\u5f53\u524d\u6240\u6709\u4e91\u5382\u5546\u4e2d\u6700\u5b8c\u6574\u7684 Serverless \u4ea7\u54c1\u77e9\u9635\u3002

\n

\u800c\u8fd9\u4e9b Serverless \u4ea7\u54c1\u7684\u80cc\u540e\uff0c\u662f\u963f\u91cc\u4e91\u57fa\u7840\u8bbe\u65bd\u7684\u56db\u5927\u6838\u5fc3\u6280\u672f\u2014\u2014\u795e\u9f99\u67b6\u6784\u3001\u6c99\u7bb1\u5bb9\u5668\u3001\u76d8\u53e4\u5b58\u50a8\u3001\u6d1b\u795e\u7f51\u7edc\uff0c\u5b83\u4eec\u4e3a Serverless \u63d0\u4f9b\u4e86\u7a33\u56fa\u7684\u57fa\u77f3\u4e0e\u5f3a\u5927\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002

\n

\u5b8c\u5584\u7684 Serverless \u4ea7\u54c1\u9700\u8981\u914d\u5907\u5b8c\u5907\u7684\u540e\u7aef\u4e91\u670d\u52a1\uff0c\u800c\u4eca\u5929\u6211\u4eec\u5c06\u9686\u91cd\u53d1\u5e03\u7684\u4e8b\u4ef6\u603b\u7ebf EventBridge \u548c Serverless Workflow \u8bf4\u660e\u4e86\u963f\u91cc\u4e91\u5728 Serverless \u6218\u7565\u4e0a\u7684\u6295\u5165\u548c\u51b3\u5fc3\u3002\u00a09 \u6708\uff0c\u963f\u91cc\u4e91\u91cd\u78c5\u53d1\u5e03\u56db\u6b3e Serverless \u751f\u6001\u4ea7\u54c1\uff0c\u52a9\u529b\u963f\u91cc\u4e91 Serverless \u7684\u5feb\u901f\u53d1\u5c55\u3002

\n\n

\u8fd9\u56db\u6b3e\u4ea7\u54c1\u6709\u4ec0\u4e48\u7279\u522b\u4e4b\u5904\uff1f

\n

\u6c99\u7bb1\u5bb9\u5668 2.0\uff0c\u66f4\u8f7b\u66f4\u5feb\u7684\u4e91\u539f\u751f\u8fd0\u884c\u5355\u5143\uff0c\u4e3a\u963f\u91cc\u4e91 Serverless \u4ea7\u54c1\u63d0\u4f9b\u4e86\u7a33\u56fa\u7684\u57fa\u77f3\u4e0e\u5f3a\u5927\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002

\n

\u9996\u5148\uff0c\u5b83\u53ef\u4ee5\u4e3a\u7528\u6237\u63d0\u4f9b\u9694\u79bb\u53ef\u9760\u3001\u654f\u6377\u9ad8\u6548\u3001\u88f8\u673a\u6027\u80fd\u7684\u8fd0\u884c\u73af\u5883\u3002\u5176\u6b21\uff0c50ms \u51b7\u542f\u52a8\u30013ms \u70ed\u6062\u590d\uff0c\u66f4\u662f\u6ee1\u8db3 Serverless \u5bf9\u4e8e\u8d44\u6e90\u521a\u6027\u4ea4\u4ed8\u7684\u8d85\u9ad8\u8981\u6c42\u3002\u5176\u4e09\uff0c\u901a\u8fc7\u8f6f\u786c\u4ef6\u534f\u540c\u8bbe\u8ba1\uff0c\u5b9e\u73b0\u4e86\u6027\u80fd\u96f6\u635f\u8017\u3002\u5730\u57fa\u624e\u5f97\u7a33\uff0c\u9ad8\u697c\u65b9\u80fd\u62d4\u5730\u800c\u8d77\u3002\u53ea\u6709\u57fa\u5efa\u7a33\u56fa\u4e86\uff0c\u8fd0\u884c\u5728 Serverless \u4ea7\u54c1\u4e4b\u4e0a\u7684\u5e94\u7528\u624d\u80fd\u62e5\u6709\u66f4\u597d\u7684\u7a33\u5b9a\u6027\u4fdd\u8bc1\u3002

\n

\u963f\u91cc\u4e91\u91cd\u78c5\u53d1\u5e03 Serverless \u4e8b\u4ef6\u603b\u7ebf EventBridge\uff0c\u5c31\u597d\u50cf\u4eba\u7684\u795e\u7ecf\u4e2d\u67a2\uff0c\u901a\u8fc7 EventBridge \u6211\u4eec\u5c06\u6253\u9020\u4e91\u4e0a\u7684\u4e8b\u4ef6\u67a2\u7ebd\u3002CloudEvents \u539f\u751f\u652f\u6301\uff0c\u4f7f\u5f97 Serverless \u4e8b\u4ef6\u66f4\u52a0\u6807\u51c6\u5316\u3001\u89c4\u8303\u5316\u3001\u7edf\u4e00\u5316\u3002\u4e8b\u4ef6\u65e0\u5904\u4e0d\u5728\uff0cEventBridge \u53ef\u4ee5\u8f7b\u677e\u8fde\u63a5\u4e91\u670d\u52a1\u3001\u4e91\u5e94\u7528\u548c SaaS \u5e94\u7528\uff0c\u8fdb\u4e00\u6b65\u52a0\u901f\u963f\u91cc\u4e91 Serverless \u4ea7\u54c1\u7aef\u5230\u7aef\u7684\u96c6\u6210\u3002

\n

2020 \u5e74\uff0c\u963f\u91cc\u4e91\u91cd\u78c5\u53d1\u5e03 Serverless \u5de5\u4f5c\u6d41\uff0c\u5b83\u662f\u4e00\u4e2a\u7528\u6765\u534f\u8c03\u591a\u4e2a\u5206\u5e03\u5f0f\u4efb\u52a1\u6267\u884c\u7684\u5168\u6258\u7ba1 Serverless \u4e91\u670d\u52a1\uff0c\u5316\u7e41\u4e3a\u7b80\uff0c\u901a\u8fc7\u7b80\u5355\u7075\u6d3b\u7684\u5de5\u4f5c\u6d41\u63cf\u8ff0\uff0c\u53ef\u89c6\u5316\u7684\u51fd\u6570\u7f16\u6392\u6a21\u578b\uff0c\u5373\u53ef\u8f7b\u677e\u6784\u5efa\u5a92\u4f53\u5904\u7406\u6d41\u7a0b\u3001\u673a\u5668\u5b66\u4e60\u6d41\u6c34\u7ebf\u3001\u81ea\u52a8\u5316\u8fd0\u7ef4\u6d41\u7a0b\u7b49\u590d\u6742\u7684\u5de5\u4f5c\u3002Serverless Workflow \u8ba9\u51fd\u6570\u7f16\u6392\u66f4\u7b80\u5355\u3001\u66f4\u76f4\u89c2\u3001\u66f4\u4fbf\u5229\u3002

\n

2019 \u5e74\uff0c\u963f\u91cc\u4e91\u9996\u6b21\u53d1\u5e03\u51fd\u6570\u8ba1\u7b97 2.0\uff0c\u63d0\u4f9b\u66f4\u4e30\u5bcc\u7684\u8fd0\u884c\u65f6\u3001\u66f4\u6781\u81f4\u7684\u5f39\u6027\u3001\u66f4\u7a33\u5065\u7684\u8ba1\u7b97\u5c42\u8c03\u5ea6\uff1b\u800c\u4eca\u5929\uff0c\u51fd\u6570\u8ba1\u7b97 2.0 Plus \u518d\u6b21\u5347\u7ea7\uff0c\u643a\u624b\u963f\u91cc\u5df4\u5df4\u4e30\u5bcc\u5f00\u53d1\u8005\u6846\u67b6\uff0c\u4ece\u5f00\u53d1\u8005\u4f53\u9a8c\u51fa\u53d1\uff0c\u5168\u65b0\u63a8\u51fa Serverless-tools \u4e0e Serverless \u5e94\u7528\u4e2d\u5fc3\uff0c\u6253\u9020\u66f4\u52a0\u5f00\u653e\u3001\u6807\u51c6\u3001\u65e0\u5382\u5546\u7ed1\u5b9a\u7684 Serverless \u793e\u533a\u3002

\n

\u4e0e\u6b64\u540c\u65f6\uff0c\u5bb9\u5668\u955c\u50cf\u4e0e\u6027\u80fd\u5b9e\u4f8b\u7684\u52a0\u6301\u66f4\u662f\u878d\u5408\u4e86\u5bb9\u5668\u751f\u6001\uff0c\u6253\u7834\u51fd\u6570\u6700\u5c0f\u8fd0\u884c\u5355\u4f4d\uff0c\u8ba9\u5f00\u53d1\u8005\u4f7f\u7528\u8d77\u6765\u66f4\u7b80\u5355\u3002\u5f00\u53d1\u8005\u4e00\u6b65\u4e0a\u4e91\u3001\u4e00\u952e Severless \u6216\u5c06\u6210\u4e3a\u73b0\u5b9e\u3002

\n

Serverless \u5b9e\u8df5\u9010\u6e10\u6df1\u5165

\n

\u597d\u7684\u4ea7\u54c1\u79bb\u4e0d\u5f00\u5ba2\u6237\u7684\u5b9e\u8df5\u3002\u76ee\u524d\uff0c\u5df2\u6709\u5927\u91cf\u6765\u81ea\u4e0d\u540c\u9886\u57df\u7684\u5ba2\u6237\u9009\u62e9\u963f\u91cc\u4e91\u7684 Serverless\uff0c\u901a\u8fc7 Serverless \u6765\u6784\u5efa\u65b0\u4e1a\u52a1\u6216\u4f18\u5316\u539f\u6709\u4e1a\u52a1\u3002

\n

\u65b0\u6d6a\u5fae\u535a\u5c06 Serverless \u6280\u672f\u5e94\u7528\u4e8e\u4e2a\u6027\u5316\u56fe\u7247\u5904\u7406\uff0c\u5b9e\u73b0\u4e86\u767e\u6beb\u79d2\u7684\u6781\u901f\u5f39\u6027\uff0c\u7efc\u5408\u6210\u672c\u4e0b\u964d 35%\u3002\u5728\u7ebf\u6559\u80b2\u5ba2\u6237\u8ddf\u8c01\u5b66\uff0c\u501f\u52a9 Serverless \u6280\u672f\uff0c\u9ad8\u5cf0\u671f\u7684\u5b9e\u65f6\u97f3\u89c6\u9891\u8f6c\u7801\u6548\u7387\u63d0\u5347\u4e86 93%\uff0c\u7efc\u5408\u6210\u672c\u4e0b\u964d 35%\uff1b\u800c\u5165\u9009\u4e86\u201c2019 \u798f\u5e03\u65af\u4e2d\u56fd\u6700\u5177\u521b\u65b0\u529b\u4f01\u4e1a\u699c\u201d\u7684\u65e0\u4eba\u9a7e\u9a76\u5361\u8f66\u54c1\u724c\u56fe\u68ee\u672a\u6765\uff0c\u901a\u8fc7 Serverless \u6280\u672f\u5b9e\u73b0\u79d2\u7ea7\u542f\u52a8\u5343\u8282\u70b9 GPU \u5bb9\u5668\u96c6\u7fa4\uff0c\u7f29\u77ed\u4e86 60% \u7684\u6a21\u578b\u6d4b\u8bd5\u65f6\u95f4\uff1b\u5728\u7ebf\u6559\u80b2\u5e73\u53f0 Timing\uff0c\u57fa\u4e8e SAE \u96f6\u6539\u9020\u5fae\u670d\u52a1\u67b6\u6784\u5b9e\u73b0 Serverless \u5316\uff0c\u8ba1\u7b97\u6210\u672c\u4e0b\u964d 30%\u3002

\n

\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u901a\u8fc7\u4e00\u4e2a Demo \u6765\u6f14\u793a\u97f3\u89c6\u9891\u8f6c\u7801\u7684\u573a\u666f\uff0c\u770b\u4e0b\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97\u7684\u4f18\u79c0\u8868\u73b0\u3002

\n

\u4ee5\u8f6c\u5316\u00a0 1 \u4e07\u4e2a\u97f3\u89c6\u9891\u7684\u573a\u666f\u4e3a\u4f8b\uff0c\u5728\u5de6\u8fb9\u8f6c\u7801\u6548\u7387\u7684\u6bd4\u5bf9\u4e0a\uff0c\u51fd\u6570\u8ba1\u7b97\u96c6\u6210\u4e86\u97f3\u89c6\u9891\u5904\u7406\u80fd\u529b\uff0c\u66f4\u6781\u81f4\u7684\u53d1\u6325\u4e86\u4e91\u8ba1\u7b97\u7684\u5f39\u6027\u80fd\u529b\uff0c\u7ed3\u5408 Serverless \u5de5\u4f5c\u6d41\u7684\u7f16\u6392\u80fd\u529b\uff0c\u5206\u7247\u8fc7\u7a0b\u5f97\u4ee5\u81ea\u52a8\u5316\uff0c\u800c\u81ea\u5efa\u8f6c\u7801\u96c6\u7fa4\uff0c\u9700\u8981\u72ec\u7acb\u6784\u5efa\u5206\u7247\u7a0b\u5e8f\uff0c\u6548\u7387\u4e0d\u9ad8\uff0c\u4ece\u89c6\u9891\u4e2d\u5de6\u8fb9\u7684\u8f6c\u7801\u6548\u7387\u5bf9\u6bd4\u56fe\u770b\uff0c\u51fd\u6570\u8ba1\u7b97\u8282\u7701\u4e86 59% \u7684\u8f6c\u7801\u65f6\u957f\uff1b\u5728\u53f3\u8fb9\u7684\u8f6c\u7801\u6210\u672c\u7684\u6bd4\u5bf9\u4e0a\uff0c\u4ece vCPU \u5f39\u6027 /\u89c6\u9891\u5904\u7406\u541e\u5410 /\u6392\u961f\u5ef6\u8fdf\u770b\uff0c\u4ee3\u8868\u81ea\u5efa\u8f6c\u7801\u96c6\u7fa4\u7684\u7ea2\u8272\u66f2\u7ebf\uff0c\u9762\u4e34\u4e25\u91cd\u7684\u95f2\u7f6e\u8d44\u6e90\u6d6a\u8d39\uff0c\u4ee3\u8868\u51fd\u6570\u8ba1\u7b97\u7684\u84dd\u8272\u66f2\u7ebf\u4ee3\u8868\u51fd\u6570\u8ba1\u7b97\uff0c\u5c06\u975e\u8f6c\u7801\u65f6\u7684\u8ba1\u7b97\u8d44\u6e90\u538b\u7f29\u5230\u6700\u4f4e\uff0c\u6d88\u9664\u4e86\u95f2\u7f6e\u8d44\u6e90\u6210\u672c\uff0c\u540c\u65f6\u7ed3\u5408 Serverless \u5de5\u4f5c\u6d41\u7684\u7f16\u6392\u80fd\u529b\uff0c\u8ba9\u539f\u672c\u590d\u6742\u7684\u8f6c\u7801\u8fc7\u7a0b\u66f4\u7b80\u5355\u3001\u66f4\u81ea\u52a8\u5316\uff0c\u51fd\u6570\u8ba1\u7b97\u8282\u7701\u4e86 48% \u7684\u6210\u672c\u3002\u00a0\u53ef\u89c1\uff0c\u51fd\u6570\u8ba1\u7b97\u53ef\u4ee5\u5e2e\u52a9\u7814\u53d1\u6548\u7387\u548c\u8d44\u6e90\u6548\u7387\u83b7\u5f97\u4e86\u4e0d\u540c\u7a0b\u5ea6\u7684\u63d0\u5347\u3002

\n

\u672a\u6765\u5df2\u6765\uff0cServerless \u6b63\u5f53\u65f6\uff01

\n

\u4ece\u9886\u5148\u5230\u666e\u60e0\uff0c\u963f\u91cc\u4e91\u7684 Serverless \u6b63\u4ee5\u66f4\u4e3a\u6781\u81f4\u7684\u65b9\u5f0f\u5728\u66f4\u9ad8\u6548\u3001\u66f4\u7ecf\u6d4e\u3001\u66f4\u5f00\u653e\u7684\u9053\u8def\u4e0a\u8d8a\u8d70\u8d8a\u8fdc\uff0c\u4e3a\u963f\u91cc\u4e91\u4e0a\u7684\u4f01\u4e1a\u5ba2\u6237\u5e26\u6765\u66f4\u5927\u7684\u4ef7\u503c\u3002\u672a\u6765\u5341\u5e74\uff0cServerless \u503c\u5f97\u671f\u5f85\uff01\u00a02020 \u4e91\u6816\u5927\u4f1a\u671f\u95f4\uff0c\u963f\u91cc\u5df4\u5df4\u6b63\u5f0f\u6210\u7acb\u4e91\u539f\u751f\u6280\u672f\u59d4\u5458\u4f1a\uff0c\u963f\u91cc\u5df4\u5df4\u9ad8\u7ea7\u7814\u7a76\u5458\u848b\u6c5f\u4f1f\u62c5\u4efb\u59d4\u5458\u4f1a\u8d1f\u8d23\u4eba\uff0c\u8fbe\u6469\u9662\u6570\u636e\u5e93\u9996\u5e2d\u79d1\u5b66\u5bb6\u674e\u98de\u98de\u3001\u963f\u91cc\u4e91\u8ba1\u7b97\u5e73\u53f0\u9ad8\u7ea7\u7814\u7a76\u5458\u8d3e\u626c\u6e05\u3001\u963f\u91cc\u4e91\u539f\u751f\u5e94\u7528\u5e73\u53f0\u7814\u7a76\u5458\u4e01\u5b87\u7b49\u591a\u4f4d\u963f\u91cc\u6280\u672f\u8d1f\u8d23\u4eba\u53c2\u4e0e\u5176\u4e2d\u3002\u848b\u6c5f\u4f1f\u8868\u793a\uff0c\u59d4\u5458\u4f1a\u5c06\u5927\u529b\u63a8\u52a8\u963f\u91cc\u7ecf\u6d4e\u4f53\u5168\u9762\u4e91\u539f\u751f\u5316\uff0c\u5e76\u6c89\u6dc0\u963f\u91cc\u5df4\u5df4 10 \u591a\u5e74\u7684\u4e91\u539f\u751f\u5b9e\u8df5\uff0c\u5bf9\u5916\u8d4b\u80fd\u6570\u767e\u4e07\u5bb6\u4f01\u4e1a\u8fdb\u884c\u4e91\u539f\u751f\u6539\u9020\uff0c\u63d0\u5347 30% \u7814\u53d1\u6548\u7387\u7684\u540c\u65f6\u964d\u4f4e 30% IT \u6210\u672c\uff0c\u5e2e\u52a9\u5ba2\u6237\u8fc8\u5165\u6570\u5b57\u539f\u751f\u65f6\u4ee3\u3002\u6b64\u6b21\u59d4\u5458\u4f1a\u7684\u6210\u7acb\uff0c\u4e5f\u610f\u5473\u7740\u963f\u91cc\u5df2\u7ecf\u5c06\u4e91\u539f\u751f\u5347\u7ea7\u4e3a\u65b0\u7684\u6280\u672f\u6218\u7565\u65b9\u5411\u3002

\n

\u963f\u91cc\u4e91\u76ee\u524d\u62e5\u6709\u56fd\u5185\u89c4\u6a21\u6700\u5927\u7684\u4e91\u539f\u751f\u4ea7\u54c1\u5bb6\u65cf\u548c\u5f00\u6e90\u751f\u6001\uff0c\u63d0\u4f9b\u4e91\u539f\u751f\u88f8\u91d1\u5c5e\u670d\u52a1\u5668\u3001\u4e91\u539f\u751f\u6570\u636e\u5e93\u3001\u6570\u636e\u4ed3\u5e93\u3001\u6570\u636e\u6e56\u3001\u5bb9\u5668\u3001\u5fae\u670d\u52a1\u3001DevOps \u3001Serverless \u7b49\u8d85\u8fc7 100 \u6b3e\u521b\u65b0\u4ea7\u54c1\u3002\u5728\u4e91\u6816\u5927\u4f1a\u671f\u95f4\uff0c\u963f\u91cc\u4e5f\u5bf9\u5916\u53d1\u5e03\u4e91\u539f\u751f\u5168\u666f\u56fe\uff0c\u5168\u9762\u5c55\u793a\u5176\u5728\u4e91\u539f\u751f\u9886\u57df\u7684\u5e03\u5c40\u548c\u51b3\u5fc3\u3002

\n

\"1.png\"

\n
\n

Serverless \u516c\u4f17\u53f7\uff0c\u53d1\u5e03 Serverless \u6280\u672f\u6700\u65b0\u8d44\u8baf\uff0c\u6c47\u96c6 Serverless \u6280\u672f\u6700\u5168\u5185\u5bb9\uff0c\u5173\u6ce8 Serverless \u8d8b\u52bf\uff0c\u66f4\u5173\u6ce8\u4f60\u843d\u5730\u5b9e\u8df5\u4e2d\u7684\u9047\u5230\u7684\u56f0\u60d1\u548c\u95ee\u9898\u3002

\n
\n" }, { "author": { "url": "member/Serverlessor", "name": "Serverlessor", "avatar": "https://cdn.v2ex.com/avatar/be69/ae81/503317_large.png?m=1608100095" }, "url": "t/734039", "title": "Serverless \u67b6\u6784\u4e0b\u7684\u670d\u52a1\u4f18\u96c5\u4e0b\u7ebf\u5b9e\u8df5", "id": "t/734039", "date_published": "2020-12-10T03:03:10+00:00", "content_html": "

\"\u5934\u56fe.jpg\"

\n

\u4f5c\u8005 | \u884c\u677e \u963f\u91cc\u5df4\u5df4\u4e91\u539f\u751f\u56e2\u961f\n\u6765\u6e90 | Serverless \u516c\u4f17\u53f7

\n

\u5e94\u7528\u53d1\u5e03\u3001\u670d\u52a1\u5347\u7ea7\u4e00\u76f4\u662f\u4e00\u4e2a\u8ba9\u5f00\u53d1\u548c\u8fd0\u7ef4\u540c\u5b66\u65e2\u5174\u594b\u53c8\u62c5\u5fc3\u7684\u4e8b\u60c5\u3002

\n

\u5174\u594b\u7684\u662f\u6709\u65b0\u529f\u80fd\u4e0a\u7ebf\uff0c\u81ea\u5df1\u7684\u4ea7\u54c1\u53ef\u4ee5\u5bf9\u7528\u6237\u63d0\u4f9b\u66f4\u591a\u7684\u80fd\u529b\u548c\u4ef7\u503c\uff1b\u62c5\u5fc3\u7684\u662f\u4e0a\u7ebf\u7684\u8fc7\u7a0b\u4f1a\u4e0d\u4f1a\u51fa\u73b0\u610f\u5916\u60c5\u51b5\u5f71\u54cd\u4e1a\u52a1\u7684\u7a33\u5b9a\u6027\u3002\u786e\u5b9e\uff0c\u5728\u5e94\u7528\u53d1\u5e03\u548c\u670d\u52a1\u5347\u7ea7\u65f6\uff0c\u7ebf\u4e0a\u95ee\u9898\u51fa\u73b0\u7684\u53ef\u80fd\u6027\u66f4\u9ad8\uff0c\u672c\u6587\u6211\u4eec\u5c06\u7ed3\u5408 Serverless \u5e94\u7528\u5f15\u64ce\uff08\u4ee5\u4e0b\u7b80\u79f0 SAE \uff09\u5c31 Serverless \u67b6\u6784\u4e0b\uff0c\u8ba8\u8bba\u5982\u4f55\u4fdd\u969c\u4e0a\u7ebf\u8fc7\u7a0b\u4e2d\u670d\u52a1\u7684\u4f18\u96c5\u4e0b\u7ebf\u3002

\n

\u5728\u5e73\u65f6\u7684\u53d1\u5e03\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u662f\u5426\u9047\u5230\u8fc7\u4ee5\u4e0b\u95ee\u9898\uff1a

\n\n

\u6709\u65f6\u5019\uff0c\u6211\u4eec\u628a\u53d1\u7248\u5b89\u6392\u5728\u51cc\u6668\u4e24\u4e09\u70b9\uff0c\u8d76\u5728\u4e1a\u52a1\u6d41\u91cf\u6bd4\u8f83\u5c0f\u7684\u65f6\u5019\uff0c\u5fc3\u60ca\u80c6\u98a4\u3001\u7761\u7720\u4e0d\u8db3\u3001\u82e6\u4e0d\u582a\u8a00\u3002\u90a3\u5982\u4f55\u89e3\u51b3\u4e0a\u9762\u7684\u95ee\u9898\uff0c\u5982\u4f55\u4fdd\u8bc1\u5e94\u7528\u53d1\u5e03\u8fc7\u7a0b\u7a33\u5b9a\u3001\u9ad8\u6548\uff0c\u4fdd\u8bc1\u4e1a\u52a1\u65e0\u635f\u5462\uff1f\u9996\u5148\uff0c\u6211\u4eec\u6765\u68b3\u7406\u4e0b\u9020\u6210\u8fd9\u4e9b\u95ee\u9898\u7684\u539f\u56e0\u3002

\n

\u573a\u666f\u5206\u6790

\n

\"1.png\"

\n

\u4e0a\u56fe\u63cf\u8ff0\u4e86\u6211\u4eec\u4f7f\u7528\u5fae\u670d\u52a1\u67b6\u6784\u5f00\u53d1\u5e94\u7528\u7684\u4e00\u4e2a\u5e38\u89c1\u573a\u666f\uff0c\u6211\u4eec\u5148\u770b\u4e0b\u8fd9\u4e2a\u573a\u666f\u7684\u670d\u52a1\u8c03\u7528\u5173\u7cfb\uff1a

\n\n

\u56fe\u4e2d\u6709\u4e24\u7c7b\u6d41\u91cf\uff0c\u5357\u5317\u5411\u6d41\u91cf\uff08\u5373\u901a\u8fc7 SLB \u8f6c\u53d1\u5230\u540e\u7aef\u670d\u52a1\u5668\u7684\u4e1a\u52a1\u6d41\u91cf\uff0c\u5982\u4e1a\u52a1\u6d41\u91cf -> SLB -> A \u7684\u8c03\u7528\u8def\u5f84\uff09\u548c\u4e1c\u897f\u5411\u6d41\u91cf\uff08\u901a\u8fc7\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u4e2d\u5fc3\u670d\u52a1\u53d1\u73b0\u6765\u8c03\u7528\u7684\u6d41\u91cf\uff0c\u5982 A -> B \u7684\u8c03\u7528\u8def\u5f84\uff09\uff0c\u4e0b\u9762\u9488\u5bf9\u8fd9\u4e24\u7c7b\u6d41\u91cf\u5206\u522b\u8fdb\u884c\u5206\u6790\u3002

\n

\u5357\u5317\u5411\u6d41\u91cf

\n

\u5357\u5317\u5411\u6d41\u91cf\u5b58\u5728\u95ee\u9898

\n

\u5f53\u670d\u52a1 A \u53d1\u5e03\u7684\u65f6\u5019\uff0c\u670d\u52a1 A1 \u5b9e\u4f8b\u505c\u673a\u540e\uff0cSLB \u6839\u636e\u5065\u5eb7\u68c0\u67e5\u63a2\u6d4b\u5230\u670d\u52a1 A1 \u4e0b\u7ebf\uff0c\u7136\u540e\u628a\u5b9e\u4f8b\u4ece SLB \u6458\u6389\u3002\u5b9e\u4f8b A1 \u4f9d\u8d56 SLB \u7684\u5065\u5eb7\u68c0\u67e5\u4ece SLB \u4e0a\u6458\u6389\uff0c\u4e00\u822c\u9700\u8981\u51e0\u79d2\u5230\u5341\u51e0\u79d2\u7684\u65f6\u95f4\uff0c\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\uff0c\u5982\u679c SLB \u6709\u6301\u7eed\u7684\u6d41\u91cf\u6253\u5165\uff0c\u5c31\u4f1a\u9020\u6210\u4e00\u4e9b\u8bf7\u6c42\u7ee7\u7eed\u8def\u7531\u5230\u5b9e\u4f8b A1\uff0c\u5bfc\u81f4\u8bf7\u6c42\u5931\u8d25\uff1b

\n

\u670d\u52a1 A \u5728\u53d1\u5e03\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5982\u4f55\u4fdd\u8bc1\u7ecf\u8fc7 SLB \u7684\u6d41\u91cf\u4e0d\u62a5\u9519\uff1f\u6211\u4eec\u63a5\u7740\u770b\u4e0b SAE \u662f\u5982\u4f55\u505a\u7684\u3002

\n

\u5357\u5317\u5411\u6d41\u91cf\u4f18\u96c5\u5347\u7ea7\u65b9\u6848

\n

\"2.png\"

\n

\u5982\u4e0a\u6587\u6240\u63d0\uff0c\u8bf7\u6c42\u5931\u8d25\u7684\u539f\u56e0\u5728\u4e8e\u540e\u7aef\u670d\u52a1\u5b9e\u4f8b\u5148\u505c\u6b62\u6389\uff0c\u7136\u540e\u624d\u4ece SLB \u6458\u6389\uff0c\u90a3\u6211\u4eec\u662f\u4e0d\u662f\u53ef\u4ee5\u5148\u4ece SLB \u6458\u6389\u670d\u52a1\u5b9e\u4f8b\uff0c\u7136\u540e\u518d\u5bf9\u5b9e\u4f8b\u8fdb\u884c\u5347\u7ea7\u5462\uff1f

\n

\u6309\u7167\u8fd9\u4e2a\u601d\u8def\uff0cSAE \u57fa\u4e8e K8S service \u7684\u80fd\u529b\u7ed9\u51fa\u4e86\u4e00\u79cd\u65b9\u6848\uff0c\u5f53\u7528\u6237\u5728\u901a\u8fc7 SAE \u4e3a\u5e94\u7528\u7ed1\u5b9a SLB \u65f6\uff0cSAE \u4f1a\u5728\u96c6\u7fa4\u4e2d\u521b\u5efa\u4e00\u4e2a service \u8d44\u6e90\uff0c\u5e76\u628a\u5e94\u7528\u7684\u5b9e\u4f8b\u548c service \u5173\u8054\uff0cCCM \u7ec4\u4ef6\u4f1a\u8d1f\u8d23 SLB \u7684\u8d2d\u4e70\u3001SLB \u865a\u62df\u670d\u52a1\u5668\u7ec4\u7684\u521b\u5efa\uff0c\u5e76\u4e14\u628a\u5e94\u7528\u5b9e\u4f8b\u5173\u8054\u7684 ENI \u7f51\u5361\u6dfb\u52a0\u5230\u865a\u62df\u670d\u52a1\u5668\u7ec4\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 SLB \u6765\u8bbf\u95ee\u5e94\u7528\u5b9e\u4f8b\uff1b\u5f53\u5e94\u7528\u53d1\u5e03\u65f6\uff0cCCM \u4f1a\u5148\u628a\u5b9e\u4f8b\u5bf9\u5e94\u7684 ENI \u4ece\u865a\u62df\u670d\u52a1\u5668\u7ec4\u4e2d\u6458\u9664\uff0c\u7136\u540e\u518d\u5bf9\u5b9e\u4f8b\u8fdb\u884c\u5347\u7ea7\uff0c\u4ece\u800c\u4fdd\u8bc1\u6d41\u91cf\u4e0d\u4e22\u5931\u3002

\n

\u8fd9\u5c31\u662f SAE \u5bf9\u4e8e\u5e94\u7528\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u5173\u4e8e\u5357\u5317\u5411\u6d41\u91cf\u7684\u4fdd\u969c\u65b9\u6848\u3002

\n

\u4e1c\u897f\u5411\u6d41\u91cf

\n

\u4e1c\u897f\u5411\u6d41\u91cf\u5b58\u5728\u95ee\u9898

\n

\u5728\u8ba8\u8bba\u5b8c\u5357\u5317\u5411\u6d41\u91cf\u7684\u89e3\u51b3\u65b9\u6848\u540e\uff0c\u6211\u4eec\u518d\u770b\u4e0b\u4e1c\u897f\u5411\u6d41\u91cf\uff0c\u4f20\u7edf\u7684\u53d1\u5e03\u6d41\u7a0b\u4e2d\uff0c\u670d\u52a1\u63d0\u4f9b\u8005\u505c\u6b62\u518d\u542f\u52a8\uff0c\u670d\u52a1\u6d88\u8d39\u8005\u611f\u77e5\u5230\u670d\u52a1\u63d0\u4f9b\u8005\u8282\u70b9\u505c\u6b62\u7684\u6d41\u7a0b\u5982\u4e0b\uff1a

\n

\"3.png\"

\n\n

\u4ece\u7b2c 2 \u6b65\u5230\u7b2c 6 \u6b65\u7684\u8fc7\u7a0b\u4e2d\uff0cEureka \u5728\u6700\u5dee\u7684\u60c5\u51b5\u4e0b\u9700\u8981\u8017\u65f6 2 \u5206\u949f\uff0cNacos \u5728\u6700\u5dee\u7684\u60c5\u51b5\u4e0b\u9700\u8981\u8017\u65f6 50 \u79d2\u3002\u5728\u8fd9\u6bb5\u65f6\u95f4\u5185\uff0c\u8bf7\u6c42\u90fd\u6709\u53ef\u80fd\u51fa\u73b0\u95ee\u9898\uff0c\u6240\u4ee5\u53d1\u5e03\u65f6\u4f1a\u51fa\u73b0\u5404\u79cd\u62a5\u9519\uff0c\u540c\u65f6\u8fd8\u5f71\u54cd\u7528\u6237\u7684\u4f53\u9a8c\uff0c\u53d1\u5e03\u540e\u53c8\u9700\u8981\u4fee\u590d\u6267\u884c\u5230\u4e00\u534a\u7684\u810f\u6570\u636e\u3002\u6700\u540e\u4e0d\u5f97\u4e0d\u6bcf\u6b21\u53d1\u7248\u90fd\u5b89\u6392\u5728\u51cc\u6668\u4e24\u4e09\u70b9\u53d1\u5e03\uff0c\u5fc3\u60ca\u80c6\u98a4\uff0c\u7761\u7720\u4e0d\u8db3\uff0c\u82e6\u4e0d\u582a\u8a00\u3002

\n

\u4e1c\u897f\u5411\u6d41\u91cf\u4f18\u96c5\u5347\u7ea7\u65b9\u6848

\n

\"4.png\"

\n

\u7ecf\u8fc7\u4e0a\u6587\u7684\u5206\u6790\uff0c\u6211\u4eec\u770b\uff0c\u5728\u4f20\u7edf\u53d1\u5e03\u6d41\u7a0b\u4e2d\uff0c\u5ba2\u6237\u7aef\u6709\u4e00\u4e2a\u670d\u52a1\u8c03\u7528\u62a5\u9519\u671f\uff0c\u539f\u56e0\u5c31\u662f\u5ba2\u6237\u7aef\u6ca1\u6709\u53ca\u65f6\u611f\u77e5\u5230\u670d\u52a1\u7aef\u4e0b\u7ebf\u7684\u5b9e\u4f8b\u3002\u5728\u4f20\u7edf\u53d1\u5e03\u6d41\u7a0b\u4e2d\uff0c\u4e3b\u8981\u662f\u501f\u52a9\u6ce8\u518c\u4e2d\u5fc3\u901a\u77e5\u6d88\u8d39\u8005\u6765\u66f4\u65b0\u670d\u52a1\u63d0\u4f9b\u8005\u5217\u8868\uff0c\u90a3\u80fd\u4e0d\u80fd\u7ed5\u8fc7\u6ce8\u518c\u4e2d\u5fc3\uff0c\u670d\u52a1\u63d0\u4f9b\u8005\u76f4\u63a5\u901a\u77e5\u670d\u52a1\u6d88\u8d39\u8005\u5462\uff1f\u7b54\u6848\u662f\u80af\u5b9a\u7684\uff0c\u6211\u4eec\u4e3b\u8981\u505a\u4e86\u4e24\u4ef6\u4e8b\u60c5\uff1a

\n
    \n
  1. \u670d\u52a1\u63d0\u4f9b\u8005\u5e94\u7528\u5728\u53d1\u5e03\u524d\u540e\u4e3b\u52a8\u5411\u6ce8\u518c\u4e2d\u5fc3\u6ce8\u9500\u5e94\u7528\uff0c\u5e76\u5c06\u5e94\u7528\u6807\u8bb0\u4e3a\u5df2\u4e0b\u7ebf\u7684\u72b6\u6001\uff1b\u5c06\u539f\u6765\u7684\u505c\u6b62\u8fdb\u7a0b\u9636\u6bb5\u6ce8\u9500\u670d\u52a1\u53d8\u6210\u4e86 prestop \u9636\u6bb5\u6ce8\u9500\u670d\u52a1\u3002
  2. \n
  3. \u5728\u63a5\u6536\u5230\u670d\u52a1\u6d88\u8d39\u8005\u8bf7\u6c42\u65f6\uff0c\u9996\u5148\u4f1a\u6b63\u5e38\u5904\u7406\u672c\u6b21\u8c03\u7528\uff0c\u5e76\u901a\u77e5\u670d\u52a1\u6d88\u8d39\u8005\u6b64\u8282\u70b9\u5df2\u4e0b\u7ebf\uff0c\u670d\u52a1\u6d88\u8d39\u8005\u4f1a\u7acb\u5373\u4ece\u8c03\u7528\u5217\u8868\u5220\u9664\u6b64\u8282\u70b9\uff1b\u5728\u8fd9\u4e4b\u540e\uff0c\u670d\u52a1\u6d88\u8d39\u8005\u4e0d\u518d\u8c03\u7528\u5df2\u7ecf\u4e0b\u7ebf\u7684\u8282\u70b9\u3002\u8fd9\u662f\u5c06\u539f\u6765\u7684\u4f9d\u8d56\u4e8e \u6ce8\u518c\u4e2d\u5fc3\u63a8\u9001\uff0c\u505a\u5230\u4e86\u670d\u52a1\u63d0\u4f9b\u8005\u76f4\u63a5\u901a\u77e5\u6d88\u8d39\u8005\u4ece\u8c03\u7528\u5217\u8868\u4e2d\u6458\u9664\u81ea\u5df1\u3002
  4. \n
\n

\u901a\u8fc7\u4e0a\u9762\u8fd9\u4e2a\u65b9\u6848\uff0c\u5c31\u4f7f\u5f97\u4e0b\u7ebf\u611f\u77e5\u7684\u65f6\u95f4\u5927\u5927\u51cf\u77ed\uff0c\u4ece\u539f\u6765\u7684\u5206\u949f\u7ea7\u522b\u505a\u5230\u51c6\u5b9e\u65f6\uff0c\u786e\u4fdd\u5e94\u7528\u5728\u4e0b\u7ebf\u65f6\u80fd\u505a\u5230\u4e1a\u52a1\u65e0\u635f\u3002

\n

\u5206\u6279\u53d1\u5e03\u548c\u7070\u5ea6\u53d1\u5e03

\n

\u4e0a\u6587\u4ecb\u7ecd\u7684\u662f SAE \u5728\u5904\u7406\u4f18\u96c5\u4e0b\u7ebf\u65b9\u9762\u7684\u4e00\u4e9b\u80fd\u529b\uff0c\u5728\u5e94\u7528\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u53ea\u6709\u5b9e\u4f8b\u7684\u4f18\u96c5\u4e0b\u7ebf\u662f\u4e0d\u591f\u7684\uff0c\u8fd8\u9700\u8981\u6709\u4e00\u5957\u914d\u5957\u7684\u53d1\u5e03\u7b56\u7565\uff0c\u4fdd\u8bc1\u6211\u4eec\u65b0\u4e1a\u52a1\u662f\u53ef\u7528\u7684\uff0cSAE \u63d0\u4f9b\u5206\u6279\u53d1\u5e03\u548c\u7070\u5ea6\u53d1\u5e03\u7684\u80fd\u529b\uff0c\u53ef\u4ee5\u4f7f\u5f97\u5e94\u7528\u7684\u53d1\u5e03\u8fc7\u7a0b\u66f4\u52a0\u7701\u5fc3\u7701\u529b\uff1b

\n

\u6211\u4eec\u5148\u4ecb\u7ecd\u4e0b\u7070\u5ea6\u53d1\u5e03\uff0c\u67d0\u5e94\u7528\u5305\u542b 10 \u4e2a\u5e94\u7528\u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5e94\u7528\u5b9e\u4f8b\u7684\u90e8\u7f72\u7248\u672c\u4e3a Ver.1 \u7248\u672c\uff0c\u73b0\u9700\u5c06\u6bcf\u4e2a\u5e94\u7528\u5b9e\u4f8b\u5347\u7ea7\u4e3a Ver.2 \u7248\u672c\u3002

\n

\"5.png\"

\n

\u4ece\u56fe\u4e2d\u53ef\u4ee5\u770b\u51fa\uff0c\u5728\u53d1\u5e03\u7684\u8fc7\u7a0b\u4e2d\u5148\u7070\u5ea6 2 \u53f0\u5b9e\u4f8b\uff0c\u5728\u786e\u8ba4\u4e1a\u52a1\u6b63\u5e38\u540e\uff0c\u518d\u5206\u6279\u53d1\u5e03\u5269\u4f59\u7684\u5b9e\u4f8b\uff0c\u53d1\u5e03\u7684\u8fc7\u7a0b\u4e2d\u59cb\u7ec8\u6709\u5b9e\u4f8b\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5b9e\u4f8b\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4f9d\u7167\u4e0a\u9762\u7684\u65b9\u6848\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u90fd\u6709\u4f18\u96c5\u4e0b\u7ebf\u7684\u8fc7\u7a0b\uff0c\u8fd9\u5c31\u4fdd\u8bc1\u4e86\u4e1a\u52a1\u65e0\u635f\u3002

\n

\u518d\u6765\u770b\u4e0b\u5206\u6279\u53d1\u5e03\uff0c\u5206\u6279\u53d1\u5e03\u652f\u6301\u624b\u52a8\u3001\u81ea\u52a8\u5206\u6279\uff1b\u8fd8\u662f\u4e0a\u9762\u7684 10 \u4e2a\u5e94\u7528\u5b9e\u4f8b\uff0c\u5047\u8bbe\u5c06\u6240\u6709\u5e94\u7528\u5b9e\u4f8b\u5206 3 \u6279\u8fdb\u884c\u90e8\u7f72\uff0c\u6839\u636e\u5206\u6279\u53d1\u5e03\u7b56\u7565\uff0c\u8be5\u53d1\u5e03\u6d41\u7a0b\u5982\u56fe\u6240\u793a\uff0c\u5c31\u4e0d\u518d\u5177\u4f53\u4ecb\u7ecd\u4e86\u3002

\n

\"6.png\"

\n

\u6700\u540e\u9488\u5bf9\u5728 SAE \u4e0a\u5e94\u7528\u7070\u5ea6\u53d1\u5e03\u7684\u8fc7\u7a0b\u8fdb\u884c\u6f14\u793a\uff0c\u6f14\u793a\u8fc7\u7a0b\u8bf7\u70b9\u51fb\u94fe\u63a5\u89c2\u770b\uff1ahttps://developer.aliyun.com/lesson_2026_19009

\n" }, { "author": { "url": "member/Aceyclee", "name": "Aceyclee", "avatar": "https://cdn.v2ex.com/avatar/34fc/02c7/207049_large.png?m=1585879734" }, "url": "t/716612", "title": "Serverless Rap", "id": "t/716612", "date_published": "2020-10-20T02:30:08+00:00", "content_html": "

\u6cb9\u7ba1\u4e0a\u770b\u5230\u4e00\u6bb5\u6709\u610f\u601d\u7684 Serverless Rap\uff0c\u8bd1\u5236\u4e86\u4e00\u4e2a\u4e2d\u6587\u7248\uff01

\n

\u6b22\u8fce\u89c2\u770b \ud83d\udc49 \u300a Serverless Rap \u300b

\n" }, { "author": { "url": "member/irytu", "name": "irytu", "avatar": "https://cdn.v2ex.com/avatar/b21d/4a25/208119_large.png?m=1600807756" }, "url": "t/715430", "title": "\u4e00\u6bb5\u6709\u610f\u601d\u7684 serverless Rap \u89c6\u9891", "id": "t/715430", "date_published": "2020-10-15T18:23:39+00:00", "content_html": "

https://youtu.be/zMua0cuhFnc

Respect\ud83d\ude02

\n" }, { "author": { "url": "member/daoqiongsi1101", "name": "daoqiongsi1101", "avatar": "https://cdn.v2ex.com/avatar/18bc/5190/484283_large.png?m=1662307887" }, "url": "t/715420", "date_modified": "2020-10-15T16:22:55+00:00", "content_html": "

serverless \u65e0\u670d\u52a1\u5668\u67b6\u6784\uff0c\u4e0d\u5e94\u8be5\u662f\u5728\u4e0a\u9762\u90e8\u7f72\u4e91\u51fd\u6570\uff0c\u901a\u8fc7\u4e8b\u4ef6\u89e6\u53d1\uff0c\u5982 HTTP \u8bf7\u6c42\uff0c\u961f\u5217\u6d88\u606f\u4e8b\u4ef6\u7b49\uff0c\u63d0\u4f9b FaaS \u8fd9\u6837\u7684\u51fd\u6570\u7ea7\u670d\u52a1\u5417\uff1f

\n

\u5982\u679c\u628a\u6574\u4e2a WEB \u6846\u67b6\u653e\u4e0a\u53bb\u4e86\uff0c\u8fd9\u8fd8\u53eb serverless \u5417\uff1f\u6216\u8005\u8bf4\u8fd9\u79cd\u53eb\u505a serverless framework\uff0c\u4e5f\u7b97\u662f serverless \u65e0\u670d\u52a1\u5668\u67b6\u6784\u3002

\n", "date_published": "2020-10-15T16:21:37+00:00", "title": "Serverless \u5b89\u88c5 Laravel,flask,gin \u7b49 web \u6846\u67b6\uff0c\u662f\u5426\u8fdd\u80cc\u4e86\u5b83\u7684\u4f7f\u7528\u573a\u666f\uff1f", "id": "t/715420" }, { "author": { "url": "member/yugasun", "name": "yugasun", "avatar": "https://cdn.v2ex.com/gravatar/1e0896156856b947eddd8e5bc1c7c8a5?s=73&d=retro" }, "url": "t/715153", "date_modified": "2020-10-15T03:30:26+00:00", "content_html": "

\u4f7f\u7528 Next.js + TypeScript \u5f00\u53d1\uff0c\u5e76\u4e14\u57fa\u4e8e Serverless \u90e8\u7f72\u7684 V2EX \u5ba2\u6237\u7aef\uff1a

\n

\u4f53\u9a8c\u5730\u5740: https://v2ex.yuga.chat

\n

\u9879\u76ee\u6e90\u7801: https://github.com/serverless-plus/serverless-v2ex

\n\n", "date_published": "2020-10-15T03:23:03+00:00", "title": "Serverless V2EX \u5ba2\u6237\u7aef", "id": "t/715153" }, { "author": { "url": "member/lavvrence", "name": "lavvrence", "avatar": "https://cdn.v2ex.com/avatar/7306/9194/170617_large.png?m=1774511369" }, "url": "t/711347", "title": "\u56fd\u5185\u6709\u7c7b\u4f3c Vercel \u7684\u5e73\u53f0\u5417\uff1f", "id": "t/711347", "date_published": "2020-09-28T10:41:51+00:00", "content_html": "

rt.

\n" }, { "author": { "url": "member/scf10cent", "name": "scf10cent", "avatar": "https://cdn.v2ex.com/avatar/45ff/a7d1/420644_large.png?m=1578562081" }, "url": "t/692607", "title": "\u5982\u4f55\u4f18\u96c5\u5730\u90e8\u7f72\u4e00\u4e2a Serverless Next.js \u5e94\u7528", "id": "t/692607", "date_published": "2020-07-23T11:05:17+00:00", "content_html": "

\u4e0a\u4e00\u7bc7 \u524d\u7aef\u798f\u97f3\uff1aServerless \u548c SSR \u7684\u5929\u4f5c\u4e4b\u5408\uff0c\u8be6\u7ec6\u4ecb\u7ecd\u4e86 SSR \u76f8\u5173\u77e5\u8bc6\uff0c\u540c\u65f6\u4e5f\u63d0\u5230\u4e86 Serverless \u7ed9 SSR \u65b9\u6848\u5e26\u6765\u7684\u798f\u5229\u3002\u4f46\u5b83\u53ea\u662f\u5c06 Next.js \u5e94\u7528\u90e8\u7f72\u5230 Serverless \u670d\u52a1\u4e0a\u800c\u5df2\uff0c\u5e76\u4e0d\u9002\u5408\u5b9e\u9645\u751f\u4ea7\u4e1a\u52a1\u3002\u4e3a\u6b64\u672c\u7bc7\u4e13\u95e8\u9488\u5bf9 Next.js \u7684 SSR \u65b9\u6848\u8fdb\u884c\u4e86\u63a2\u7d22\u548c\u4f18\u5316\uff0c\u4e00\u6b65\u4e00\u6b65\u5e26\u5927\u5bb6\u4e86\u89e3\uff0c\u5982\u4f55\u57fa\u4e8e Serverless \u67b6\u6784\u90e8\u7f72\u4e00\u4e2a\u5b9e\u9645\u7684\u7ebf\u4e0a\u4e1a\u52a1\u3002

\n
\n

\u62a2\u5148\u4f53\u9a8c\uff1aserverless-cnode

\n
\n

\u672c\u6587\u4e3b\u8981\u5185\u5bb9\uff1a

\n
    \n
  1. \u5982\u4f55\u5feb\u901f\u90e8\u7f72 Serverless Next.js
  2. \n
  3. \u5982\u4f55\u81ea\u5b9a\u4e49 API \u7f51\u5173\u57df\u540d
  4. \n
  5. \u5982\u4f55\u901a\u8fc7 COS \u6258\u7ba1\u9759\u6001\u8d44\u6e90
  6. \n
  7. \u9759\u6001\u8d44\u6e90\u914d\u7f6e CDN
  8. \n
  9. \u57fa\u4e8e Layer \u90e8\u7f72 node_modules
  10. \n
\n

\u5982\u4f55\u5feb\u901f\u90e8\u7f72 Serverless Next.js

\n

\u7531\u4e8e\u672c\u4eba\u5bf9 Serverless Framework \u5f00\u53d1\u5de5\u5177\u6bd4\u8f83\u719f\u6089\uff0c\u5e76\u4e14\u957f\u671f\u53c2\u4e0e\u76f8\u5173\u5f00\u6e90\u5de5\u4f5c\uff0c\u6240\u4ee5\u672c\u6587\u5747\u4f7f\u7528 Serverless Components \u65b9\u6848\u8fdb\u884c\u90e8\u7f72\uff0c\u8bf7\u5728\u5f00\u59cb\u9605\u8bfb\u672c\u6587\u4e4b\u524d\uff0c\u4fdd\u8bc1\u5f53\u524d\u5f00\u53d1\u73af\u5883\u5df2\u7ecf\u5168\u5c40\u5b89\u88c5 serverless \u547d\u4ee4\u884c\u5de5\u5177\u3002\n\u672c\u6587\u4f9d\u7136\u4e0a\u4e00\u7bc7\u4e2d\u4ecb\u7ecd\u7684 Next.js \u7ec4\u4ef6 \u6765\u5e2e\u52a9\u5feb\u901f\u90e8\u7f72 Next.js \u5e94\u7528\u5230\u817e\u8baf\u4e91\u7684 Serverless \u670d\u52a1\u4e0a\u3002

\n

\u6211\u4eec\u5148\u5feb\u901f\u521d\u59cb\u5316\u4e00\u4e2a Serverless Next.js \u9879\u76ee\uff1a

\n
$ serverless create -u https://github.com/serverless-components/tencent-nextjs/tree/master/example -p serverless-nextjs\n$ cd serverless-nextjs\n
\n

\u8be5\u9879\u76ee\u6a21\u677f\u5df2\u7ecf\u9ed8\u8ba4\u914d\u7f6e\u597d serverless.yml\uff0c\u53ef\u4ee5\u76f4\u63a5\u6267\u884c\u90e8\u7f72\u547d\u4ee4\uff1a

\n
$ serverless deploy\n
\n

\u5927\u6982 30s \u5de6\u53f3\u5c31\u53ef\u4ee5\u90e8\u7f72\u6210\u529f\u4e86\uff0c\u4e4b\u540e\u8bbf\u95ee\u751f\u6210\u7684 apigw.url \u94fe\u63a5 https://service-xxx-xxx.gz.apigw.tencentcs.com/release/ \u5c31\u53ef\u4ee5\u770b\u5230\u9996\u9875\u4e86\u3002

\n

Next.js \u7ec4\u4ef6\uff0c\u4f1a\u9ed8\u8ba4\u5e2e\u52a9\u6211\u4eec\u521b\u5efa\u4e00\u4e2a \u4e91\u51fd\u6570 \u548c API \u7f51\u5173\uff0c\u5e76\u4e14\u5c06\u5b83\u4eec\u5173\u8054\uff0c\u5b9e\u9645\u6211\u4eec\u8bbf\u95ee\u7684 \u662f API \u7f51\u5173\uff0c\u7136\u540e\u89e6\u53d1\u4e91\u51fd\u6570\uff0c\u6765\u83b7\u5f97\u8bf7\u6c42\u8fd4\u56de\u7ed3\u679c\uff0c\u6d41\u7a0b\u56fe\u5982\u4e0b\uff1a

\n

\"Serverless

\n
\n

\u89e3\u91ca\uff1a\u6211\u4eec\u5728\u6267\u884c\u90e8\u7f72\u547d\u4ee4\u65f6\uff0c\u7531\u4e8e\u4e00\u4e2a\u7b80\u5355\u7684 Next.js \u5e94\u7528\u9664\u4e86\u4e1a\u52a1\u4ee3\u7801\uff0c\u8fd8\u5305\u62ec\u5e9e\u5927\u7684 node_modules \u6587\u4ef6\u5939\uff0c\u8fd9\u5c31\u5bfc\u81f4\u6253\u5305\u538b\u7f29\u7684\u4ee3\u7801\u4f53\u79ef\u5927\u6982 20M \u5de6\u53f3\uff0c\u6240\u4ee5\u5927\u90e8\u5206\u65f6\u95f4\u6d88\u8017\u5728\u4ee3\u7801\u4e0a\u4f20\u4e0a\u3002\u8fd9\u91cc\u7684\u901f\u5ea6\u4e5f\u8ddf\u5f00\u53d1\u73af\u5883\u7684\u7f51\u7edc\u73af\u5883\u6709\u5173\uff0c\u800c\u5b9e\u9645\u4e0a\u6211\u4eec\u4e91\u7aef\u90e8\u7f72\u662f\u5f88\u5feb\u7684\uff0c\u8fd9\u4e5f\u662f\u4e3a\u4ec0\u4e48\u9700\u8981 30s \u5de6\u53f3\u7684\u90e8\u7f72\u65f6\u95f4\uff0c\u800c\u4e14\u7f51\u7edc\u5dee\u65f6\u4f1a\u66f4\u4e45\uff0c\u5f53\u7136\u540e\u9762\u4e5f\u4f1a\u63d0\u5230\u5982\u4f55\u63d0\u9ad8\u90e8\u7f72\u901f\u5ea6\u3002

\n
\n

\u76f8\u4fe1\u4f60\u5df2\u7ecf\u4f53\u4f1a\u5230\uff0c\u501f\u52a9 Serverless Components \u89e3\u51b3\u65b9\u6848\u7684\u4fbf\u5229\uff0c\u5b83\u786e\u5b9e\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u7684\u5e94\u7528\u9ad8\u6548\u7684\u90e8\u7f72\u5230\u4e91\u7aef\u3002\u800c\u4e14\u8fd9\u91cc\u4f7f\u7528\u7684 Next.js \u7ec4\u4ef6\uff0c\u9488\u5bf9\u4ee3\u7801\u4e0a\u4f20\u4e5f\u505a\u4e86\u5f88\u591a\u4f18\u5316\u5de5\u4f5c\uff0c\u6765\u4fdd\u8bc1\u5feb\u901f\u7684\u90e8\u7f72\u6548\u7387\u3002

\n

\u63a5\u4e0b\u6765\u5c06\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e Next.js \u7ec4\u4ef6\uff0c\u8fdb\u4e00\u6b65\u4f18\u5316\u6211\u4eec\u7684\u90e8\u7f72\u4f53\u9a8c\u3002

\n

\u5982\u4f55\u81ea\u5b9a\u4e49 API \u7f51\u5173\u57df\u540d

\n

\u4f7f\u7528\u8fc7 API \u7f51\u5173\u7684\u5c0f\u4f19\u4f34\uff0c\u5e94\u8be5\u90fd\u77e5\u9053\u5b83\u53ef\u4ee5\u914d\u7f6e\u81ea\u5b9a\u4e49\u57df\u540d\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

\n

\"Manual

\n

\u4f46\u662f\u8fd9\u4e2a\u624b\u52a8\u914d\u7f6e\u8fd8\u662f\u4e0d\u591f\u65b9\u4fbf\uff0c\u4e3a\u6b64 Next.js \u7ec4\u4ef6\u4e5f\u63d0\u4f9b\u4e86 customDomains \u6765\u5e2e\u52a9\u5f00\u53d1\u8005\u5feb\u901f\u914d\u7f6e\u81ea\u5b9a\u4e49\u57df\u540d\uff0c\u4e8e\u662f\u6211\u4eec\u53ef\u4ee5\u5728\u9879\u76ee\u7684 serverless.yml \u4e2d\u65b0\u589e\u5982\u4e0b\u914d\u7f6e\uff1a

\n
org: orgDemo\napp: appDemo\nstage: dev\ncomponent: nextjs\nname: nextjsDemo\n\ninputs:\n src:\n dist: ./\n hook: npm run build\n exclude:\n - .env\n region: ap-guangzhou\n runtime: Nodejs10.15\n apigatewayConf:\n protocols:\n - https\n environment: release\n enableCORS: true\n # \u81ea\u5b9a\u4e49\u57df\u540d\u76f8\u5173\u914d\u7f6e\n customDomains:\n - domain: test.yuga.chat\n certificateId: abcdefg # \u8bc1\u4e66 ID\n # \u8fd9\u91cc\u5c06 API \u7f51\u5173\u7684 release \u73af\u5883\u6620\u5c04\u5230\u6839\u8def\u5f84\n pathMappingSet:\n - path: /\n environment: release\n protocols:\n - https\n
\n

\u7531\u4e8e\u8fd9\u91cc\u4f7f\u7528\u7684\u662f https \u534f\u8bae\uff0c\u6240\u4ee5\u9700\u8981\u914d\u7f6e\u6258\u7ba1\u5728\u817e\u8baf\u4e91\u670d\u52a1\u7684\u8bc1\u4e66 ID\uff0c\u53ef\u4ee5\u5230 SSL \u8bc1\u4e66\u63a7\u5236\u53f0 \u67e5\u770b\u3002\u817e\u8baf\u4e91\u5df2\u7ecf\u63d0\u4f9b\u4e86\u7533\u8bf7\u514d\u8d39\u8bc1\u4e66\u7684\u529f\u80fd\uff0c\u5f53\u7136\u4f60\u4e5f\u53ef\u4ee5\u4e0a\u4f20\u81ea\u5df1\u7684\u8bc1\u4e66\u8fdb\u884c\u6258\u7ba1\u3002

\n

\u4e4b\u540e\u6211\u4eec\u518d\u6b21\u6267\u884c\u90e8\u7f72\u547d\u4ee4\uff0c\u4f1a\u5f97\u5230\u5982\u4e0b\u8f93\u51fa\u7ed3\u679c\uff1a

\n

\"Custom

\n

\u8fd9\u91cc\u7531\u4e8e\u81ea\u5b9a\u4e49\u57df\u540d\u65f6\u901a\u8fc7 CNAME \u6620\u5c04\u5230 API \u7f51\u5173\u670d\u52a1\uff0c\u6240\u4ee5\u8fd8\u9700\u8981\u624b\u52a8\u6dfb\u52a0\u8f93\u51fa\u7ed3\u679c\u4e2d\u7ea2\u6846\u90e8\u5206\u7684 CNAME \u89e3\u6790\u8bb0\u5f55\u3002\u7b49\u5f85\u81ea\u5b9a\u4e49\u57df\u540d\u89e3\u6790\u6210\u529f\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\u4e86\u3002

\n

\u5982\u4f55\u901a\u8fc7 COS \u6258\u7ba1\u9759\u6001\u8d44\u6e90

\n

Next.js \u5e94\u7528\uff0c\u6709\u4e24\u79cd\u9759\u6001\u8d44\u6e90\uff1a

\n
    \n
  1. \u9879\u76ee\u4e2d\u901a\u8fc7\u8d44\u6e90\u5f15\u5165\u7684\u65b9\u5f0f\u4f7f\u7528\uff0c\u8fd9\u79cd\u4f1a\u7ecf\u8fc7 Webpack \u6253\u5305\u5904\u7406\u8f93\u51fa\u5230 .next/static \u76ee\u5f55\uff0c\u6bd4\u5982 .next/static/css \u6837\u5f0f\u6587\u4ef6\u76ee\u5f55\u3002
  2. \n
  3. \u76f4\u63a5\u653e\u5230\u9879\u76ee\u6839\u76ee\u5f55\u7684 public \u6587\u4ef6\u5939\uff0c\u901a\u8fc7\u9759\u6001\u6587\u4ef6\u670d\u52a1\u8fd4\u56de\uff0c\u7136\u540e\u9879\u76ee\u4e2d\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7 url \u7684\u65b9\u5f0f\u5f15\u5165\uff08\u5b98\u65b9\u4ecb\u7ecd\uff09\u3002
  4. \n
\n

\u7b2c\u4e00\u79cd\u7684\u8d44\u6e90\u5f88\u597d\u5904\u7406\uff0cNext.js \u6846\u67b6\u76f4\u63a5\u652f\u6301\u5728 next.config.js \u4e2d\u914d\u7f6e assetPrefix \u6765\u5e2e\u52a9\u6211\u4eec\u5728\u6784\u5efa\u9879\u76ee\u65f6\uff0c\u5c06\u63d0\u4f9b\u9759\u6001\u8d44\u6e90\u6258\u7ba1\u670d\u52a1\u7684\u8bbf\u95ee url \u6dfb\u52a0\u5230\u9759\u6001\u8d44\u6e90\u5f15\u5165\u524d\u7f00\u4e2d\u3002\u5982\u4e0b\uff1a

\n
// next.config.js\nconst isProd = process.env.NODE_ENV === \"production\";\nconst STATIC_URL =\n \"https://serverless-nextjs-xxx.cos.ap-guangzhou.myqcloud.com\";\nmodule.exports = {\n assetPrefix: isProd ? STATIC_URL : \"\",\n};\n
\n

\u4e0a\u9762\u914d\u7f6e\u4e2d\u7684 STATIC_URL \u5c31\u662f\u9759\u6001\u8d44\u6e90\u6258\u7ba1\u670d\u52a1\u63d0\u4f9b\u7684\u8bbf\u95ee url\uff0c\u793a\u4f8b\u4e2d\u662f\u817e\u8baf\u4e91\u5bf9\u5e94\u7684 COS \u8bbf\u95ee url \u3002

\n

\u90a3\u4e48\u9488\u5bf9\u7b2c\u4e8c\u79cd\u8d44\u6e90\u6211\u4eec\u5982\u4f55\u5904\u7406\u5462\uff1f\u8fd9\u91cc\u5c31\u9700\u8981\u5bf9\u4e1a\u52a1\u4ee3\u7801\u8fdb\u884c\u7a0d\u5fae\u6539\u9020\u4e86\u3002

\n

\u9996\u5148\uff0c\u9700\u8981\u5728 next.config.js \u4e2d\u6dfb\u52a0 env.STATIC_URL \u73af\u5883\u53d8\u91cf:

\n
const isProd = process.env.NODE_ENV === \"production\";\nconst STATIC_URL =\n \"https://serverless-nextjs-xxx.cos.ap-guangzhou.myqcloud.com\";\nmodule.exports = {\n env: {\n // 3000 \u4e3a\u672c\u5730\u5f00\u53d1\u65f6\u7684\u7aef\u53e3\uff0c\u8fd9\u91cc\u662f\u4e3a\u4e86\u672c\u5730\u5f00\u53d1\u65f6\uff0c\u4e5f\u53ef\u4ee5\u6b63\u5e38\u8fd0\u884c\n STATIC_URL: isProd ? STATIC_URL : \"http://localhost:3000\",\n },\n assetPrefix: isProd ? STATIC_URL : \"\",\n};\n
\n

\u7136\u540e\uff0c\u5728\u9879\u76ee\u4e2d\u4fee\u6539\u5f15\u5165 public \u4e2d\u9759\u6001\u8d44\u6e90\u7684\u8def\u5f84\uff0c\u6bd4\u5982\uff1a

\n
<!-- before -->\n<head>\n <title>Create Next App</title>\n <link rel=\"icon\" href=\"/favicon.ico\" />\n</head>\n\n<!-- after -->\n<head>\n <title>Create Next App</title>\n <link rel=\"icon\" href={`${process.env.STATIC_URL}/favicon.ico`} />\n</head>\n
\n

\u6700\u540e\uff0c\u5728 serverless.yml \u4e2d\u65b0\u589e\u9759\u6001\u8d44\u6e90\u76f8\u5173\u914d\u7f6e staticConf\uff0c\u5982\u4e0b\uff1a

\n
org: orgDemo\napp: appDemo\nstage: dev\ncomponent: nextjs\nname: nextjsDemo\n\ninputs:\n src:\n dist: ./\n hook: npm run build\n exclude:\n - .env\n region: ap-guangzhou\n runtime: Nodejs10.15\n apigatewayConf:\n # \u6b64\u5904\u7701\u7565....\n # \u9759\u6001\u8d44\u6e90\u76f8\u5173\u914d\u7f6e\n staticConf:\n cosConf:\n # \u8fd9\u91cc\u662f\u521b\u5efa\u7684 COS \u6876\u540d\u79f0\n bucket: serverless-nextjs\n
\n

\u901a\u8fc7\u914d\u7f6e staticConf.cosConf \u6307\u5b9a COS \u6876\uff0c\u6267\u884c\u90e8\u7f72\u65f6\uff0c\u4f1a\u9ed8\u8ba4\u81ea\u52a8\u5c06\u7f16\u8bd1\u751f\u6210\u7684 .next \u548c public \u6587\u4ef6\u5939\u9759\u6001\u8d44\u6e90\u4e0a\u4f20\u5230\u6307\u5b9a\u7684 COS \u3002

\n

\u4fee\u6539\u597d\u914d\u7f6e\u540e\uff0c\u518d\u6b21\u6267\u884c serverless deploy \u8fdb\u884c\u90e8\u7f72\uff1a

\n
$ serverless deploy\n\nserverless \u26a1framework\nAction: \"deploy\" - Stage: \"dev\" - App: \"appDemo\" - Instance: \"nextjsDemo\"\n\nregion: ap-guangzhou\n# \u6b64\u5904\u7701\u7565......\nstaticConf:\n cos:\n region: ap-guangzhou\n cosOrigin: serverless-nextjs-xxx.cos.ap-guangzhou.myqcloud.com\n bucket: serverless-nextjs-xxx\n
\n

\u6d4f\u89c8\u5668\u8bbf\u95ee\uff0c\u6253\u5f00\u8c03\u8bd5\u63a7\u5236\u53f0\uff0c\u53ef\u4ee5\u770b\u5230\u8bbf\u95ee\u7684\u9759\u6001\u8d44\u6e90\u8bf7\u6c42\u8def\u5f84\u5982\u4e0b\uff1a

\n

\"Static

\n

\u4e0a\u56fe\u53ef\u4ee5\u770b\u51fa\uff0c\u9759\u6001\u8d44\u6e90\u5747\u901a\u8fc7\u8bbf\u95ee COS \u83b7\u53d6\uff0c\u73b0\u5728\u4e91\u51fd\u6570\u53ea\u9700\u8981\u6e32\u67d3\u5165\u53e3\u6587\u4ef6\uff0c\u800c\u4e0d\u9700\u8981\u50cf\u4e4b\u524d\uff0c\u9759\u6001\u8d44\u6e90\u5168\u90e8\u901a\u8fc7\u4e91\u51fd\u6570\u8fd4\u56de\u3002

\n
\n

\u5907\u6ce8\uff1a\u4e4b\u524d\u7531\u4e8e\u90fd\u662f\u5c06 .next \u90e8\u7f72\u5230\u4e86\u4e91\u51fd\u6570\uff0c\u6240\u4ee5\u6ca1\u6cd5\u8bbf\u95ee\u9875\u9762\u540e\uff0c\u9875\u9762\u4e2d\u7684\u9759\u6001\u8d44\u6e90\uff0c\u5982\u56fe\u7247\uff0c\u90fd\u9700\u8981\u518d\u6b21\u8bbf\u95ee\u4e91\u51fd\u6570\uff0c\u7136\u540e\u83b7\u53d6\u3002\u4e8e\u662f\u770b\u4f3c\u6211\u4eec\u8bf7\u6c42\u4e86\u4e00\u6b21\u4e91\u51fd\u6570\uff0c\u800c\u5b9e\u9645\u4e0a\u4e91\u51fd\u6570\u5355\u4f4d\u65f6\u95f4\u5e76\u53d1\u6570\uff0c\u4f1a\u6839\u636e\u9875\u9762\u9759\u6001\u8d44\u6e90\u8bf7\u6c42\u6570\u800c\u589e\u52a0\uff0c\u4ece\u800c\u9020\u6210\u51b7\u542f\u52a8\u95ee\u9898\u3002

\n
\n

\u9759\u6001\u8d44\u6e90\u914d\u7f6e CDN

\n

\u4e0a\u9762\u6211\u4eec\u5df2\u7ecf\u5c06\u9759\u6001\u8d44\u6e90\u90fd\u90e8\u7f72\u5230 COS \u4e86\uff0c\u9875\u9762\u8bbf\u95ee\u4e5f\u5feb\u4e86\u5f88\u591a\u3002\u4f46\u662f\u5bf9\u4e8e\u751f\u4ea7\u73af\u5883\uff0c\u8fd8\u9700\u8981\u7ed9\u9759\u6001\u8d44\u6e90\u914d\u7f6e CDN \u7684\u3002\u901a\u8fc7 COS \u63a7\u5236\u53f0\u5df2\u7ecf\u53ef\u4ee5\u5f88\u65b9\u4fbf\u7684\u914d\u7f6e CDN \u52a0\u901f\u57df\u540d\u4e86\u3002\u4f46\u662f\u8fd8\u662f\u9700\u8981\u624b\u52a8\u53bb\u914d\u7f6e\uff0c\u4f5c\u4e3a\u4e00\u540d\u61d2\u60f0\u7684\u7a0b\u5e8f\u5458\uff0c\u6211\u8fd8\u662f\u4e0d\u80fd\u63a5\u53d7\u7684\u3002 \u800c Next.js \u7ec4\u4ef6\u6b63\u597d\u63d0\u4f9b\u4e86\u7ed9\u9759\u6001\u8d44\u6e90\u914d\u7f6e CDN \u7684\u80fd\u529b\uff0c\u53ea\u9700\u8981\u5728 serverless.yml \u4e2d\u65b0\u589e staticConf.cdnConf \u914d\u7f6e\u5373\u53ef\uff0c\u5982\u4e0b\u6240\u793a\uff1a

\n
# \u6b64\u5904\u7701\u7565....\ninputs:\n # \u6b64\u5904\u7701\u7565....\n\n # \u9759\u6001\u8d44\u6e90\u76f8\u5173\u914d\u7f6e\n staticConf:\n cosConf:\n # \u8fd9\u91cc\u662f\u521b\u5efa\u7684 COS \u6876\u540d\u79f0\n bucket: serverless-nextjs\n cdnConf:\n domain: static.test.yuga.chat\n https:\n certId: abcdefg\n
\n

\u8fd9\u91cc\u4f7f\u7528 https \u534f\u8bae\uff0c\u6240\u4ee5\u4e5f\u6dfb\u52a0\u4e86 https \u7684 certId \u8bc1\u4e66 ID \u914d\u7f6e\u3002\u6b64\u5916\u9759\u6001\u8d44\u6e90\u57df\u540d\u4e5f\u9700\u8981\u4fee\u6539\u4e3a CDN \u57df\u540d\uff0c\u4fee\u6539 next.config.js \u5982\u4e0b\uff1a

\n
const isProd = process.env.NODE_ENV === \"production\";\nconst STATIC_URL = \"https://static.test.yuga.chat\";\nmodule.exports = {\n env: {\n STATIC_URL: isProd ? STATIC_URL : \"http://localhost:3000\",\n },\n assetPrefix: isProd ? STATIC_URL : \"\",\n};\n
\n

\u914d\u7f6e\u597d\u540e\uff0c\u518d\u6b21\u6267\u884c\u90e8\u7f72\uff0c\u7ed3\u679c\u5982\u4e0b\uff1a

\n
$ serverless deploy\n\nserverless \u26a1framework\nAction: \"deploy\" - Stage: \"dev\" - App: \"appDemo\" - Instance: \"nextjsDemo\"\n\nregion: ap-guangzhou\napigw:\n # \u7701\u7565...\nscf:\n # \u7701\u7565...\nstaticConf:\n cos:\n region: ap-guangzhou\n cosOrigin: serverless-nextjs-xxx.cos.ap-guangzhou.myqcloud.com\n bucket: serverless-nextjs-xxx\n cdn:\n domain: static.test.yuga.chat\n url: https://static.test.yuga.chat\n
\n
\n

\u6ce8\u610f\uff1a\u8fd9\u91cc\u867d\u7136\u6dfb\u52a0\u4e86 CDN \u57df\u540d\uff0c\u4f46\u662f\u8fd8\u662f\u9700\u8981\u624b\u52a8\u914d\u7f6e CNAME static.test.yuga.chat.cdn.dnsv1.com \u89e3\u6790\u8bb0\u5f55\u3002

\n
\n

\u4f18\u5316\u524d\u540e\u5bf9\u6bd4

\n

\u5230\u8fd9\u91cc\uff0cServerless Next.js \u5e94\u7528\u4f53\u9a8c\u5df2\u7ecf\u4f18\u5316\u4e86\u5f88\u591a\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528 Lighthouse \u8fdb\u884c\u6027\u80fd\u6d4b\u8bd5\uff0c\u6765\u9a8c\u8bc1\u4e0b\u6211\u4eec\u7684\u6536\u83b7\u3002\u6d4b\u8bd5\u7ed3\u679c\u5982\u4e0b\uff1a

\n

\u4f18\u5316\u524d\uff1a

\n

\"Before

\n

\u4f18\u5316\u540e\uff1a

\n

\"After

\n

\u524d\u540e\u5bf9\u6bd4\uff0c\u53ef\u4ee5\u660e\u663e\u770b\u51fa\u4f18\u5316\u6548\u679c\uff0c\u5f53\u7136\u8fd9\u91cc\u4e3b\u8981\u662f\u9488\u5bf9\u9759\u6001\u8d44\u6e90\u8fdb\u884c\u4e86\u4f18\u5316\u5904\u7406\uff0c\u51cf\u5c11\u4e86\u51b7\u542f\u52a8\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u6e38\u6e56\u4f53\u9a8c\uff0c\u6211\u4eec\u8fd8\u53ef\u4ee5\u505a\u7684\u66f4\u591a\uff0c\u8fd9\u91cc\u5c31\u4e0d\u5c55\u5f00\u8ba8\u8bba\u4e86\u3002

\n

\u57fa\u4e8e Layer \u90e8\u7f72 node_modules

\n

\u968f\u7740\u6211\u4eec\u7684\u4e1a\u52a1\u53d8\u5f97\u590d\u6742\uff0c\u9879\u76ee\u4f53\u79ef\u4f1a\u8d8a\u6765\u8d8a\u5927\uff0cnode_modules \u6587\u4ef6\u5939\u4e5f\u4f1a\u53d8\u5f97\u539f\u6765\u8d8a\u5927\uff0c\u800c\u73b0\u5728\u6bcf\u6b21\u90e8\u7f72\u90fd\u9700\u8981\u5c06 node_modules \u6253\u5305\u538b\u7f29\uff0c\u7136\u540e\u4e0a\u4f20\uff0c\u8ddf\u4e1a\u52a1\u4ee3\u7801\u4e00\u8d77\u90e8\u7f72\u5230\u4e91\u51fd\u6570\u3002\u5728\u5b9e\u9645\u5f00\u53d1\u4e2d\uff0c node_modules \u5927\u90e8\u5206\u65f6\u5019\u662f\u4e0d\u600e\u4e48\u53d8\u5316\u7684\uff0c\u4f46\u662f\u5f53\u524d\u6bcf\u6b21\u90fd\u9700\u8981\u4e0a\u4f20\uff0c\u8fd9\u5fc5\u7136\u4f1a\u6d6a\u8d39\u5f88\u591a\u90e8\u7f72\u65f6\u95f4\uff0c\u5c24\u5176\u5728\u7f51\u7edc\u72b6\u6001\u4e0d\u597d\u7684\u60c5\u51b5\u4e0b\uff0c\u4ee3\u7801\u4e0a\u4f20\u5c31\u66f4\u6162\u4e86\u3002

\n

\u65e2\u7136 node_modules \u6587\u4ef6\u5939\u662f\u4e0d\u600e\u4e48\u53d8\u66f4\u7684\uff0c\u90a3\u4e48\u6211\u4eec\u80fd\u4e0d\u80fd\u53ea\u6709\u5728\u5b83\u53d8\u5316\u65f6\u624d\u4e0a\u4f20\u66f4\u65b0\u5462\uff1f

\n

\u501f\u52a9 Layer \u7684\u80fd\u529b\u662f\u53ef\u4ee5\u5b9e\u73b0\u7684\u3002

\n

\u5728\u8fd9\u4e4b\u524d\uff0c\u5148\u7b80\u5355\u4ecb\u7ecd\u4e0b Layer:

\n
\n

\u501f\u52a9 Layer\uff0c\u53ef\u4ee5\u5c06\u9879\u76ee\u4f9d\u8d56\u653e\u5728 Layer \u4e2d\u800c\u65e0\u9700\u90e8\u7f72\u5230\u4e91\u51fd\u6570\u4ee3\u7801\u4e2d\u3002\u51fd\u6570\u5728\u6267\u884c\u524d\uff0c\u4f1a\u5148\u52a0\u8f7d Layer \u4e2d\u7684\u6587\u4ef6\u5230 /opt \u76ee\u5f55\u4e0b\uff08\u4e91\u51fd\u6570\u4ee3\u7801\u4f1a\u6302\u8f7d\u5230 /var/user/ \u76ee\u5f55\u4e0b\uff09\uff0c\u540c\u65f6\u4f1a\u5c06 /opt \u548c /opt/node_modules \u6dfb\u52a0\u5230 NODE_PATH \u4e2d\uff0c\u8fd9\u6837\u5373\u4f7f\u4e91\u51fd\u6570\u4e2d\u6ca1\u6709 node_modules \u6587\u4ef6\u5939\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7 require('abc') \u65b9\u5f0f\u5f15\u5165\u4f7f\u7528\u8be5\u6a21\u5757\u3002

\n
\n

\u6b63\u597d Layer \u7ec4\u4ef6 \u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u81ea\u52a8\u521b\u5efa Layer\u3002

\n

\u4f7f\u7528\u65f6\u53ea\u9700\u8981\u5728\u9879\u76ee\u4e0b\u6dfb\u52a0 layer \u6587\u4ef6\u5939\uff0c\u5e76\u4e14\u521b\u5efa layer/serverless.yml \u914d\u7f6e\u5982\u4e0b\uff1a

\n
org: orgDemo\napp: appDemo\nstage: dev\ncomponent: layer\nname: nextjsDemo-layer\n\ninputs:\n region: ap-guangzhou\n name: ${name}\n src: ../node_modules\n runtimes:\n - Nodejs10.15\n - Nodejs12.16\n
\n

\u914d\u7f6e\u8bf4\u660e:

\n
\n

region\uff1a\u5730\u533a\uff0c\u9700\u8981\u8ddf\u4e91\u51fd\u6570\u4fdd\u6301\u4e00\u81f4\nname\uff1aLayer \u540d\u79f0\uff0c\u5728\u4e91\u51fd\u6570\u7ed1\u5b9a\u6307\u5b9a Layer \u65f6\u9700\u8981\u6307\u5b9a\nsrc\uff1a\u6307\u5b9a\u9700\u8981\u4e0a\u4f20\u90e8\u7f72\u5230 Layer \u7684\u76ee\u5f55\nruntimes\uff1a\u652f\u6301\u7684\u4e91\u51fd\u6570\u8fd0\u884c\u73af\u5883

\n
\n

\u6267\u884c\u90e8\u7f72 Layer \u547d\u4ee4:

\n
$ serverless deploy --target=./layer\n\nserverless \u26a1framework\nAction: \"deploy\" - Stage: \"dev\" - App: \"appDemo\" - Instance: \"nextjsDemo-layer\"\n\nregion: ap-guangzhou\nname: nextjsDemo-layer\nbucket: sls-layer-ap-guangzhou-code\nobject: nextjsDemo-layer-1594356915.zip\ndescription: Layer created by serverless component\nruntimes:\n - Nodejs10.15\n - Nodejs12.16\nversion: 1\n
\n

\u4ece\u8f93\u51fa\u53ef\u4ee5\u6e05\u6670\u770b\u5230 Layer \u7ec4\u4ef6\u5df2\u7ecf\u5e2e\u52a9\u6211\u4eec\u81ea\u52a8\u521b\u5efa\u4e86\u4e00\u4e2a\u540d\u79f0\u4e3a nextjsDemo-layer\uff0c\u7248\u672c\u4e3a 1 \u7684 Layer \u3002

\n

\u63a5\u4e0b\u6765\u6211\u4eec\u5982\u4f55\u81ea\u52a8\u548c\u6211\u4eec\u7684 Next.js \u4e91\u51fd\u6570\u7ed1\u5b9a\u5462\uff1f

\n

\u53c2\u8003 serverless components outputs \u8bf4\u660e\u6587\u6863 \uff0c\u53ef\u4ee5\u901a\u8fc7\u5f15\u7528\u4e00\u4e2a\u57fa\u4e8e Serverless Components \u90e8\u7f72\u6210\u529f\u7684\u5b9e\u4f8b\u7684 outputs (\u8fd9\u91cc\u5c31\u662f\u63a7\u5236\u53f0\u8f93\u51fa\u5bf9\u8c61\u5185\u5bb9)\uff0c\u8bed\u6cd5\u5982\u4e0b\uff1a

\n
# Syntax\n${output:[stage]:[app]:[instance].[output]}\n
\n

\u90a3\u4e48\u6211\u4eec\u53ea\u9700\u8981\u5728\u9879\u76ee\u6839\u76ee\u5f55\u7684 serverless.yml \u6587\u4ef6\u4e2d\uff0c\u6dfb\u52a0 layers \u914d\u7f6e\u5c31\u53ef\u4ee5\u4e86\uff1a

\n
org: orgDemo\napp: appDemo\nstage: dev\ncomponent: nextjs\nname: nextjsDemo\n\ninputs:\n src:\n dist: ./\n hook: npm run build\n exclude:\n - .env\n - \"node_modules/**\"\n region: ap-guangzhou\n runtime: Nodejs10.15\n layers:\n - name: ${output:${stage}:${app}:${name}-layer.name}\n version: ${output:${stage}:${app}:${name}-layer.version}\n # \u9759\u6001\u8d44\u6e90\u76f8\u5173\u914d\u7f6e\n # \u6b64\u5904\u7701\u7565....\n
\n
\n

\u6ce8\u610f\uff1a\u4e0d\u540c\u7ec4\u4ef6\u90e8\u7f72\u5b9e\u4f8b\u7ed3\u679c\u7684\u4f9d\u8d56\u4f7f\u7528\uff0c\u9700\u8981\u4fdd\u8bc1 serverless.yml \u4e2d org,app,stage \u4e09\u4e2a\u914d\u7f6e\u662f\u4e00\u81f4\u7684\u3002

\n
\n

\u7531\u4e8e node_modules \u5df2\u7ecf\u901a\u8fc7 Layer \u90e8\u7f72\uff0c\u6240\u4ee5\u8fd8\u9700\u8981\u5728 src.exclude \u4e2d\u6dfb\u52a0\u5ffd\u7565\u90e8\u7f72\u8be5\u6587\u4ef6\u5939\u3002

\n

\u4e4b\u540e\u518d\u6b21\u6267\u884c\u90e8\u7f72\u547d\u4ee4 serverless deploy \u5373\u53ef\uff0c \u4f60\u4f1a\u53d1\u73b0\u8fd9\u6b21\u90e8\u7f72\u65f6\u95f4\u5927\u5927\u7f29\u51cf\u4e86\uff0c\u56e0\u4e3a\u6211\u4eec\u4e0d\u5728\u9700\u8981\u6bcf\u6b21\u538b\u7f29\u4e0a\u4f20 node_moduels \u8fd9\u4e2a\u5e9e\u5927\u7684\u6587\u4ef6\u5939\u4e86 (^\u25bd^)

\n

\u6700\u540e

\n

\u57fa\u4e8e\u4ee5\u4e0a\u65b9\u6848\uff0c\u6211\u90e8\u7f72\u4e86\u4e00\u4e2a\u5b8c\u6574\u7684 Cnode \u9879\u76ee\uff0cserverless-cnode\uff0c\u6b22\u8fce\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\uff0c\u63d0\u4ea4\u5b9d\u8d35\u7684 ISSUE/PR \u3002

\n

\u5173\u4e8e Serverless SSR \u7684\u65b9\u6848\uff0c\u6211\u4e5f\u5728\u4e0d\u65ad\u5c1d\u8bd5\u548c\u63a2\u7d22\u4e2d\uff0c\u5982\u679c\u4f60\u6709\u66f4\u597d\u7684\u65b9\u6848\u548c\u5efa\u8bae\uff0c\u6b22\u8fce\u8bc4\u8bba\u6216\u8005\u79c1\u4fe1\u6765\u64a9~

\n
\n

\u6b22\u8fce\u8bbf\u95ee\uff1aServerless \u4e2d\u6587\u7f51

\n" }, { "author": { "url": "member/scf10cent", "name": "scf10cent", "avatar": "https://cdn.v2ex.com/avatar/45ff/a7d1/420644_large.png?m=1578562081" }, "url": "t/686584", "title": "\u5982\u4f55\u5c06 Web \u6846\u67b6\u8fc1\u79fb\u5230 Serverless", "id": "t/686584", "date_published": "2020-07-02T07:41:29+00:00", "content_html": "

Serverless \u901a\u5e38\u7ffb\u8bd1\u4e3a \u201c\u65e0\u670d\u52a1\u67b6\u6784\u201d\uff0c\u662f\u4e00\u79cd\u8f6f\u4ef6\u7cfb\u7edf\u8bbe\u8ba1\u67b6\u6784\u601d\u60f3\u548c\u65b9\u6cd5\uff0c\u5e76\u4e0d\u662f\u4e00\u4e2a\u5f00\u53d1\u6846\u67b6\u6216\u8005\u5de5\u5177\u3002\u4ed6\u7684\u51fa\u73b0\u662f\u4e3a\u4e86\u8ba9\u5f00\u53d1\u8005\u66f4\u52a0\u5173\u6ce8\u4e1a\u52a1\u7684\u5f00\u53d1\uff0c\u800c\u5c06\u7e41\u6742\u7684\u8fd0\u7ef4\u548c\u90e8\u7f72\u4ea4\u7ed9\u4e91\u5382\u5546\u3002Serverless \u7531 Faas \u548c Baas \u7ec4\u6210\uff0cFaas \u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u4e1a\u52a1\u8fd0\u7b97\u73af\u5883\uff0c\u7136\u540e\u4e0e Baas \u63d0\u4f9b\u7684\u6570\u636e\u548c\u5b58\u50a8\u670d\u52a1\uff0c\u8fdb\u884c\u4ea4\u4e92\uff0c\u4ece\u800c\u63d0\u4f9b\u4e0e\u4f20\u7edf\u670d\u52a1\u4e00\u81f4\u7684\u4f53\u9a8c\u3002\u4f46\u662f\u7531\u4e8e Faas \u662f\u65e0\u72b6\u6001\u7684\uff0c\u5e76\u4e14\u5176\u8fd0\u884c\u73af\u5883\u662f\u6709\u8bfb\u5199\u9650\u5236\u7684\uff0c\u6700\u91cd\u8981\u7684\u662f\u5b83\u662f\u57fa\u4e8e\u4e8b\u4ef6\u89e6\u53d1\u7684\u3002\u56e0\u6b64\u5982\u679c\u4f20\u7edf Web \u670d\u52a1\u60f3\u8fc1\u79fb\u5230 Serverless \u4e0a\uff0c\u662f\u9700\u8981\u8fdb\u884c\u76f8\u5173\u6539\u9020\u548c\u7279\u6b8a\u5904\u7406\u7684\uff0c\u4e3a\u6b64\u8fc1\u79fb\u6210\u672c\u662f\u5fc5\u4e0d\u53ef\u5c11\u7684\u3002\u672c\u6587\u5c06\u5177\u4f53\u5e2e\u52a9\u5927\u5bb6\u5256\u6790\u4e0b\uff0c\u5982\u4f55 Serverless \u5316\u4f20\u7edf\u7684 Web \u670d\u52a1\u3002

\n

\u8bfb\u5b8c\u672c\u6587\u5c06\u4e86\u89e3\u5230\uff1a

\n
    \n
  1. \u4f20\u7edf Web \u670d\u52a1\u7279\u70b9
  2. \n
  3. Serverless \u9002\u7528\u573a\u666f
  4. \n
  5. Web \u6846\u67b6\u5982\u4f55\u8fc1\u79fb\u5230 Serverless
  6. \n
  7. \u4f7f\u7528 Serverless Components \u5feb\u901f\u90e8\u7f72 Web \u6846\u67b6
  8. \n
\n

\u4f20\u7edf Web \u670d\u52a1\u7279\u70b9

\n

Web \u670d\u52a1\u5b9a\u4e49\uff1a

\n
\n

Web \u670d\u52a1\u662f\u4e00\u79cd \u9762\u5411\u670d\u52a1\u7684\u67b6\u6784 (SOA) \u7684\u6280\u672f\uff0c\u901a\u8fc7\u6807\u51c6\u7684 Web \u534f\u8bae\u63d0\u4f9b\u670d\u52a1\uff0c\u76ee\u7684\u662f\u4fdd\u8bc1\u4e0d\u540c\u5e73\u53f0\u7684\u5e94\u7528\u670d\u52a1\u53ef\u4ee5\u4e92\u64cd\u4f5c\u3002

\n
\n

\u65e5\u5e38\u751f\u6d3b\u4e2d\uff0c\u63a5\u89e6\u6700\u591a\u7684\u5c31\u662f\u57fa\u4e8e HTTP \u534f\u8bae\u7684\u670d\u52a1\uff0c\u5ba2\u6237\u7aef\u53d1\u8d77\u8bf7\u6c42\uff0c\u670d\u52a1\u7aef\u63a5\u53d7\u8bf7\u6c42\uff0c\u8fdb\u884c\u8ba1\u7b97\u5904\u7406\uff0c\u7136\u540e\u8fd4\u56de\u54cd\u5e94\uff0c\u7b80\u5355\u793a\u610f\u56fe\u5982\u4e0b\uff1a

\n<center>\n\"Web\n</center>\n

\u4f20\u7edf Web \u670d\u52a1\u90e8\u7f72\u6d41\u7a0b\uff1a\u901a\u5e38\u9700\u8981\u5c06\u9879\u76ee\u4ee3\u7801\u90e8\u7f72\u5230\u670d\u52a1\u5668\u4e0a\uff0c\u542f\u52a8\u670d\u52a1\u8fdb\u7a0b\uff0c\u76d1\u542c\u670d\u52a1\u5668\u7684\u76f8\u5173\u7aef\u53e3\uff0c\u7136\u540e\u7b49\u5f85\u5ba2\u6237\u7aef\u8bf7\u6c42\uff0c\u4ece\u800c\u54cd\u5e94\u8fd4\u56de\u5904\u7406\u7ed3\u679c\u3002\u800c\u8fd9\u4e2a\u670d\u52a1\u8fdb\u7a0b\u662f\u5e38\u9a7b\u7684\uff0c\u5c31\u7b97\u6ca1\u6709\u5ba2\u6237\u7aef\u8bf7\u6c42\uff0c\u4e5f\u4f1a\u5360\u7528\u76f8\u5e94\u670d\u52a1\u5668\u8d44\u6e90\u3002

\n

\u4e00\u822c\u6211\u4eec\u7684\u670d\u52a1\u662f\u7531\u9ad8\u6d41\u91cf\u548c\u4f4e\u6d41\u91cf\u573a\u666f\u4ea4\u66ff\u7ec4\u6210\u7684\uff0c\u4f46\u662f\u4e3a\u4e86\u8003\u8651\u9ad8\u6d41\u91cf\u573a\u666f\uff0c\u6211\u4eec\u9700\u8981\u63d0\u4f9b\u8f83\u9ad8\u7684\u670d\u52a1\u5668\u914d\u7f6e\u548c\u591a\u53f0\u670d\u52a1\u8fdb\u884c\u8d1f\u8f7d\u5747\u8861\u3002\u8fd9\u5c31\u5bfc\u81f4\u670d\u52a1\u5904\u5728\u4f4e\u6d41\u91cf\u573a\u666f\u65f6\uff0c\u4f1a\u591a\u51fa\u5f88\u591a\u989d\u5916\u7684\u95f2\u7f6e\u8d44\u6e90\uff0c\u4f46\u662f\u8d2d\u4e70\u7684\u8d44\u6e90\u5374\u9700\u8981\u6309\u7167\u9ad8\u6d41\u91cf\u573a\u666f\u8fdb\u884c\u4ed8\u8d39\uff0c\u8fd9\u662f\u975e\u5e38\u4e0d\u5212\u7b97\u7684\u3002

\n

\u5982\u679c\u6211\u4eec\u7684\u670d\u52a1\u80fd\u5728\u9ad8\u6d41\u91cf\u573a\u666f\u81ea\u52a8\u6269\u5bb9\uff0c\u4f4e\u6d41\u91cf\u573a\u666f\u81ea\u52a8\u7f29\u5bb9\uff0c\u5e76\u4e14\u53ea\u5728\u8fdb\u884c\u8ba1\u7b97\u5904\u7406\u54cd\u5e94\u65f6\uff0c\u624d\u8fdb\u884c\u6536\u8d39\uff0c\u800c\u7a7a\u95f2\u65f6\u95f4\u4e0d\u5360\u7528\u4efb\u4f55\u8d44\u6e90\uff0c\u5c31\u4e0d\u9700\u8981\u6536\u8d39\u5462\uff1f

\n

\u7b54\u6848\u5c31\u662f Serverless\u3002

\n

Serverless \u9002\u7528\u573a\u666f

\n

\u4e0a\u9762\u5df2\u7ecf\u63d0\u5230\u4e86 Serverless \u7684\u4e24\u4e2a\u6838\u5fc3\u7279\u70b9\uff1a\u6309\u9700\u4f7f\u7528\u548c\u6536\u8d39 \u548c \u81ea\u52a8\u6269\u7f29\u5bb9\u3002\u800c\u4e14\u8fd1\u51e0\u5e74 Serverless \u7684\u5e94\u7528\u4e5f\u8d8a\u6765\u8d8a\u5e7f\u6cdb\uff0c\u4f46\u662f\u5b83\u5e76\u4e0d\u662f\u94f6\u5f39\uff0c\u4efb\u4f55\u6280\u672f\u90fd\u662f\u6709\u5b83\u7684\u9002\u5408\u573a\u666f\u548c\u4e0d\u9002\u5408\u573a\u666f\u3002\u6211\u4eec\u4e0d\u80fd\u56e0\u4e3a\u4e00\u9879\u6280\u672f\u7684\u706b\u70ed\uff0c\u800c\u76f2\u76ee\u7684\u8ffd\u6367\u3002Serverless \u662f\u6709\u5b83\u7684\u5c40\u9650\u6027\u7684\uff0c\u4e00\u822c Serverless \u9002\u5408\u5982\u4e0b\u51e0\u79cd\u573a\u666f\uff1a

\n
    \n
  1. \u5f02\u6b65\u7684\u5e76\u53d1\uff0c\u7ec4\u4ef6\u53ef\u72ec\u7acb\u90e8\u7f72\u548c\u6269\u5c55
  2. \n
  3. \u5e94\u5bf9\u7a81\u53d1\u6216\u670d\u52a1\u4f7f\u7528\u91cf\u4e0d\u53ef\u9884\u6d4b
  4. \n
  5. \u65e0\u72b6\u6001\uff0c\u8ba1\u7b97\u8017\u65f6\u8f83\u77ed\u670d\u52a1
  6. \n
  7. \u8bf7\u6c42\u5ef6\u65f6\u4e0d\u654f\u611f\u670d\u52a1
  8. \n
  9. \u9700\u8981\u5feb\u901f\u5f00\u53d1\u8fed\u4ee3\u7684\u4e1a\u52a1
  10. \n
\n

\u5982\u679c\u4f60\u7684\u670d\u52a1\u4e0d\u6ee1\u8db3\u4ee5\u4e0a\u6761\u4ef6\uff0c\u7b14\u8005\u662f\u4e0d\u63a8\u8350\u8fc1\u79fb\u5230 Serverless \u3002

\n

Web \u6846\u67b6\u5982\u4f55\u8fc1\u79fb\u5230 Serverless

\n

\u5982\u679c\u4f60\u7684\u670d\u52a1\u662f\u4ee5\u4e0a\u63d0\u5230\u7684\u4efb\u4f55\u8bdd\u4e00\u4e2a\u573a\u666f\uff0c\u90a3\u4e48\u5c31\u53ef\u4ee5\u5c1d\u8bd5\u8fc1\u79fb\u5230 Serverless \u4e0a\u3002

\n

\u5e38\u89c1\u7684 Serverless HTTP \u670d\u52a1\u7ed3\u6784\u56fe\u5982\u4e0b\uff1a

\n<center>\n\"Serverless\n</center>\n

\u90a3\u4e48\u6211\u4eec\u5982\u4f55\u5c06 Web \u670d\u52a1\u8fdb\u884c\u8fc1\u79fb\u5462\uff1f

\n

\u6211\u4eec\u77e5\u9053 Faas \uff08\u4e91\u51fd\u6570\uff09\u662f\u57fa\u4e8e\u4e8b\u4ef6\u89e6\u53d1\u7684\uff0c\u4e5f\u5c31\u662f\u4e91\u51fd\u6570\u88ab\u89e6\u53d1\u8fd0\u884c\u65f6\uff0c\u63a5\u6536\u5230\u7684\u662f\u4e00\u4e2a JSON \u7ed3\u6784\u4f53\uff0c\u5b83\u8ddf\u4f20\u7edf Web \u8bf7\u6c42\u65f6\u6709\u533a\u522b\u7684\uff0c\u8fd9\u5c31\u662f\u4e3a\u4ec0\u4e48\u9700\u8981\u989d\u5916\u7684\u6539\u9020\u5de5\u4f5c\u3002\u800c\u6539\u9020\u7684\u5de5\u4f5c\u5c31\u662f\u56f4\u7ed5\u5982\u4f55\u5c06\u4e8b\u4ef6 JSON \u7ed3\u6784\u4f53\u8f6c\u5316\u6210\u6807\u51c6\u7684 Web \u8bf7\u6c42\u3002

\n

\u6240\u4ee5 Serverless \u5316 Web \u670d\u52a1\u7684\u6838\u5fc3\u5c31\u662f\u9700\u8981\u5f00\u53d1\u4e00\u4e2a \u9002\u914d\u5c42\uff0c\u6765\u5e2e\u6211\u4eec\u5c06\u89e6\u53d1\u4e8b\u4ef6\u8f6c\u5316\u4e3a\u6807\u51c6\u7684 Web \u8bf7\u6c42\u3002

\n

\u6574\u4e2a\u5904\u7406\u6d41\u7a0b\u56fe\u5982\u4e0b\uff1a

\n<center>\n\"Serverless\n</center>\n

\u63a5\u4e0b\u6765\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a Express \u6846\u67b6\u5f00\u53d1\u4e00\u4e2a\u9002\u914d\u5c42\u3002

\n

Serverless Express \u9002\u914d\u5c42\u5f00\u53d1

\n

\u5b9e\u73b0\u539f\u7406

\n

\u9996\u5148\u6211\u4eec\u5148\u6765\u770b\u770b\u4e00\u4e2a\u6807\u51c6\u7684\u4e91\u51fd\u6570\u7ed3\u6784\uff1a

\n
module.exports.handler = (event, context) => {\n // do some culculation\n return res;\n};\n
\n

\u5728\u4ecb\u7ecd\u5982\u4f55\u5f00\u53d1\u4e00\u4e2a Express \u7684\u9002\u914d\u5c42\u524d\uff0c\u6211\u4eec\u5148\u6765\u719f\u6089\u4e0b Express \u6846\u67b6\u3002

\n

\u4e00\u4e2a\u7b80\u5355\u7684 Node.js Web \u670d\u52a1\u5982\u4e0b\uff1a

\n
const http = require(\"http\");\nconst server = http.createServer(function (req, res) {\n res.end(\"helloword\");\n});\nserver.listen(3000);\n
\n

Express \u5c31\u662f\u57fa\u4e8e Node.js \u7684 Web \u6846\u67b6\uff0c\u800c Express \u6838\u5fc3\u5c31\u662f \u901a\u8fc7\u4e2d\u95f4\u4ef6\u7684\u65b9\u5f0f\uff0c\u751f\u6210\u4e00\u4e2a\u56de\u8c03\u51fd\u6570\uff0c\u7136\u540e\u63d0\u4f9b\u7ed9 http.createServer() \u65b9\u6cd5\u4f7f\u7528\u3002

\n

Express \u6838\u5fc3\u67b6\u6784\u56fe\u5982\u4e0b\uff1a

\n<center>\n\"Express\n</center>\n

\u7531\u6b64\u53ef\u77e5\uff0c\u6211\u4eec\u53ef\u4ee5\u5c06 Express \u6846\u67b6\u751f\u6210\u7684\u56de\u8c03\u51fd\u6570\uff0c\u4f5c\u4e3a http.createServer() \u7684\u53c2\u6570\uff0c\u6765\u521b\u5efa\u53ef\u63a7\u7684 HTTP Server\uff0c\u7136\u540e\u5c06\u4e91\u51fd\u6570\u7684 event \u5bf9\u8c61\u8f6c\u5316\u6210\u4e00\u4e2a request \u5bf9\u8c61\uff0c\u901a\u8fc7 http.request() \u65b9\u6cd5\u53d1\u8d77 HTTP \u8bf7\u6c42\uff0c\u83b7\u53d6\u8bf7\u6c42\u54cd\u5e94\uff0c\u8fd4\u56de\u7ed9\u7528\u6237\uff0c\u5c31\u53ef\u4ee5\u5b9e\u73b0\u6211\u4eec\u60f3\u8981\u7684\u7ed3\u679c\u3002

\n

Node.js Server \u7684\u76d1\u542c\u65b9\u5f0f\u9009\u62e9

\n

\u5bf9\u4e8e Node.js \u7684 HTTP Server\uff0c\u53ef\u4ee5\u901a\u8fc7\u8c03\u7528 server.listen() \u65b9\u6cd5\u6765\u542f\u52a8\u670d\u52a1\uff0clisten() \u65b9\u6cd5\u652f\u6301\u591a\u79cd\u53c2\u6570\u7c7b\u578b\uff0c\u4e3b\u8981\u6709\u4e24\u79cd\u76d1\u542c\u65b9\u5f0f \u4ece\u4e00\u4e2a TCP \u7aef\u53e3\u542f\u52a8\u76d1\u542c \u548c \u4ece\u4e00\u4e2a UNIX Socket \u5957\u63a5\u5b57\u542f\u52a8\u76d1\u542c\u3002

\n
\n\n
\n

\u670d\u52a1\u5668\u521b\u5efa\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u50cf\u4e0b\u9762\u8fd9\u6837\u542f\u52a8\u670d\u52a1\u5668\uff1a

\n
// \u4ece'127.0.0.1'\u548c 3000 \u7aef\u53e3\u5f00\u59cb\u63a5\u6536\u8fde\u63a5\nserver.listen(3000, '127.0.0.1', () => {});\n// \u4ece UNIX \u5957\u63a5\u5b57\u6240\u5728\u8def\u5f84 path \u4e0a\u76d1\u542c\u8fde\u63a5\nserver.listen('path/to/socket', () => {})\n
\n

\u65e0\u8bba\u662f TCP Socket \u8fd8\u662f Unix Domain Socket\uff0c\u6bcf\u4e2a Socket \u90fd\u662f\u552f\u4e00\u7684\u3002TCP Socket \u901a\u8fc7 IP \u548c\u7aef\u53e3 \u63cf\u8ff0\uff0c\u800c Unix Domain Socket \u901a\u8fc7 \u6587\u4ef6\u8def\u5f84 \u63cf\u8ff0\u3002

\n

TCP \u5c5e\u4e8e\u4f20\u8f93\u5c42\u7684\u534f\u8bae\uff0c\u4f7f\u7528 TCP Socket \u8fdb\u884c\u901a\u8baf\u65f6\uff0c\u9700\u8981\u7ecf\u8fc7\u4f20\u8f93\u5c42 TCP/IP \u534f\u8bae\u7684\u89e3\u6790\u3002

\n

\u800c Unix Domain Socket \u53ef\u7528\u4e8e\u4e0d\u540c\u8fdb\u7a0b\u95f4\u7684\u901a\u8baf\u548c\u4f20\u9012\uff0c\u4f7f\u7528 Unix Domain Socket \u8fdb\u884c\u901a\u8baf\u65f6\u4e0d\u9700\u8981\u7ecf\u8fc7\u4f20\u8f93\u5c42\uff0c\u4e5f\u4e0d\u9700\u8981\u4f7f\u7528 TCP/IP \u534f\u8bae\u3002\u6240\u4ee5\uff0c\u7406\u8bba\u4e0a\u8bb2 Unix Domain Socket \u5177\u6709\u66f4\u597d\u7684\u4f20\u8f93\u6548\u7387\u3002

\n

\u56e0\u6b64\u8fd9\u91cc\u5728\u8bbe\u8ba1\u542f\u52a8\u670d\u52a1\u65f6\uff0c\u91c7\u7528\u4e86 Unix Domain Socket \u65b9\u5f0f\uff0c\u4ee5\u4fbf\u51cf\u5c11\u51fd\u6570\u6267\u884c\u65f6\u95f4\uff0c\u8282\u7ea6\u6210\u672c\u3002

\n
\n

\u5173\u4e8e Node.js \u5982\u4f55\u5b9e\u73b0 IPC \u901a\u4fe1\uff0c\u8fd9\u91cc\u5c31\u4e0d\u8be6\u7ec6\u4ecb\u7ecd\u7684\uff0c\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\u53ef\u4ee5\u6df1\u5165\u7814\u7a76\u4e0b\uff0c\u8fd9\u91cc\u6709\u4e2a\u7b80\u5355\u7684\u793a\u4f8b\uff0cnodejs-ipc

\n
\n

\u4ee3\u7801\u5b9e\u73b0

\n

\u539f\u7406\u5927\u6982\u4ecb\u7ecd\u6e05\u695a\u4e86\uff0c\u6211\u4eec\u7684\u6838\u5fc3\u5b9e\u73b0\u4ee3\u7801\u9700\u8981\u4ee5\u4e0b\u4e09\u6b65\uff1a

\n
    \n
  1. \u901a\u8fc7 Node.js HTTP Server \u76d1\u542c Unix Domain Socket\uff0c\u542f\u52a8\u670d\u52a1
  2. \n
\n
function createServer(requestListener, serverListenCallback) {\n const server = http.createServer(requestListener);\n\n server._socketPathSuffix = getRandomString();\n server.on(\"listening\", () => {\n server._isListening = true;\n if (serverListenCallback) serverListenCallback();\n });\n server\n .on(\"close\", () => {\n server._isListening = false;\n })\n .on(\"error\", (error) => {\n // ...\n });\n server.listen(`/tmp/server-${server._socketPathSuffix}.sock`)\n return server;\n}\n
\n
    \n
  1. \u5c06 Serverless Event \u5bf9\u8c61\u8f6c\u5316\u4e3a Http \u8bf7\u6c42
  2. \n
\n
function forwardRequestToNodeServer(server, event, context, resolver) {\n try {\n const requestOptiOns= mapApiGatewayEventToHttpRequest(\n event,\n context,\n getSocketPath(server._socketPathSuffix),\n );\n // make http request to node server\n const req = http.request(requestOptions, (response) =>\n forwardResponseToApiGateway(server, response, resolver),\n );\n if (event.body) {\n const body = getEventBody(event);\n req.write(body);\n }\n\n req\n .on('error', (error) =>\n // ...\n )\n .end();\n } catch (error) {\n // ...\n return server;\n }\n}\n
\n
    \n
  1. \u5c06 HTTP \u54cd\u5e94\u8f6c\u5316\u4e3a API \u7f51\u5173\u6807\u51c6\u6570\u636e\u7ed3\u6784
  2. \n
\n
function forwardResponseToApiGateway(server, response, resolver) {\n response\n .on(\"data\", (chunk) => buf.push(chunk))\n .on(\"end\", () => {\n // ...\n resolver.succeed({\n statusCode,\n body,\n headers,\n isBase64Encoded,\n });\n });\n}\n
\n

\u6700\u540e\u51fd\u6570\u7684 handler \u5c06\u5f02\u6b65\u8bf7\u6c42\u8fd4\u56de\u5c31\u53ef\u4ee5\u4e86\u3002

\n

\u501f\u52a9 tencent-serverless-http \u5e93\u5b9e\u73b0

\n

\u5982\u679c\u4e0d\u60f3\u624b\u5199\u8fd9\u4e9b\u9002\u914d\u5c42\u4ee3\u7801\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 tencent-serverless-http \u6a21\u5757\u3002

\n

\u5b83\u4f7f\u7528\u8d77\u6765\u5f88\u7b80\u5355\uff0c\u521b\u5efa\u6211\u4eec\u7684 Express \u5e94\u7528\u5165\u53e3\u6587\u4ef6 sls.js\uff1a

\n
const express = require(\"express\");\nconst app = express();\n\n// Routes\napp.get(`/`, (req, res) => {\n res.send({\n msg: `Hello Express`,\n });\n});\n\nmodule.exports = app;\n
\n

\u7136\u540e\u521b\u5efa\u4e91\u51fd\u6570 sl_handler.js \u6587\u4ef6\uff1a

\n
const { createServer, proxy } = require(\"tencent-serverless-http\");\nconst app = require(\"./app\");\n\nexports.handler = async (event, context) => {\n const server = createServer(app);\n const result = await proxy(server, event, context, \"PROMISE\").promise;\n};\n
\n

\u63a5\u4e0b\u6765\uff0c\u5c06\u4e1a\u52a1\u4ee3\u7801\u548c\u4f9d\u8d56\u6a21\u5757\u4e00\u8d77\u6253\u5305\u90e8\u7f72\u5230\u4e91\u51fd\u6570\u5c31\u53ef\u4ee5\u4e86\uff08\u8bb0\u5f97\u6307\u5b9a \u6267\u884c\u65b9\u6cd5 \u4e3a sl_handler.handler \uff09\u3002

\n

\u5176\u4ed6 Node.js \u6846\u67b6

\n

\u9664\u4e86 Express \u6846\u67b6\uff0c\u5176\u4ed6\u7684 Node.js \u6846\u67b6\u4e5f\u57fa\u672c\u7c7b\u4f3c\uff0c\u53ea\u9700\u8981\u6309\u7167\u8981\u6c42\uff0cexports \u4e00\u4e2a HTTP Server \u7684\u56de\u8c03\u51fd\u6570\u5c31\u53ef\u4ee5\u3002

\n

\u6bd4\u5982 Koa\uff0c\u6211\u4eec\u62ff\u5230\u521d\u59cb\u5316\u7684 Koa \u5e94\u7528\u540e\uff0c\u53ea\u9700\u8981\u5c06 app.callback() \u4f5c\u4e3a createServer() \u65b9\u6cd5\u7684\u53c2\u6570\u5c31\u53ef\u4ee5\u4e86\uff0c\u5982\u4e0b\uff1a

\n
const { createServer, proxy } = require(\"tencent-serverless-http\");\nconst app = require(\"./app\");\n\nexports.handler = async (event, context) => {\n // \u8fd9\u91cc\u548c Express \u7565\u6709\u533a\u522b\n const server = createServer(app.callback());\n const result = await proxy(server, event, context, \"PROMISE\").promise;\n};\n
\n

\u5176\u4ed6\u8bed\u8a00\u6846\u67b6

\n

\u5bf9\u4e8e\u975e Node.js \u6846\u67b6\uff0c\u6bd4\u5982 Python \u7684 Flask \u6846\u67b6\uff0c\u539f\u7406\u90fd\u662f\u4e00\u6837\u7684\uff0c\u6838\u5fc3\u53ea\u9700\u8981\u505a\u5230 \u5c06 Serverless Event \u5bf9\u8c61\u8f6c\u5316\u4e3a Http \u8bf7\u6c42\uff0c\u5c31\u53ef\u4ee5\u4e86\u3002\u7531\u4e8e\u7b14\u8005\u5bf9\u5176\u4ed6\u8bed\u8a00\u4e0d\u592a\u719f\u6089\uff0c\u8fd9\u91cc\u5c31\u4e0d\u505a\u6df1\u5165\u4ecb\u7ecd\u4e86\uff0c\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\uff0c\u53ef\u4ee5\u5230 Github \u793e\u533a\u641c\u7d22\u4e0b\uff0c\u5df2\u7ecf\u6709\u5f88\u591a\u5bf9\u5e94\u7684\u89e3\u51b3\u65b9\u6848\u4e86\uff0c\u6216\u8005\u81ea\u5df1\u5c1d\u8bd5\u624b\u64b8\u4e5f\u662f\u53ef\u4ee5\u7684\u3002

\n

\u4f7f\u7528 Serverless Components \u5feb\u901f\u90e8\u7f72 Web \u6846\u67b6

\n

\u8bfb\u5230\u8fd9\u91cc\uff0c\u76f8\u4fe1\u4f60\u5df2\u7ecf\u6e05\u695a\uff0c\u5982\u4f55\u5c06\u81ea\u5df1\u7684 Node.js \u6846\u67b6\u8fc1\u79fb\u5230 Serverless \u4e86\u3002\u4f46\u662f\u5728\u8fd9\u4e4b\u524d\uff0c\u6211\u4eec\u90fd\u662f\u624b\u52a8\u5904\u7406\u7684\uff0c\u800c\u4e14\u6bcf\u6b21\u90fd\u9700\u8981\u81ea\u5df1\u521b\u5efa handler.js \u6587\u4ef6\uff0c\u8fd8\u662f\u4e0d\u591f\u65b9\u4fbf\u3002

\n

\u4e3a\u6b64\u5f00\u6e90\u793e\u533a\u63d0\u4f9b\u4e86\u4e00\u5957\u4f18\u79c0\u7684\u89e3\u51b3\u65b9\u6848 Serverless Component\uff0c\u901a\u8fc7\u7ec4\u4ef6\uff0c\u6211\u4eec\u8fdb\u884c\u7b80\u5355\u7684 yaml \u6587\u4ef6\u914d\u7f6e\u540e\uff0c\u5c31\u53ef\u4ee5\u65b9\u4fbf\u7684\u5c06\u6211\u4eec\u7684\u6846\u67b6\u4ee3\u7801\u90e8\u7f72\u5230\u4e91\u7aef\u3002

\n

\u6bd4\u5982\u4e0a\u9762\u63d0\u5230\u7684 Express \u6846\u67b6\uff0c\u5c31\u6709\u5bf9\u5e94\u7684\u7ec4\u4ef6\uff0c\u6211\u4eec\u53ea\u9700\u8981\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u521b\u5efa serverless.yml \u914d\u7f6e\u6587\u4ef6\uff1a

\n
component: express\nname: expressDemo\n\ninputs:\n src: ./\n region: ap-guangzhou\n runtime: Nodejs10.15\n apigatewayConf:\n protocols:\n - https\n environment: release\n
\n

\u7136\u540e\u5168\u5c40\u5b89\u88c5 serverless \u547d\u4ee4 npm install serverless -g \u4e4b\u540e\uff0c\u6267\u884c\u90e8\u7f72\u547d\u4ee4\u5373\u53ef\uff1a

\n
$ serverless deploy\n
\n

\u8010\u5fc3\u7b49\u5f85\u51e0\u79d2\uff0c\u6211\u4eec\u7684 Express \u5e94\u7528\u5c31\u6210\u529f\u90e8\u7f72\u5230\u4e91\u7aef\u4e86\u3002\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 Express \u5b98\u65b9\u6587\u6863

\n
\n

\u6ce8\u610f\uff1a\u672c\u6587 Serverless \u670d\u52a1\u5747\u57fa\u4e8e \u817e\u8baf\u4e91 \u90e8\u7f72\u3002

\n
\n

Serverless Express \u7ec4\u4ef6\u4e0d\u4ec5\u80fd\u5e2e\u6211\u4eec\u5feb\u901f\u90e8\u7f72 Express \u5e94\u7528\uff0c\u800c\u4e14\u5b83\u8fd8\u63d0\u4f9b\u4e86 \u5b9e\u65f6\u65e5\u5fd7 \u548c \u4e91\u7aef\u8c03\u8bd5 \u7684\u80fd\u529b\u3002

\n

\u53ea\u9700\u8981\u5728\u9879\u76ee\u76ee\u5f55\u4e0b\u6267\u884c serverless dev \u547d\u4ee4\uff0cserverless \u547d\u4ee4\u884c\u5de5\u5177\u5c31\u4f1a\u81ea\u52a8\u76d1\u542c\u9879\u76ee\u4e1a\u52a1\u4ee3\u7801\u7684\u66f4\u6539\uff0c\u5e76\u4e14\u5b9e\u65f6\u90e8\u7f72\uff0c\u540c\u65f6\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u6253\u5f00 Chrome Devtools \u6765\u8c03\u8bd5 Express \u5e94\u7528\u3002

\n
\n

\u5173\u4e8e\u4e91\u7aef\u8c03\u8bd5\uff0c\u817e\u8baf\u4e91 Serverless Framework \u6b63\u5f0f\u53d1\u5e03\u516c\u544a \u4e2d\u6709\u8be6\u7ec6\u7684\u4ecb\u7ecd\uff0c\u5e76\u4e14\u6709\u89c6\u9891\u6f14\u793a\u3002

\n
\n

\u800c\u4e14\u9664\u4e86 Express \u7ec4\u4ef6\uff0c\u8fd8\u652f\u6301\uff1aKoa.js \uff0cEgg.js \uff0cNext.js \uff0cNuxt.js.....

\n

\u53d1\u73b0\u66f4\u591a\u7ec4\u4ef6

\n

\u6700\u540e

\n

\u5f53\u7136 Serverless \u5316 Web \u670d\u52a1\u5e76\u6ca1\u6709\u672c\u6587\u4ecb\u7ecd\u7684\u90a3\u4e48\u7b80\u5355\uff0c\u6bd4\u5982\u6587\u4ef6\u8bfb\u5199\uff0c\u670d\u52a1\u65e5\u5fd7\u5b58\u50a8\uff0cCookie/Session \u5b58\u50a8\u7b49......\u5b9e\u9645\u5f00\u53d1\u4e2d\uff0c\u6211\u4eec\u8fd8\u4f1a\u9762\u4e34\u5404\u79cd\u672a\u77e5\u7684\u5751\uff0c\u4f46\u662f\u6bd4\u8d77\u56f0\u96be\uff0cServerless \u5e26\u7ed9\u6211\u4eec\u7684\u6536\u76ca\u662f\u503c\u5f97\u53bb\u5c1d\u8bd5\u7684\u3002\u5f53\u7136\u4f20\u7edf Web \u670d\u52a1\u771f\u7684\u9002\u5408\u8fc1\u79fb\u5230 Serverless \u67b6\u6784\u4e0a\uff0c\u4e5f\u662f\u503c\u5f97\u6211\u4eec\u53bb\u601d\u8003\u7684\u95ee\u9898\uff0c\u6bd5\u7adf\u73b0\u6709\u7684 Web \u6846\u67b6\u90fd\u662f\u9762\u5411\u4f20\u7edf Web \u670d\u52a1\u5f00\u53d1\u5b9e\u73b0\u7684 \uff08\u63a8\u8350\u9605\u8bfb \u5229\u4e0e\u5f0a-\u4f20\u7edf\u6846\u67b6\u8981\u4e0d\u8981\u90e8\u7f72\u5728 Serverless \u67b6\u6784\u4e0a\uff09\u3002\u4f46\u662f\u7b14\u8005\u76f8\u4fe1\uff0c\u5f88\u5feb\u5c31\u4f1a\u51fa\u73b0\u4e00\u4e2a\u4e13\u95e8\u4e3a Serverless \u800c\u751f\u7684 Web \u6846\u67b6\uff0c\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u66f4\u597d\u5730\u57fa\u4e8e Serverless \u5f00\u53d1\u5e94\u7528 ~

\n
\n

\u6b22\u8fce\u8bbf\u95ee\uff1aServerless \u4e2d\u6587\u793e\u533a

\n" }, { "author": { "url": "member/yuzo555", "name": "yuzo555", "avatar": "https://cdn.v2ex.com/avatar/59c0/0e37/94227_large.png?m=1731399453" }, "url": "t/682894", "date_modified": "2020-06-18T20:16:41+00:00", "content_html": "

\u6211\u600e\u4e48\u611f\u89c9\u5c31\u662f SAE \uff08\u65b0\u6d6a\u4e91\uff09\u7c7b\u4f3c\u4ea7\u54c1\u7684\u4e00\u4e2a\u6362\u76ae\u91cd\u6765\uff1f\u76f8\u6bd4\u4e8e\u66f4\u65e9\u7684\u201c\u865a\u62df\u4e3b\u673a\u201d\uff0c\u4e5f\u5c31\u662f\u591a\u4e86\u4e2a\u8d44\u6e90\u5f39\u6027\u4f7f\u7528\u7684\u7279\u6027\u3002

\n

\u6216\u8005\u8bf4\uff0c\u8fd9\u7c7b Serverless \u4ea7\u54c1\u89e3\u51b3\u4e86\u54ea\u4e9b SAE \u65e0\u6cd5\u5b9e\u73b0\u7684\u75db\u70b9\u5462\uff1f

\n", "date_published": "2020-06-18T20:15:45+00:00", "title": "\u73b0\u5728\u5404\u5927\u4e91\u5382\u5546\u90fd\u5728\u63a8\u5e7f\u7684 Serverless \u4ea7\u54c1\uff0c\u548c\u5f53\u521d\u7684 GAE/SAE/BAE\uff0c\u751a\u81f3\u662f\u66f4\u65e9\u7684\u201c\u865a\u62df\u4e3b\u673a\u201d\uff0c\u4e3b\u8981\u533a\u522b\u5728\u54ea\uff1f", "id": "t/682894" }, { "author": { "url": "member/scf10cent", "name": "scf10cent", "avatar": "https://cdn.v2ex.com/avatar/45ff/a7d1/420644_large.png?m=1578562081" }, "url": "t/682465", "title": "\u524d\u7aef\u798f\u97f3\uff1a Serverless \u548c SSR \u7684\u5929\u4f5c\u4e4b\u5408", "id": "t/682465", "date_published": "2020-06-17T11:33:39+00:00", "content_html": "
\n

\u672c\u6587\u4f5c\u8005\uff1ayugasun\uff0c\u539f\u6587\u5730\u5740\uff1a\u524d\u7aef\u798f\u97f3\uff1aServerless \u548c SSR \u7684\u5929\u4f5c\u4e4b\u5408

\n
\n
\n

\u4ec0\u4e48\u662f SSR

\n

SSR \u987e\u540d\u601d\u4e49\u5c31\u662f Server-Side Render, \u5373\u670d\u52a1\u7aef\u6e32\u67d3\u3002\u539f\u7406\u5f88\u7b80\u5355\uff0c\u5c31\u662f\u670d\u52a1\u7aef\u76f4\u63a5\u6e32\u67d3\u51fa HTML \u5b57\u7b26\u4e32\u6a21\u677f\uff0c\u6d4f\u89c8\u5668\u53ef\u4ee5\u76f4\u63a5\u89e3\u6790\u8be5\u5b57\u7b26\u4e32\u6a21\u7248\u663e\u793a\u9875\u9762\uff0c\u56e0\u6b64\u9996\u5c4f\u7684\u5185\u5bb9\u4e0d\u518d\u4f9d\u8d56 Javascript \u7684\u6e32\u67d3\uff08 CSR - \u5ba2\u6237\u7aef\u6e32\u67d3\uff09\u3002

\n

SSR \u7684\u6838\u5fc3\u4f18\u52bf\uff1a

\n
    \n
  1. \u9996\u5c4f\u52a0\u8f7d\u65f6\u95f4\uff1a\u56e0\u4e3a\u662f HTML \u76f4\u51fa\uff0c\u6d4f\u89c8\u5668\u53ef\u4ee5\u76f4\u63a5\u89e3\u6790\u8be5\u5b57\u7b26\u4e32\u6a21\u7248\u663e\u793a\u9875\u9762\u3002
  2. \n
  3. SEO \u53cb\u597d\uff1a\u6b63\u662f\u56e0\u4e3a\u670d\u52a1\u7aef\u6e32\u67d3\u8f93\u51fa\u5230\u6d4f\u89c8\u5668\u7684\u662f\u5b8c\u5907\u7684 html \u5b57\u7b26\u4e32\uff0c\u4f7f\u5f97\u641c\u7d22\u5f15\u64ce\n\u80fd\u6293\u53d6\u5230\u771f\u5b9e\u7684\u5185\u5bb9\uff0c\u5229\u4e8e SEO \u3002
  4. \n
\n

SSR \u9700\u8981\u6ce8\u610f\u7684\u95ee\u9898\uff1a

\n
    \n
  1. \u867d\u7136 SSR \u80fd\u5feb\u901f\u5448\u73b0\u9875\u9762\uff0c\u4f46\u662f\u5728 UI \u6846\u67b6\uff08\u6bd4\u5982 React \uff09\u52a0\u8f7d\u6210\u529f\u4e4b\u524d\uff0c\u9875\u9762\u662f\u6ca1\u6cd5\u8fdb\u884c UI \u4ea4\u4e92\u7684\u3002
  2. \n
  3. TTFB (Time To First Byte)\uff0c\u5373\u7b2c\u4e00\u5b57\u8282\u65f6\u95f4\u4f1a\u53d8\u957f\uff0c\u56e0\u4e3a SSR \u76f8\u5bf9\u4e8e CSR \u9700\u8981\u5728\u670d\u52a1\u7aef\u6e32\u67d3\u51fa\u66f4\u5bf9\u7684 HTML \u7247\u6bb5\uff0c\u56e0\u6b64\u52a0\u8f7d\u65f6\u95f4\u4f1a\u53d8\u957f\u3002
  4. \n
  5. \u66f4\u591a\u7684\u670d\u52a1\u5668\u7aef\u8d1f\u8f7d\u3002\u7531\u4e8e SSR \u9700\u8981\u4f9d\u8d56 Node.js \u670d\u52a1\u6e32\u67d3\u9875\u9762\uff0c\u663e\u7136\u4f1a\u6bd4\u4ec5\u4ec5\u63d0\u4f9b\u9759\u6001\u6587\u4ef6\u7684 CSR \u5e94\u7528\u9700\u8981\u5360\u7528\u66f4\u591a\u670d\u52a1\u5668 CPU \u8d44\u6e90\u3002\u4ee5 React \u4e3a\u4f8b\uff0c\u5b83\u7684 renderToString() \u65b9\u6cd5\u662f\u540c\u6b65 CPU \u7ed1\u5b9a\u8c03\u7528\uff0c\u8fd9\u5c31\u610f\u5473\u7740\u5728\u5b83\u5b8c\u6210\u4e4b\u524d\uff0c\u670d\u52a1\u5668\u662f\u65e0\u6cd5\u5904\u7406\u5176\u4ed6\u8bf7\u6c42\u7684\u3002\u56e0\u6b64\u5728\u9ad8\u5e76\u53d1\u573a\u666f\uff0c\u9700\u8981\u51c6\u5907\u76f8\u5e94\u7684\u670d\u52a1\u5668\u8d1f\u8f7d\uff0c\u5e76\u4e14\u505a\u597d\u7f13\u5b58\u7b56\u7565\u3002
  6. \n
\n

\u4ec0\u4e48\u662f Serverless

\n

Serverless\uff0c\u5b83\u662f\u4e91\u8ba1\u7b97\u53d1\u5c55\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u7684\u4e00\u79cd\u8ba1\u7b97\u8d44\u6e90\u7684\u62bd\u8c61\uff0c\u4f9d\u8d56\u7b2c\u4e09\u65b9\u670d\u52a1\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u66f4\u52a0\u4e13\u6ce8\u7684\u5f00\u53d1\u81ea\u5df1\u7684\u4e1a\u52a1\u4ee3\u7801\uff0c\u800c\u65e0\u9700\u5173\u5fc3\u5e95\u5c42\u8d44\u6e90\u7684\u5206\u914d\u3001\u6269\u5bb9\u548c\u90e8\u7f72\u3002

\n

\u7279\u70b9\uff1a

\n
    \n
  1. \u5f00\u53d1\u8005\u53ea\u9700\u8981\u4e13\u6ce8\u4e8e\u4e1a\u52a1\uff0c\u65e0\u9700\u5173\u5fc3\u5e95\u5c42\u8d44\u6e90\u7684\u5206\u914d\u3001\u6269\u5bb9\u548c\u90e8\u7f72
  2. \n
  3. \u6309\u9700\u4f7f\u7528\u548c\u6536\u8d39
  4. \n
  5. \u81ea\u52a8\u6269\u7f29\u5bb9
  6. \n
\n

\u66f4\u8be6\u7ec6\u7684\u6709\u5173 Serverless \u4ecb\u7ecd\uff0c\u63a8\u8350\u9605\u8bfb\uff1a\u7cbe\u8bfb\u300a Serverless \u7ed9\u524d\u7aef\u5e26\u6765\u4e86\u4ec0\u4e48\u300b

\n

Serverless + SSR

\n

\u7ed3\u5408 Serverless \u548c SSR \u7684\u7279\u70b9\uff0c\u6211\u4eec\u53ef\u4ee5\u53d1\u73b0\u4ed6\u4eec\u7b80\u76f4\u662f\u5929\u4f5c\u4e4b\u5408\u3002\u501f\u52a9 Serverless\uff0c\u524d\u7aef\u56e2\u961f\u65e0\u9700\u5173\u6ce8 SSR \u670d\u52a1\u5668\u7684\u90e8\u7f72\u3001\u8fd0\u7ef4\u548c\u6269\u5bb9\uff0c\u53ef\u4ee5\u6781\u5927\u5730\u51cf\u5c11\u90e8\u7f72\u8fd0\u7ef4\u6210\u672c\uff0c\u66f4\u597d\u7684\u805a\u7126\u4e1a\u52a1\u5f00\u53d1\uff0c\u63d0\u9ad8\u5f00\u53d1\u6548\u7387\u3002

\n

\u540c\u65f6\u4e5f\u65e0\u9700\u5173\u5fc3 SSR \u670d\u52a1\u5668\u7684\u6027\u80fd\u95ee\u9898\uff0c\u7406\u8bba\u4e0a Serverless \u662f\u53ef\u4ee5\u65e0\u9650\u6269\u5bb9\u7684\uff08\u5f53\u7136\u4e91\u5382\u5546\u5bf9\u4e8e\u4e00\u822c\u7528\u6237\u662f\u6709\u6269\u5bb9\u4e0a\u9650\u7684\uff09\u3002

\n

\u5982\u4f55\u5feb\u901f\u5c06 SSR \u5e94\u7528 Serverless \u5316\uff1f

\n

\u65e2\u7136\u8bf4 Serverless \u5bf9\u4e8e SSR \u6765\u8bf4\u6709\u5929\u7136\u7684\u4f18\u52bf\uff0c\u90a3\u4e48\u6211\u4eec\u5982\u4f55\u5c06 SSR \u5e94\u7528\u8fc1\u79fb\u5230 Serverless \u67b6\u6784\u4e0a\u5462\uff1f

\n

\u672c\u6587\u5c06\u4ee5 Next.js \u6846\u67b6\u4e3a\u4f8b\uff0c\u5e26\u5927\u5bb6\u5feb\u901f\u4f53\u9a8c\u90e8\u7f72\u4e00\u4e2a Serverless SSR \u5e94\u7528\u3002

\n

\u501f\u52a9 Serverless Framework \u7684 Nextjs \u7ec4\u4ef6\uff0c\u57fa\u672c\u53ef\u4ee5\u5b9e\u73b0\u65e0\u7f1d\u8fc1\u79fb\u5230\u817e\u8baf\u4e91\u4e91\u51fd\u6570 SCF \u4e0a\u3002

\n

1. \u521d\u59cb\u5316 Next.js \u9879\u76ee

\n
$ npm init next-app serverless-next\n$ cd serverless-next\n\n# \u7f16\u8bd1\u9759\u6001\u6587\u4ef6\n$ npm run build\n
\n

2. \u5168\u5c40\u5b89\u88c5 Serverless CLI

\n
$ npm install serverless -g\n
\n

3. \u914d\u7f6e severless.yml

\n
org: orgDemo\napp: appDemo\nstage: dev\ncomponent: nextjs\nname: nextjsDemo\n\ninputs:\n src: ./\n functionName: nextjsDemo\n region: ap-guangzhou\n runtime: Nodejs10.15\n exclude:\n - .env\n apigatewayConf:\n protocols:\n - https\n environment: release\n
\n

4. \u90e8\u7f72

\n

\u90e8\u7f72\u65f6\u9700\u8981\u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\uff0c\u5982\u60a8\u7684\u8d26\u53f7\u672a \u767b\u5f55 \u6216 \u6ce8\u518c \u817e\u8baf\u4e91\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7 \u5fae\u4fe1 \u626b\u63cf\u547d\u4ee4\u884c\u4e2d\u7684\u4e8c\u7ef4\u7801\u8fdb\u884c\u6388\u6743\u767b\u9646\u548c\u6ce8\u518c\u3002\u5f53\u7136\u4f60\u4e5f\u53ef\u4ee5\u76f4\u63a5\u5728\u9879\u76ee\u4e0b\u9762\u521b\u5efa .env \u6587\u4ef6\uff0c\u914d\u7f6e\u817e\u8baf\u4e91\u7684 SecretId \u548c SecretKey\u3002\u5982\u4e0b\uff1a

\n
TENCENT_SECRET_ID=123\nTENCENT_SECRET_KEY=123\n
\n

\u6267\u884c\u90e8\u7f72\u547d\u4ee4\uff1a

\n
$ serverless deploy\n
\n
\n

\u4ee5\u4e0b serverless \u547d\u4ee4\u5168\u90e8\u7b80\u5199\u4e3a sls.

\n
\n

\u90e8\u7f72\u6210\u529f\u540e\uff0c\u76f4\u63a5\u8bbf\u95ee API \u7f51\u5173\u751f\u6210\u7684\u57df\u540d\uff0c\u8fd9\u91cc\u662f\u5c31\u53ef\u4ee5\u4e86\u3002

\n
\n

\u7c7b\u4f3c https://service-xxx-xxx.gz.apigw.tencentcs.com/release/ \u8fd9\u79cd\u94fe\u63a5\u3002

\n
\n

\u73b0\u6709 Next.js \u5e94\u7528\u8fc1\u79fb

\n

\u5982\u679c\u4f60\u7684\u9879\u76ee\u662f\u57fa\u4e8e Express.js \u7684\u81ea\u5b9a\u4e49 Server\uff0c\u90a3\u4e48\u9700\u8981\u5728\u9879\u76ee\u6839\u76ee\u5f55\u65b0\u5efa sls.js \u5165\u53e3\u6587\u4ef6\uff0c\u53ea\u9700\u8981\u5c06\u539f\u6765\u542f\u52a8 Node.js Server \u7684\u5165\u53e3\u6587\u4ef6\u590d\u5236\u5230 sls.js \u4e2d\uff0c\u7136\u540e\u8fdb\u884c\u5c11\u91cf\u6539\u9020\u5c31\u597d\uff0c\u9ed8\u8ba4\u5165\u53e3 sls.js \u6587\u4ef6\u5982\u4e0b\uff1a

\n
const express = require('express');\nconst next = require('next');\nconst app = next({ dev: false });\nconst handle = app.getRequestHandler();\n\n// \u5c06\u539f\u6765\u7684\u670d\u52a1\u903b\u8f91\u653e\u5165\u5230\u5f02\u6b65\u51fd\u6570 `createServer()`\u4e2d\nasync function createServer() {\n // \u5185\u90e8\u5185\u5bb9\u9700\u8981\u6839\u636e\u9879\u76ee\u9700\u6c42\u8fdb\u884c\u4fee\u6539\u5c31\u597d\uff0c\u57fa\u672c\u662f\u4f60\u7684 `server.js` \u7684\u539f\u4ee3\u7801\n await app.prepare();\n const server = express();\n\n server.all('*', (req, res) => {\n return handle(req, res);\n });\n\n // \u5b9a\u4e49\u8fd4\u56de\u4e8c\u8fdb\u5236\u6587\u4ef6\u7c7b\u578b\n // \u7531\u4e8e Next.js \u6846\u67b6\u9ed8\u8ba4\u5f00\u542f `gzip`\uff0c\u6240\u4ee5\u8fd9\u91cc\u9700\u8981\u914d\u5408\u4e3a `['*/*']`\n // \u5982\u679c\u9879\u76ee\u5173\u95ed\u4e86 `gzip` \u538b\u7f29\uff0c\u90a3\u4e48\u5bf9\u4e8e\u56fe\u7247\u7c7b\u6587\u4ef6\uff0c\u9700\u8981\u5b9a\u5236\u5316\u914d\u7f6e\uff0c\u6bd4\u5982 `['image/jpeg', 'image/png']`\n server.binaryTypes = ['*/*'];\n\n return server;\n}\n\n// export \u51fd\u6570 createServer()\nmodule.exports = createServer;\n
\n

\u6dfb\u52a0\u5165\u53e3\u6587\u4ef6\u540e\uff0c\u91cd\u65b0\u6267\u884c\u90e8\u7f72\u547d\u4ee4 sls deploy \u5c31 OK \u4e86\u3002

\n

Serverless \u90e8\u7f72\u65b9\u6848\u7684\u4f18\u5316

\n

\u81f3\u6b64\uff0c\u6211\u4eec\u5df2\u7ecf\u6210\u529f\u5c06\u6574\u4e2a Next.js \u5e94\u7528\u8fc1\u79fb\u5230\u817e\u8baf\u4e91\u7684 Serverless \u67b6\u6784\u4e0a\u4e86\uff0c\u4f46\u662f\u8fd9\u91cc\u6709\u4e2a\u95ee\u9898\uff0c\u5c31\u662f\u6240\u6709\u7684\u9759\u6001\u8d44\u6e90\u90fd\u90e8\u7f72\u5230\u4e86\u4e91\u51fd\u6570 SCF \u4e2d\uff0c\u8fd9\u5c31\u5bfc\u81f4\u6211\u4eec\u6bcf\u6b21\u9875\u9762\u8bf7\u6c42\u7684\u540c\u65f6\uff0c\u4f1a\u4ea7\u751f\u5f88\u591a\u9759\u6001\u6e90\u8bf7\u6c42\uff0c\u5bf9\u4e8e SCF \u6765\u8bf4\u540c\u4e00\u65f6\u95f4\u5e76\u53d1\u4f1a\u6bd4\u8f83\u9ad8\uff0c\u800c\u4e14\u5f88\u5bb9\u6613\u9020\u6210\u51b7\u542f\u52a8\u3002\u800c\u4e14\u5927\u91cf\u9759\u6001\u8d44\u6e90\u901a\u8fc7 SCF \u8f93\u51fa\uff0c\u7136\u540e\u7ecf\u8fc7 API \u7f51\u5173\u8fd4\u56de\uff0c\u4f1a\u989d\u5916\u589e\u52a0\u94fe\u8def\u957f\u5ea6\uff0c\u4e5f\u4f1a\u5bfc\u81f4\u9759\u6001\u8d44\u6e90\u52a0\u8f7d\u6162\uff0c\u65e0\u5f62\u4e2d\u4e5f\u4f1a\u62d6\u7d2f\u7f51\u9875\u7684\u52a0\u8f7d\u901f\u5ea6\u3002

\n

\u4e91\u5382\u5546\u4e00\u822c\u4f1a\u63d0\u4f9b\u4e91\u5bf9\u8c61\u5b58\u50a8\u529f\u80fd\uff0c\u817e\u8baf\u4e91\u53eb COS \uff08\u5bf9\u8c61\u5b58\u50a8\uff09\uff0c\u7528\u5b83\u6765\u5b58\u50a8\u6211\u4eec\u7684\u9759\u6001\u8d44\u6e90\u6709\u5929\u7136\u7684\u4f18\u52bf\u3002\u800c\u4e14\u5f00\u59cb\u4f7f\u7528\u6709 50GB!!! \u7684\u514d\u8d39\u5bb9\u91cf\uff08\u7528\u6765\u5b58\u559c\u7231\u7684\u9ad8\u6e05\u7535\u5f71\u4e5f\u662f\u4e0d\u9519\u7684\u5427~\uff09\u3002

\n

\u8981\u662f\u5728\u6211\u4eec\u9879\u76ee\u90e8\u7f72\u65f6\uff0c\u5c06\u9759\u6001\u8d44\u6e90\u7edf\u4e00\u4e0a\u4f20\u5230 COS\uff0c\u7136\u540e\u9759\u6001\u9875\u9762\u901a\u8fc7 SCF \u6e32\u67d3\uff0c\u8fd9\u6837\u65e2\u652f\u6301\u4e86 SSR\uff0c\u4e5f\u89e3\u51b3\u4e86\u9759\u6001\u8d44\u6e90\u8bbf\u95ee\u95ee\u9898\u3002\u800c\u4e14 COS \u4e5f\u652f\u6301 CDN \u52a0\u901f\uff0c\u8fd9\u6837\u9759\u6001\u8d44\u6e90\u4f18\u5316\u5c31\u66f4\u52a0\u65b9\u4fbf\u3002

\n

\u90a3\u4e48\u6211\u4eec\u5982\u4f55\u5c06\u9759\u6001\u8d44\u6e90\u4e0a\u4f20\u5230 COS \u5462\uff1f

\n

\u666e\u901a\u9752\u5e74\u505a\u6cd5

\n
\u767b\u5f55 [\u817e\u8baf\u4e91 COS \u63a7\u5236\u53f0]( https://console.cloud.tencent.com/cos5) -> \u521b\u5efa\u5b58\u50a8\u6876 -> \u83b7\u53d6 COS \u8bbf\u95ee\u94fe\u63a5 -> \u6784\u5efa Next.js \u9879\u76ee -> \u70b9\u51fb COS \u4e0a\u4f20\u6309\u94ae -> \u9009\u62e9\u4e0a\u4f20\u6587\u4ef6 -> \u5f00\u59cb\u4e0a\u4f20 -> \u5b8c\u6210\n
\n

\u6587\u827a\u9752\u5e74\u505a\u6cd5

\n
\u914d\u7f6e COS \u7ec4\u4ef6 -> \u6784\u5efa Next.js \u9879\u76ee -> \u6267\u884c\u90e8\u7f72 COS \u7ec4\u4ef6\u547d\u4ee4 -> \u5b8c\u6210\n
\n

\u63a5\u4e0b\u6765\u6211\u4eec\u4e00\u8d77\u5b66\u4e60\u4e0b\u6587\u827a\u9752\u5e74\u662f\u5982\u4f55\u505a\u7684\u3002

\n

\u5728\u9879\u76ee\u4e0b\u521b\u5efa COS \u6587\u4ef6\u5939\uff0c\u521b\u5efa cos/serverless.yml \u914d\u7f6e\u6587\u4ef6\uff1a

\n
org: orgDemo\napp: appDemo\nstage: dev\ncomponent: cos\nname: serverless-cos\n\ninputs:\n # src \u914d\u7f6e\u6210\u4f60\u7684 next \u9879\u76ee\u6784\u5efa\u7684\u76ee\u6807\u76ee\u5f55\n src: ../.next/static\n # \u7531\u4e8e next \u6846\u67b6\u5728\u8bbf\u95ee\u9759\u6001\u6587\u4ef6\u4f1a\u81ea\u52a8\u9644\u52a0 _next \u524d\u7f00\uff0c\u6240\u4ee5\u8fd9\u91cc\u9700\u8981\u914d\u7f6e\u4e0a\u4f20 COS \u7684\u76ee\u6807\u76ee\u5f55\u4e3a /_next\n targetDir: /_next/static\n bucket: serverless-bucket\n region: ap-guangzhou\n protocol: https\n acl:\n permissions: public-read\n
\n

\u6839\u636e COS \u8bbf\u95ee\u94fe\u63a5\u751f\u6210\u89c4\u5219\uff1a

\n
<protocol>://<bucket-name>-<appid>.cos.<region>.myqcloud.com\n
\n

\u53ef\u4ee5\u76f4\u63a5\u63a8\u65ad\u51fa\u90e8\u7f72\u540e\u7684\u8bbf\u95ee URL \u4e3a\uff1ahttps://serverless-bucket-1251556596.cos.ap-guangzhou.myqcloud.com

\n

\u7136\u540e\u5728\u9879\u76ee\u66f4\u76ee\u5f55\u65b0\u5efa next.config.js \u6587\u4ef6\uff0c\u914d\u7f6e assetPrefix \u4e3a\u8be5\u94fe\u63a5\uff1a

\n
const isProd = process.env.NODE_ENV === 'production';\nmodule.exports = {\n assetPrefix: isProd\n ? 'https://serverless-bucket-1251556596.cos.ap-guangzhou.myqcloud.com'\n : '',\n};\n
\n
\n

\u6ce8\u610f\uff1a\u5982\u679c\u4f60\u662f\u76f4\u63a5\u7ed9\u8be5 COS \u914d\u7f6e\u4e86 CDN \u57df\u540d\u3002

\n
\n

\u7136\u540e\u6267\u884c\u6784\u5efa\uff1a

\n
$ npm run build\n
\n

\u7136\u540e\u90e8\u7f72\u547d\u4ee4\u65b0\u589e\u90e8\u7f72\u5230 cos \u547d\u4ee4\u6267\u884c\u5c31\u597d\uff1a

\n
$ sls deploy --target=./cos && sls deploy\n
\n

\u7136\u540e\u6211\u4eec\u5c31\u53ef\u4ee5\u8010\u5fc3\u7b49\u5f85\u90e8\u7f72\u5b8c\u6210\u3002

\n

Serverless + Next.js \u90e8\u7f72\u6d41\u7a0b\u56fe

\n

\u4f18\u5316\u540e\u9879\u76ee\u6574\u4f53\u90e8\u7f72\u6d41\u7a0b\u56fe\u5982\u4e0b\uff1a

\n<center>\n\"Depoy\n</center>\n

\u8d77\u521d\u867d\u7136\u770b\u8d77\u6765\u6b65\u9aa4\u5f88\u591a\uff0c\u4f46\u662f\u9879\u76ee\u914d\u7f6e\u4e00\u6b21\u540e\uff0c\u4e4b\u540e\u90e8\u7f72\uff0c\u53ea\u9700\u8981\u6267\u884c\u6784\u5efa\u548c\u90e8\u7f72\u547d\u4ee4\uff0c\u5c31\u53ef\u4ee5\u4e86\u3002

\n

\u6027\u80fd\u5206\u6790

\n

\u4f9d\u8d56 Serverless Component, \u867d\u7136\u6211\u4eec\u53ef\u4ee5\u5feb\u901f\u90e8\u7f72 SSR \u5e94\u7528\u3002\u4f46\u662f\u5bf9\u4e8e\u5f00\u53d1\u8005\u6765\u8bf4\uff0c\u6027\u80fd\u624d\u662f\u6700\u91cd\u8981\u7684\u3002\u90a3\u4e48 Serverless \u65b9\u6848\u7684\u6027\u80fd\u8868\u73b0\u5982\u4f55\u5462\uff1f

\n

\u4e3a\u4e86\u8ddf\u4f20\u7edf\u7684 SSR \u670d\u52a1\u505a\u5bf9\u6bd4\uff0c\u6211\u4e13\u95e8\u627e\u4e86\u4e00\u53f0 CVM \uff08\u817e\u8baf\u4e91\u670d\u52a1\u5668\uff09\uff0c\u7136\u540e\u90e8\u7f72\u76f8\u540c\u7684 Next.js \u5e94\u7528\u3002\u5206\u522b\u8fdb\u884c\u538b\u6d4b\u548c\u6027\u80fd\u5206\u6790\u3002

\n

\u538b\u6d4b\u914d\u7f6e\u5982\u4e0b\uff1a

\n

| \u8d77\u59cb\u4eba\u6570 | \u6bcf\u9636\u6bb5\u589e\u52a0\u4eba\u6570 | \u6bcf\u9636\u6bb5\u6301\u7eed\u65f6\u95f4(s) | \u6700\u5927\u4eba\u6570 | \u53d1\u5305\u95f4\u9694\u65f6\u95f4(ms) | \u8d85\u65f6\u65f6\u95f4(ms) |\n| -------- | -------------- | ----------------- | -------- | ---------------- | ------------ |\n| 5 | 5 | 30 | 100 | 0 | 10000 |

\n
\n

\u672c\u6587\u538b\u6d4b\u4f7f\u7528\u7684\u662f \u817e\u8baf WeTest\u3002

\n
\n

\u9875\u9762\u8bbf\u95ee\u6027\u80fd\u5bf9\u6bd4

\n

\u5747\u4f7f\u7528 Chrome \u6d4f\u89c8\u5668

\n

| \u65b9\u6848 | \u914d\u7f6e | TTFB | FCP | TTI |\n| :---------------- | :---------------------: | :-----: | :--: | :--: |\n| \u817e\u8baf\u4e91 CVM | 2 \u6838\uff0c4G \u5185\u5b58\uff0c10M \u5e26\u5bbd | 50.12ms | 2.0s | 2.1s |\n| \u817e\u8baf\u4e91 Serverless | 128M \u5185\u5b58 | 69.88ms | 2.0s | 2.2s |

\n

\u538b\u6d4b\u6027\u80fd\u5bf9\u6bd4

\n

1.\u54cd\u5e94\u65f6\u95f4\uff1a

\n<center>\n\"CVM\n</center>\n<center>\n\"Serverless\n</center>\n

| \u65b9\u6848 | \u914d\u7f6e | \u6700\u5927\u54cd\u5e94\u65f6\u95f4 | P95 \u8017\u65f6 | P50 \u8017\u65f6 | \u5e73\u5747\u54cd\u5e94\u65f6\u95f4 |\n| :---------------- | :---------------------: | :----------: | :------: | :------: | :----------: |\n| \u817e\u8baf\u4e91 CVM | 2 \u6838\uff0c4G \u5185\u5b58\uff0c10M \u5e26\u5bbd | 8830ms | 298ms | 35ms | 71.05 ms |\n| \u817e\u8baf\u4e91 Serverless | 128M \u5185\u5b58 | 1733ms | 103ms | 73ms | 76.78 ms |

\n

2.TPS:

\n<center>\n\"CVM\n</center>\n<center>\n\"Serverless\n</center>\n

| \u65b9\u6848 | \u914d\u7f6e | \u5e73\u5747 TPS |\n| :---------------- | :---------------------: | --------- |\n| \u817e\u8baf\u4e91 CVM | 2 \u6838\uff0c4G \u5185\u5b58\uff0c10M \u5e26\u5bbd | 727.09 /s |\n| \u817e\u8baf\u4e91 Serverless | 128M \u5185\u5b58 | 675.59 /s |

\n

\u4ef7\u683c\u9884\u7b97\u5bf9\u6bd4

\n

\u76f4\u63a5\u4e0a\u56fe\uff1a

\n<center>\n\"CVM\n</center>\n

\u5bf9\u6bd4\u5206\u6790

\n

\u4ece\u5355\u7528\u6237\u8bbf\u95ee\u9875\u9762\u6027\u80fd\u8868\u73b0\u6765\u770b Serverless \u65b9\u6848\u7565\u900a\u4e8e\u670d\u52a1\u5668\u65b9\u6848\uff0c\u4f46\u662f\u9875\u9762\u6027\u80fd\u6307\u6807\u662f\u53ef\u4ee5\u4f18\u5316\u7684\u3002\u4ece\u538b\u6d4b\u6765\u770b\uff0c\u867d\u7136 Serverless \u7684 \u5e73\u5747\u54cd\u5e94\u65f6\u95f4 \u7565\u5927\u4e8e CVM\uff0c\u4f46\u662f \u6700\u5927\u54cd\u5e94\u65f6\u95f4 \u548c P95 \u8017\u65f6 \u5747\u4f18\u4e8e CVM \u5f88\u591a\uff0cCVM \u7684\u6700\u5927\u54cd\u5e94\u65f6\u95f4\u751a\u81f3\u63a5\u8fd1 Serverless \u7684 3 \u500d\u3002\u800c\u4e14\u5f53\u5e76\u53d1\u91cf\u9010\u6e10\u589e\u5927\u65f6\uff0cCVM \u7684\u54cd\u5e94\u65f6\u95f4\u53d8\u5316\u660e\u663e\uff0c\u800c\u4e14\u8d8a\u6765\u8d8a\u5927\uff0c\u800c Serverless \u5219\u8868\u73b0\u5e73\u7a33\uff0c\u9664\u4e86\u6781\u4e2a\u522b\u7684\u51b7\u542f\u52a8\uff0c\u57fa\u672c\u80fd\u5728 200ms \u4ee5\u5185\u3002

\n

\u7531\u6b64\u53ef\u4ee5\u770b\u51fa\uff0c\u968f\u7740\u5e76\u53d1\u7684\u589e\u52a0\uff0cSSR \u4f1a\u5bfc\u81f4\u670d\u52a1\u5668\u8d1f\u8377\u8d8a\u6765\u8d8a\u5927\uff0c\u4ece\u800c\u4f1a\u52a0\u5927\u670d\u52a1\u5668\u7684\u54cd\u5e94\u65f6\u95f4\uff1b\u800c Serverless \u7531\u4e8e\u5177\u6709\u81ea\u52a8\u6269\u7f29\u7684\u80fd\u529b\uff0c\u6240\u4ee5\u76f8\u5bf9\u6bd4\u8f83\u5e73\u7a33\u3002

\n

\u5f53\u7136\u7531\u4e8e\u6d4b\u8bd5\u6761\u4ef6\u6709\u9650\uff0c\u53ef\u80fd\u4f1a\u6709\u8003\u8651\u4e0d\u591f\u5168\u9762\u7684\u5730\u65b9\uff0c\u4f46\u662f\u4ece\u538b\u6d4b\u56fe\u5f62\u6765\u770b\uff0c\u662f\u5b8c\u5168\u7b26\u5408\u7406\u8bba\u9884\u671f\u7684\u3002

\n

\u4f46\u662f\u4ece\u4ef7\u683c\u5bf9\u6bd4\u6765\u770b\uff0c\u63a5\u8fd1\u914d\u7f6e\u7684 Serverless \u65b9\u6848\u57fa\u672c\u4e0d\u600e\u4e48\u82b1\u94b1\uff0c\u751a\u81f3\u5f88\u591a\u65f6\u5019\uff0c\u514d\u8d39\u989d\u5ea6\u5c31\u5df2\u7ecf\u53ef\u4ee5\u6ee1\u8db3\u9700\u6c42\u4e86\uff0c\u8fd9\u91cc\u4e3a\u4e86\u589e\u52a0 Serverless \u8d39\u7528\uff0c\u4f30\u8ba1\u8c03\u5927\u4e86\u8c03\u7528\u6b21\u6570\uff0c\u5185\u5b58\u5927\u5c0f\uff0c\u4f46\u662f\u5373\u4fbf\u5982\u6b64\uff0c\u670d\u52a1\u5668\u65b9\u6848\u8fd8\u662f\u63a5\u8fd1 Serverless \u65b9\u6848\u7684 10 \u500d!!!!!\u3002

\n

\u6700\u540e

\n

\u5199\u5230\u8fd9\uff0c\u4f5c\u4e3a\u4e00\u540d\u524d\u7aef\u5f00\u53d1\uff0c\u6211\u7684\u5185\u5fc3\u662f\u65e0\u6bd4\u6fc0\u52a8\u7684\u3002\u8bb0\u5f97\u4ee5\u524d\u5728\u9879\u76ee\u4e2d\u4e3a\u4e86\u4f18\u5316\u9996\u5c4f\u65f6\u95f4\u548c SEO\uff0c\u5c31\u505a\u4e2a\u597d\u51e0\u4e2a\u65b9\u6848\u7684\u5bf9\u6bd4\uff0c\u4f46\u662f\u6700\u7ec8\u56e0\u4e3a\u516c\u53f8\u8fd0\u7ef4\u56e2\u961f\u7684\u4e0d\u591f\u914d\u5408\uff0c\u6700\u540e\u653e\u5f03\u4e86 SSR\uff0c\u6700\u540e\u9009\u62e9\u4e86\u524d\u7aef\u53ef\u638c\u63a7\u7684 \u9884\u6e32\u67d3\u65b9\u6848\u3002\u73b0\u5728\u6709\u4e86 Serverless\uff0c\u524d\u7aef\u7ec8\u4e8e\u4e0d\u7528\u53d7\u8fd0\u7ef4\u7684\u9650\u5236\uff0c\u53ef\u4ee5\u57fa\u4e8e Serverless \u6765\u5927\u80c6\u7684\u5c1d\u8bd5 SSR \u3002\u800c\u4e14\u501f\u52a9 Serverless\uff0c\u524d\u7aef\u8fd8\u53ef\u4ee5\u505a\u7684\u66f4\u591a\u3002

\n

\u5f53\u7136\u771f\u6b63\u7684 SSR \u5e76\u4e0d\u6b62\u5982\u6b64\uff0c\u8981\u8fbe\u5230\u9875\u9762\u6781\u81f4\u4f53\u9a8c\u6211\u4eec\u8fd8\u9700\u8981\u505a\u5f88\u591a\u5de5\u4f5c\uff0c\u6bd4\u5982\uff1a

\n
    \n
  1. \u9759\u6001\u8d44\u6e90\u90e8\u7f72\u5230 CDN
  2. \n
  3. \u9875\u9762\u7f13\u5b58
  4. \n
  5. \u964d\u7ea7\u5904\u7406
  6. \n
  7. ...
  8. \n
\n

\u4f46\u662f\u8fd9\u4e9b\u65e0\u8bba\u662f\u90e8\u7f72\u5230\u670d\u52a1\u5668\u8fd8\u662f Serverless\uff0c\u90fd\u662f\u6211\u4eec\u9700\u8981\u505a\u7684\u5de5\u4f5c\u3002\u5e76\u4e0d\u4f1a\u6210\u4e3a\u6211\u4eec\u5c06 SSR \u90e8\u7f72\u5230 Serverless \u7684\u7eca\u811a\u77f3\u3002

\n

\u5982\u679c\u4f60\u5bf9 Serverless Component \u5f00\u53d1\u611f\u5174\u8da3\uff0c\u6b22\u8fce\u4e00\u8d77\u5b66\u4e60\u8ba8\u8bba\u3002

\n

\u6b22\u8fce\u8bbf\u95ee\uff1aServerless \u4e2d\u6587\u7f51

\n" }, { "author": { "url": "member/leishi1313", "name": "leishi1313", "avatar": "https://cdn.v2ex.com/avatar/3544/f0b9/254758_large.png?m=1747320912" }, "url": "t/675937", "date_modified": "2020-05-27T05:23:55+00:00", "content_html": "

\u4e4b\u524d\u505a\u4e86\u8fd9\u4e2a\uff0c\u5728 lambda \u4e0a\u8dd1\u7684 headless chrome \u3002

\n

\u8fd9\u6b21\u770b\u4e0a\u4e86\u817e\u8baf\u5bb6\u7684\u4e91\u51fd\u6570\uff0c\u4e3b\u8981\u662f\u56fd\u5185\u7684\u5382\u6709\u56fd\u5185\u7684\u8282\u70b9\uff0c\u53ef\u4ee5\u505a\u4e00\u4e9b\u4e8b\u60c5\u3002

\n

\u76f4\u63a5\u8dd1 lambda \u7684\u7248\u672c\u662f\u8dd1\u4e0d\u8d77\u6765\u7684\uff0c\u53ea\u80fd\u81ea\u5df1\u91cd\u65b0\u7f16\u8bd1\u4e86\u4e2a chromium\uff0c\u7ec8\u4e8e\u53ef\u4ee5\u7528\u4e86\uff0c\u9879\u76ee\u5728\u8fd9\u513f\uff0c\u6709\u8fd9\u9700\u6c42\u7684\u53ef\u4ee5\u6765\u770b\u770b\uff0c\u70b9\u4e2a\u661f\u661f\u4ec0\u4e48\u7684

\n", "date_published": "2020-05-27T05:08:00+00:00", "title": "\u6211\u53c8\u5f00\u59cb\u9f13\u6363 serverless \u7684\u65e0\u5934\u6d4f\u89c8\u5668\u4e86", "id": "t/675937" }, { "author": { "url": "member/Aceyclee", "name": "Aceyclee", "avatar": "https://cdn.v2ex.com/avatar/34fc/02c7/207049_large.png?m=1585879734" }, "url": "t/675691", "title": "\u57fa\u4e8e Serverless \u4e0e Websocket \u7684\u804a\u5929\u5de5\u5177\u5b9e\u73b0", "id": "t/675691", "date_published": "2020-05-26T09:23:55+00:00", "content_html": "

\u4f20\u7edf\u4e1a\u52a1\u5b9e\u73b0 Websocket \u5e76\u4e0d\u96be\uff0c\u7136\u800c\u51fd\u6570\u8ba1\u7b97\u57fa\u672c\u4e0a\u90fd\u662f\u4e8b\u4ef6\u9a71\u52a8\uff0c\u4e0d\u652f\u6301\u957f\u94fe\u63a5\u64cd\u4f5c\u3002\u5982\u679c\u5c06\u51fd\u6570\u8ba1\u7b97\u4e0e API \u7f51\u5173\u7ed3\u5408\uff0c\u662f\u5426\u53ef\u4ee5\u6709 Websocket \u7684\u5b9e\u73b0\u65b9\u6848\u5462\uff1f

\n

API \u7f51\u5173\u89e6\u53d1\u5668\u5b9e\u73b0 Websocket

\n

WebSocket \u534f\u8bae\u662f\u57fa\u4e8e TCP \u7684\u4e00\u79cd\u65b0\u7684\u7f51\u7edc\u534f\u8bae\u3002\u5b83\u5b9e\u73b0\u4e86\u6d4f\u89c8\u5668\u4e0e\u670d\u52a1\u5668\u5168\u53cc\u5de5 (full-duplex) \u901a\u4fe1\uff0c\u5373\u5141\u8bb8\u670d\u52a1\u5668\u4e3b\u52a8\u53d1\u9001\u4fe1\u606f\u7ed9\u5ba2\u6237\u7aef\u3002WebSocket \u5728\u670d\u52a1\u7aef\u6709\u6570\u636e\u63a8\u9001\u9700\u6c42\u65f6\uff0c\u53ef\u4ee5\u4e3b\u52a8\u53d1\u9001\u6570\u636e\u81f3\u5ba2\u6237\u7aef\u3002\u800c\u539f\u6709 HTTP \u534f\u8bae\u7684\u670d\u52a1\u7aef\u5bf9\u4e8e\u9700\u63a8\u9001\u7684\u6570\u636e\uff0c\u4ec5\u80fd\u901a\u8fc7\u8f6e\u8be2\u6216 long poll \u7684\u65b9\u5f0f\u6765\u8ba9\u5ba2\u6237\u7aef\u83b7\u5f97\u3002

\n

\u7531\u4e8e\u4e91\u51fd\u6570\u662f\u65e0\u72b6\u6001\u4e14\u4ee5\u89e6\u53d1\u5f0f\u8fd0\u884c\uff0c\u5373\u5728\u6709\u4e8b\u4ef6\u5230\u6765\u65f6\u624d\u4f1a\u88ab\u89e6\u53d1\u3002\u56e0\u6b64\uff0c\u4e3a\u4e86\u5b9e\u73b0 WebSocket\uff0c\u4e91\u51fd\u6570 SCF \u4e0e API \u7f51\u5173\u76f8\u7ed3\u5408\uff0c\u901a\u8fc7 API \u7f51\u5173\u627f\u63a5\u53ca\u4fdd\u6301\u4e0e\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u3002\u60a8\u53ef\u4ee5\u8ba4\u4e3a\u4e91\u51fd\u6570\u4e0e API \u7f51\u5173\u4e00\u8d77\u5b9e\u73b0\u4e86\u670d\u52a1\u7aef\u3002\u5f53\u5ba2\u6237\u7aef\u6709\u6d88\u606f\u53d1\u51fa\u65f6\uff0c\u4f1a\u5148\u4f20\u9012\u7ed9 API \u7f51\u5173\uff0c\u518d\u7531 API \u7f51\u5173\u89e6\u53d1\u4e91\u51fd\u6570\u6267\u884c\u3002\u5f53\u670d\u52a1\u7aef\u4e91\u51fd\u6570\u8981\u5411\u5ba2\u6237\u7aef\u53d1\u9001\u6d88\u606f\u65f6\uff0c\u4f1a\u5148\u7531\u4e91\u51fd\u6570\u5c06\u6d88\u606f POST \u5230 API \u7f51\u5173\u7684\u53cd\u5411\u63a8\u9001\u94fe\u63a5\uff0c\u518d\u7531 API \u7f51\u5173\u5411\u5ba2\u6237\u7aef\u5b8c\u6210\u6d88\u606f\u7684\u63a8\u9001\u3002

\n

\u5177\u4f53\u7684\u5b9e\u73b0\u67b6\u6784\u5982\u4e0b\uff1a

\n

\"\u5b9e\u73b0\u67b6\u6784\"

\n

\u5bf9\u4e8e WebSocket \u7684\u6574\u4e2a\u751f\u547d\u5468\u671f\uff0c\u4e3b\u8981\u7531\u4ee5\u4e0b\u51e0\u4e2a\u4e8b\u4ef6\u7ec4\u6210\uff1a

\n\n

\u5bf9\u4e8e WebSocket \u6574\u4e2a\u751f\u547d\u5468\u671f\u7684\u4e8b\u4ef6\uff0c\u4e91\u51fd\u6570\u548c API \u7f51\u5173\u7684\u5904\u7406\u8fc7\u7a0b\u5982\u4e0b\uff1a

\n\n

\u56e0\u6b64\uff0c\u4e91\u51fd\u6570\u4e0e API \u7f51\u5173\u4e4b\u95f4\u7684\u4ea4\u4e92\uff0c\u9700\u8981\u7531 3 \u7c7b\u4e91\u51fd\u6570\u6765\u627f\u8f7d\uff1a

\n\n

Websocket \u529f\u80fd\u5b9e\u73b0

\n

\u6839\u636e\u817e\u8baf\u4e91\u5b98\u7f51\u63d0\u4f9b\u7684\u8be5\u529f\u80fd\u7684\u6574\u4f53\u67b6\u6784\u56fe\uff1a

\n

\"\u6574\u4f53\u67b6\u6784\u56fe\"

\n

\u8fd9\u91cc\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5bf9\u8c61\u5b58\u50a8 COS \u4f5c\u4e3a\u6301\u4e45\u5316\u7684\u65b9\u6848\uff0c\u5f53\u7528\u6237\u5efa\u7acb\u94fe\u63a5\u5b58\u50a8 ConnectionId \u5230 COS \u4e2d\uff0c\u5f53\u7528\u6237\u65ad\u5f00\u8fde\u63a5\u5220\u9664\u8be5\u94fe\u63a5 ID \u3002

\n

\u5176\u4e2d\u6ce8\u518c\u51fd\u6570\uff1a

\n
# -*- coding: utf8 -*-\nimport os\nfrom qcloud_cos_v5 import CosConfig\nfrom qcloud_cos_v5 import CosS3Client\n\nbucket = os.environ.get('bucket')\nregion = os.environ.get('region')\nsecret_id = os.environ.get('secret_id')\nsecret_key = os.environ.get('secret_key')\ncosClient = CosS3Client(CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key))\n\n\ndef main_handler(event, context):\n print(\"event is %s\" % event)\n\n cOnnectionID= event['websocket']['secConnectionID']\n\n retmsg = {}\n retmsg['errNo'] = 0\n retmsg['errMsg'] = \"ok\"\n retmsg['websocket'] = {\n \"action\": \"connecting\",\n \"secConnectionID\": connectionID\n }\n\n cosClient.put_object(\n Bucket=bucket,\n Body='websocket'.encode(\"utf-8\"),\n Key=str(connectionID),\n EnableMD5=False\n )\n\n return retmsg\n\n
\n

\u4f20\u8f93\u51fd\u6570\uff1a

\n
# -*- coding: utf8 -*-\nimport os\nimport json\nimport requests\nfrom qcloud_cos_v5 import CosConfig\nfrom qcloud_cos_v5 import CosS3Client\n\nbucket = os.environ.get('bucket')\nregion = os.environ.get('region')\nsecret_id = os.environ.get('secret_id')\nsecret_key = os.environ.get('secret_key')\ncosClient = CosS3Client(CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key))\n\nsendbackHost = os.environ.get(\"url\")\n\n\ndef Get_ConnectionID_List():\n respOnse= cosClient.list_objects(\n Bucket=bucket,\n )\n return [eve['Key'] for eve in response['Contents']]\n\n\ndef send(connectionID, data):\n retmsg = {}\n retmsg['websocket'] = {}\n retmsg['websocket']['action'] = \"data send\"\n retmsg['websocket']['secConnectionID'] = connectionID\n retmsg['websocket']['dataType'] = 'text'\n retmsg['websocket']['data'] = data\n requests.post(sendbackHost, json=retmsg)\n\n\ndef main_handler(event, context):\n print(\"event is %s\" % event)\n\n connectionID_List = Get_ConnectionID_List()\n cOnnectionID= event['websocket']['secConnectionID']\n count = len(connectionID_List)\n data = event['websocket']['data'] + \"(===Online people:\" + str(count) + \"===)\"\n for ID in connectionID_List:\n if ID != connectionID:\n send(ID, data)\n\n return \"send success\"\n\n
\n

\u6e05\u7406\u51fd\u6570\uff1a

\n
# -*- coding: utf8 -*-\nimport os\nimport requests\nfrom qcloud_cos_v5 import CosConfig\nfrom qcloud_cos_v5 import CosS3Client\n\nbucket = os.environ.get('bucket')\nregion = os.environ.get('region')\nsecret_id = os.environ.get('secret_id')\nsecret_key = os.environ.get('secret_key')\ncosClient = CosS3Client(CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key))\n\nsendbackHost = os.environ.get(\"url\")\n\n\ndef main_handler(event, context):\n print(\"event is %s\" % event)\n\n cOnnectionID= event['websocket']['secConnectionID']\n\n retmsg = {}\n retmsg['websocket'] = {}\n retmsg['websocket']['action'] = \"closing\"\n retmsg['websocket']['secConnectionID'] = connectionID\n requests.post(sendbackHost, json=retmsg)\n\n cosClient.delete_object(\n Bucket=bucket,\n Key=str(connectionID),\n )\n\n return event\n\n
\n

Yaml \u6587\u4ef6\u5982\u4e0b\uff1a

\n
Conf:\n component: \"serverless-global\"\n inputs:\n region: ap-guangzhou\n bucket: chat-cos-1256773370\n secret_id: \n secret_key: \n\nmyBucket:\n component: '@serverless/tencent-cos'\n inputs:\n bucket: ${Conf.bucket}\n region: ${Conf.region}\n\nrestApi:\n component: '@serverless/tencent-apigateway'\n inputs:\n region: ${Conf.region}\n protocols:\n - http\n - https\n serviceName: ChatDemo\n environment: release\n endpoints:\n - path: /\n method: GET\n protocol: WEBSOCKET\n serviceTimeout: 800\n function:\n transportFunctionName: ChatTrans\n registerFunctionName: ChatReg\n cleanupFunctionName: ChatClean\n\n\nChatReg:\n component: \"@serverless/tencent-scf\"\n inputs:\n name: ChatReg\n codeUri: ./code\n handler: reg.main_handler\n runtime: Python3.6\n region: ${Conf.region}\n environment:\n variables:\n region: ${Conf.region}\n bucket: ${Conf.bucket}\n secret_id: ${Conf.secret_id}\n secret_key: ${Conf.secret_key}\n url: http://set-gwm9thyc.cb-guangzhou.apigateway.tencentyun.com/api-etj7lhtw\n\nChatTrans:\n component: \"@serverless/tencent-scf\"\n inputs:\n name: ChatTrans\n codeUri: ./code\n handler: trans.main_handler\n runtime: Python3.6\n region: ${Conf.region}\n environment:\n variables:\n region: ${Conf.region}\n bucket: ${Conf.bucket}\n secret_id: ${Conf.secret_id}\n secret_key: ${Conf.secret_key}\n url: http://set-gwm9thyc.cb-guangzhou.apigateway.tencentyun.com/api-etj7lhtw\n\nChatClean:\n component: \"@serverless/tencent-scf\"\n inputs:\n name: ChatClean\n codeUri: ./code\n handler: clean.main_handler\n runtime: Python3.6\n region: ${Conf.region}\n environment:\n variables:\n region: ${Conf.region}\n bucket: ${Conf.bucket}\n secret_id: ${Conf.secret_id}\n secret_key: ${Conf.secret_key}\n url: http://set-gwm9thyc.cb-guangzhou.apigateway.tencentyun.com/api-etj7lhtw\n
\n

\u6ce8\u610f\uff0c\u8fd9\u91cc\u9700\u8981\u5148\u90e8\u7f72 API \u7f51\u5173\u3002\u5f53\u90e8\u7f72\u5b8c\u6210\uff0c\u83b7\u5f97\u56de\u63a8\u5730\u5740\uff0c\u5c06\u56de\u63a8\u5730\u5740\u4ee5 url \u7684\u5f62\u5f0f\u5199\u5165\u5230\u5bf9\u5e94\u51fd\u6570\u7684\u73af\u5883\u53d8\u91cf\u4e2d\uff1a

\n

\"\"

\n

\u7406\u8bba\u4e0a\u5e94\u8be5\u662f\u53ef\u4ee5\u901a\u8fc7 ${restApi.url[0].internalDomain} \u81ea\u52a8\u83b7\u5f97\u5230 url \u7684\uff0c\u4f46\u662f\u6211\u5e76\u6ca1\u6709\u6210\u529f\u83b7\u5f97\u5230\u8fd9\u4e2a url\uff0c\u53ea\u80fd\u5148\u90e8\u7f72 API \u7f51\u5173\uff0c\u83b7\u5f97\u5230\u8fd9\u4e2a\u5730\u5740\u4e4b\u540e\uff0c\u518d\u91cd\u65b0\u90e8\u7f72\u3002

\n

\u90e8\u7f72\u5b8c\u6210\u4e4b\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u7f16\u5199 HTML \u4ee3\u7801\uff0c\u5b9e\u73b0\u53ef\u89c6\u5316\u7684 Websocket Client\uff0c\u5176\u6838\u5fc3\u7684 Javascript \u4ee3\u7801\u4e3a\uff1a

\n
window.Onload= function () {\n var conn;\n var msg = document.getElementById(\"msg\");\n var log = document.getElementById(\"log\");\n\n function appendLog(item) {\n var doScroll = log.scrollTop === log.scrollHeight - log.clientHeight;\n log.appendChild(item);\n if (doScroll) {\n log.scrollTop = log.scrollHeight - log.clientHeight;\n }\n }\n\n document.getElementById(\"form\").Onsubmit= function () {\n if (!conn) {\n return false;\n }\n if (!msg.value) {\n return false;\n }\n conn.send(msg.value);\n //msg.value = \"\";\n\t\t\n\t\tvar item = document.createElement(\"div\");\n\t\titem.innerText = \"\u53d1\u9001\u2191:\";\n\t\tappendLog(item);\n\t\t\n\t\tvar item = document.createElement(\"div\");\n\t\titem.innerText = msg.value;\n\t\tappendLog(item);\n\t\t\n return false;\n };\n\n if (window[\"WebSocket\"]) {\n //\u66ff\u6362\u4e3a websocket \u8fde\u63a5\u5730\u5740\n cOnn= new WebSocket(\"ws://service-01era6ni-1256773370.gz.apigw.tencentcs.com/release/\");\n conn.Onclose= function (evt) {\n var item = document.createElement(\"div\");\n item.innerHTML = \"<b>Connection closed.</b>\";\n appendLog(item);\n };\n conn.Onmessage= function (evt) {\n\t\t\tvar item = document.createElement(\"div\");\n\t\t\titem.innerText = \"\u63a5\u6536\u2193:\";\n\t\t\tappendLog(item);\n\t\t\n var messages = evt.data.split('\\n');\n for (var i = 0; i < messages.length; i++) {\n var item = document.createElement(\"div\");\n item.innerText = messages[i];\n appendLog(item);\n }\n };\n } else {\n var item = document.createElement(\"div\");\n item.innerHTML = \"<b>Your browser does not support WebSockets.</b>\";\n appendLog(item);\n }\n};\n
\n

\u5b8c\u6210\u4e4b\u540e\uff0c\u6211\u4eec\u6253\u5f00\u4e24\u4e2a\u9875\u9762\uff0c\u8fdb\u884c\u6d4b\u8bd5\uff1a

\n

\"\"

\n

\u603b\u7ed3

\n

\u901a\u8fc7\u4e91\u51fd\u6570 + API \u7f51\u5173\u8fdb\u884c Websocket \u7684\u5b9e\u8df5\uff0c\u7edd\u5bf9\u4e0d\u4ec5\u4ec5\u662f\u4e00\u4e2a\u804a\u5929\u5de5\u5177\u8fd9\u4e48\u7b80\u5355\uff0c\u5b83\u53ef\u4ee5\u7528\u5728\u5f88\u591a\u65b9\u9762\uff0c\u4f8b\u5982\u901a\u8fc7 Websocket \u8fdb\u884c\u5b9e\u65f6\u65e5\u5fd7\u7cfb\u7edf\u7684\u5236\u4f5c\u7b49\u3002

\n

\u5355\u72ec\u7684\u51fd\u6570\u8ba1\u7b97\uff0c\u4ec5\u4ec5\u662f\u4e00\u4e2a\u8ba1\u7b97\u5e73\u53f0\uff0c\u53ea\u6709\u548c\u5468\u8fb9\u7684 BaaS \u7ed3\u5408\uff0c\u624d\u80fd\u5c55\u793a\u51fa Serverless \u67b6\u6784\u7684\u4ef7\u503c\u548c\u771f\u6b63\u7684\u80fd\u529b\u3002\u8fd9\u4e5f\u662f\u4e3a\u4ec0\u4e48\u5f88\u591a\u4eba\u8bf4 Serverless=FaaS+BaaS \u7684\u4e00\u4e2a\u539f\u56e0\u3002

\n

\u671f\u5f85\u66f4\u591a\u5c0f\u4f19\u4f34\uff0c\u53ef\u4ee5\u901a\u8fc7 Serverless \u67b6\u6784\uff0c\u521b\u9020\u51fa\u66f4\u591a\u6709\u8da3\u7684\u5e94\u7528\u3002

\n

\u6b22\u8fce\u8bbf\u95ee\uff1aServerless \u4e2d\u6587\u793e\u533a

\n" }, { "author": { "url": "member/scf10cent", "name": "scf10cent", "avatar": "https://cdn.v2ex.com/avatar/45ff/a7d1/420644_large.png?m=1578562081" }, "url": "t/673645", "title": "Serverless \u67b6\u6784\u4e0b\uff0c 3 \u5206\u949f\u5b9e\u73b0\u6587\u672c\u654f\u611f\u8bcd\u8fc7\u6ee4", "id": "t/673645", "date_published": "2020-05-20T07:05:40+00:00", "content_html": "

\u654f\u611f\u8bcd\u8fc7\u6ee4\u662f\u968f\u7740\u4e92\u8054\u7f51\u793e\u533a\u4e00\u8d77\u53d1\u5c55\u8d77\u6765\u7684\u4e00\u79cd\u963b\u6b62\u7f51\u7edc\u72af\u7f6a\u548c\u7f51\u7edc\u66b4\u529b\u7684\u6280\u672f\u624b\u6bb5\uff0c\u901a\u8fc7\u5bf9\u53ef\u80fd\u5b58\u5728\u72af\u7f6a\u6216\u7f51\u7edc\u66b4\u529b\u7684\u5173\u952e\u8bcd\u8fdb\u884c\u6709\u9488\u5bf9\u6027\u7684\u7b5b\u67e5\u548c\u5c4f\u853d\uff0c\u80fd\u591f\u9632\u60a3\u4e8e\u672a\u7136\uff0c\u5c06\u540e\u679c\u4e25\u91cd\u7684\u72af\u7f6a\u884c\u4e3a\u627c\u6740\u4e8e\u840c\u82bd\u4e4b\u4e2d\u3002

\n

\u968f\u7740\u5404\u79cd\u793e\u4ea4\u8bba\u575b\u7684\u65e5\u76ca\u706b\u7206\uff0c\u654f\u611f\u8bcd\u8fc7\u6ee4\u9010\u6e10\u6210\u4e3a\u4e86\u975e\u5e38\u91cd\u8981\u7684\u529f\u80fd\u3002\u90a3\u4e48\u5728 Serverless \u67b6\u6784\u4e0b\uff0c\u5229\u7528 Python \u8bed\u8a00\uff0c\u654f\u611f\u8bcd\u8fc7\u6ee4\u53c8\u6709\u90a3\u4e9b\u65b0\u7684\u5b9e\u73b0\u5462\uff1f\u6211\u4eec\u80fd\u5426\u7528\u6700\u7b80\u5355\u7684\u65b9\u6cd5\u5b9e\u73b0\u4e00\u4e2a\u654f\u611f\u8bcd\u8fc7\u6ee4\u7684 API \u5462\uff1f

\n

\u4e86\u89e3\u654f\u611f\u8fc7\u6ee4\u7684\u51e0\u79cd\u65b9\u6cd5

\n

Replace \u65b9\u6cd5

\n

\u654f\u611f\u8bcd\u8fc7\u6ee4\uff0c\u5176\u5b9e\u5728\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u662f\u6587\u672c\u66ff\u6362\uff0c\u4ee5 Python \u4e3a\u4f8b\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 replace \u6765\u5b9e\u73b0\uff0c\u9996\u5148\u51c6\u5907\u4e00\u4e2a\u654f\u611f\u8bcd\u5e93\uff0c\u7136\u540e\u901a\u8fc7 replace \u8fdb\u884c\u654f\u611f\u8bcd\u66ff\u6362:

\n
def worldFilter(keywords, text):\n for eve in keywords:\n text = text.replace(eve, \"***\")\n return text\nkeywords = (\"\u5173\u952e\u8bcd 1\", \"\u5173\u952e\u8bcd 2\", \"\u5173\u952e\u8bcd 3\")\ncOntent= \"\u8fd9\u662f\u4e00\u4e2a\u5173\u952e\u8bcd\u66ff\u6362\u7684\u4f8b\u5b50\uff0c\u8fd9\u91cc\u6d89\u53ca\u5230\u4e86\u5173\u952e\u8bcd 1 \u8fd8\u6709\u5173\u952e\u8bcd 2\uff0c\u6700\u540e\u8fd8\u4f1a\u6709\u5173\u952e\u8bcd 3 \u3002\"\nprint(worldFilter(keywords, content))\n
\n

\u8fd9\u79cd\u65b9\u6cd5\u867d\u7136\u64cd\u4f5c\u7b80\u5355\uff0c\u4f46\u662f\u5b58\u5728\u4e00\u4e2a\u5f88\u5927\u7684\u95ee\u9898\uff1a\u5728\u6587\u672c\u548c\u654f\u611f\u8bcd\u6c47\u975e\u5e38\u5e9e\u5927\u7684\u60c5\u51b5\u4e0b\uff0c\u4f1a\u51fa\u73b0\u5f88\u4e25\u91cd\u7684\u6027\u80fd\u95ee\u9898\u3002

\n

\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u6211\u4eec\u5148\u4fee\u6539\u4ee3\u7801\u8fdb\u884c\u57fa\u672c\u7684\u6027\u80fd\u6d4b\u8bd5\uff1a

\n
import time\n\ndef worldFilter(keywords, text):\n for eve in keywords:\n text = text.replace(eve, \"***\")\n return text\nkeywords =[ \"\u5173\u952e\u8bcd\" + str(i) for i in range(0,10000)]\ncOntent= \"\u8fd9\u662f\u4e00\u4e2a\u5173\u952e\u8bcd\u66ff\u6362\u7684\u4f8b\u5b50\uff0c\u8fd9\u91cc\u6d89\u53ca\u5230\u4e86\u5173\u952e\u8bcd 1 \u8fd8\u6709\u5173\u952e\u8bcd 2\uff0c\u6700\u540e\u8fd8\u4f1a\u6709\u5173\u952e\u8bcd 3 \u3002\" * 1000\nstartTime = time.time()\nworldFilter(keywords, content)\nprint(time.time()-startTime)\n
\n

\u6b64\u65f6\u7684\u8f93\u51fa\u7ed3\u679c\u662f\uff1a0.12426114082336426\uff0c\u53ef\u4ee5\u770b\u5230\u6027\u80fd\u975e\u5e38\u5dee\u3002

\n

\u6b63\u5219\u8868\u8fbe\u65b9\u6cd5

\n

\u76f8\u8f83\u4e8e replace\uff0c\u4f7f\u7528\u6b63\u5219\u8868\u8fbe re.sub \u5b9e\u73b0\u53ef\u80fd\u66f4\u52a0\u5feb\u901f\u3002

\n
import time\nimport re\ndef worldFilter(keywords, text):\n return re.sub(\"|\".join(keywords), \"***\", text)\nkeywords =[ \"\u5173\u952e\u8bcd\" + str(i) for i in range(0,10000)]\ncOntent= \"\u8fd9\u662f\u4e00\u4e2a\u5173\u952e\u8bcd\u66ff\u6362\u7684\u4f8b\u5b50\uff0c\u8fd9\u91cc\u6d89\u53ca\u5230\u4e86\u5173\u952e\u8bcd 1 \u8fd8\u6709\u5173\u952e\u8bcd 2\uff0c\u6700\u540e\u8fd8\u4f1a\u6709\u5173\u952e\u8bcd 3 \u3002\" * 1000\nstartTime = time.time()\nworldFilter(keywords, content)\nprint(time.time()-startTime)\n
\n

\u589e\u52a0\u6027\u80fd\u6d4b\u8bd5\u4e4b\u540e\uff0c\u6211\u4eec\u6309\u7167\u4e0a\u9762\u7684\u65b9\u6cd5\u8fdb\u884c\u6539\u9020\u6d4b\u8bd5\uff0c\u8f93\u51fa\u7ed3\u679c\u662f 0.24773502349853516\u3002

\n

\u5bf9\u6bd4\u8fd9\u4e24\u4e2a\u4f8b\u5b50\uff0c\u6211\u4eec\u4f1a\u53d1\u73b0\u5f53\u524d\u4e24\u79cd\u65b9\u6cd5\u7684\u6027\u80fd\u5dee\u8ddd\u4e0d\u662f\u5f88\u5927\uff0c\u4f46\u662f\u968f\u7740\u6587\u672c\u6570\u91cf\u7684\u589e\u52a0\uff0c\u6b63\u5219\u8868\u8fbe\u7684\u4f18\u52bf\u4f1a\u9010\u6e10\u51f8\u663e\uff0c\u6027\u80fd\u63d0\u5347\u660e\u663e\u3002

\n

DFA \u8fc7\u6ee4\u654f\u611f\u8bcd

\n

\u76f8\u5bf9\u6765\u8bf4\uff0cDFA \u8fc7\u6ee4\u654f\u611f\u8bcd\u7684\u6548\u7387\u4f1a\u66f4\u9ad8\u4e00\u4e9b\uff0c\u4f8b\u5982\u6211\u4eec\u628a\u574f\u4eba\u3001\u574f\u5b69\u5b50\u3001\u574f\u86cb\u4f5c\u4e3a\u654f\u611f\u8bcd\uff0c\u90a3\u4e48\u5b83\u4eec\u7684\u6811\u5173\u7cfb\u53ef\u4ee5\u8fd9\u6837\u8868\u8fbe\uff1a

\n

\"\"

\n

\u800c DFA \u5b57\u5178\u662f\u8fd9\u6837\u8868\u793a\u7684\uff1a

\n
{\n '\u574f': {\n '\u86cb': {\n '\\x00': 0\n }, \n '\u4eba': {\n '\\x00': 0\n }, \n '\u5b69': {\n '\u5b50': {\n '\\x00': 0\n }\n }\n }\n}\n
\n

\u4f7f\u7528\u8fd9\u79cd\u6811\u8868\u793a\u95ee\u9898\u6700\u5927\u7684\u597d\u5904\u5c31\u662f\u53ef\u4ee5\u964d\u4f4e\u68c0\u7d22\u6b21\u6570\u3001\u63d0\u9ad8\u68c0\u7d22\u6548\u7387\u3002\u5176\u57fa\u672c\u4ee3\u7801\u5b9e\u73b0\u5982\u4e0b\uff1a

\n
import time\n\nclass DFAFilter(object):\n def __init__(self):\n self.keyword_chains = {} # \u5173\u952e\u8bcd\u94fe\u8868\n self.delimit = '\\x00' # \u9650\u5b9a\n\n def parse(self, path):\n with open(path, encoding='utf-8') as f:\n for keyword in f:\n chars = str(keyword).strip().lower() # \u5173\u952e\u8bcd\u82f1\u6587\u53d8\u4e3a\u5c0f\u5199\n if not chars: # \u5982\u679c\u5173\u952e\u8bcd\u4e3a\u7a7a\u76f4\u63a5\u8fd4\u56de\n return\n level = self.keyword_chains\n for i in range(len(chars)):\n if chars[i] in level:\n level = level[chars[i]]\n else:\n if not isinstance(level, dict):\n break\n for j in range(i, len(chars)):\n level[chars[j]] = {}\n last_level, last_char = level, chars[j]\n level = level[chars[j]]\n last_level[last_char] = {self.delimit: 0}\n break\n if i == len(chars) - 1:\n level[self.delimit] = 0\n\n def filter(self, message, repl=\"*\"):\n message = message.lower()\n ret = []\n start = 0\n while start < len(message):\n level = self.keyword_chains\n step_ins = 0\n for char in message[start:]:\n if char in level:\n step_ins += 1\n if self.delimit not in level[char]:\n level = level[char]\n else:\n ret.append(repl * step_ins)\n start += step_ins - 1\n break\n else:\n ret.append(message[start])\n break\n else:\n ret.append(message[start])\n start += 1\n\n return ''.join(ret)\n\n\n\ngfw = DFAFilter()\ngfw.parse( \"./sensitive_words\")\ncOntent= \"\u8fd9\u662f\u4e00\u4e2a\u5173\u952e\u8bcd\u66ff\u6362\u7684\u4f8b\u5b50\uff0c\u8fd9\u91cc\u6d89\u53ca\u5230\u4e86\u5173\u952e\u8bcd 1 \u8fd8\u6709\u5173\u952e\u8bcd 2\uff0c\u6700\u540e\u8fd8\u4f1a\u6709\u5173\u952e\u8bcd 3 \u3002\" * 1000\nstartTime = time.time()\nresult = gfw.filter(content)\nprint(time.time()-startTime)\n
\n

\u8fd9\u91cc\u7684\u5b57\u5178\u5e93\u662f\uff1a

\n
with open(\"./sensitive_words\", 'w') as f:\n f.write(\"\\n\".join( [ \"\u5173\u952e\u8bcd\" + str(i) for i in range(0,10000)]))\n
\n

\u6267\u884c\u7ed3\u679c\uff1a

\n
0.06450581550598145\n
\n

\u4ece\u4e2d\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u6027\u80fd\u53c8\u8fdb\u4e00\u6b65\u5f97\u5230\u4e86\u63d0\u5347\u3002

\n

AC \u81ea\u52a8\u673a\u8fc7\u6ee4\u654f\u611f\u8bcd\u7b97\u6cd5

\n

\u4ec0\u4e48\u662f AC \u81ea\u52a8\u673a\uff1f\u7b80\u5355\u6765\u8bf4\uff0cAC \u81ea\u52a8\u673a\u5c31\u662f\u5b57\u5178\u6811 +kmp \u7b97\u6cd5 + \u5931\u914d\u6307\u9488\uff0c\u4e00\u4e2a\u5e38\u89c1\u7684\u4f8b\u5b50\u5c31\u662f\u7ed9\u51fa n \u4e2a\u5355\u8bcd\uff0c\u518d\u7ed9\u51fa\u4e00\u6bb5\u5305\u542b m \u4e2a\u5b57\u7b26\u7684\u6587\u7ae0\uff0c\u8ba9\u4f60\u627e\u51fa\u6709\u591a\u5c11\u4e2a\u5355\u8bcd\u5728\u6587\u7ae0\u91cc\u51fa\u73b0\u8fc7\u3002

\n

\u4ee3\u7801\u5b9e\u73b0\uff1a

\n
import time\nclass Node(object):\n def __init__(self):\n self.next = {}\n self.fail = None\n self.isWord = False\n self.word = \"\"\n\n\nclass AcAutomation(object):\n\n def __init__(self):\n self.root = Node()\n\n # \u67e5\u627e\u654f\u611f\u8bcd\u51fd\u6570\n def search(self, content):\n p = self.root\n result = []\n currentposition = 0\n\n while currentposition < len(content):\n word = content[currentposition]\n while word in p.next == False and p != self.root:\n p = p.fail\n\n if word in p.next:\n p = p.next[word]\n else:\n p = self.root\n\n if p.isWord:\n result.append(p.word)\n p = self.root\n currentposition += 1\n return result\n\n # \u52a0\u8f7d\u654f\u611f\u8bcd\u5e93\u51fd\u6570\n def parse(self, path):\n with open(path, encoding='utf-8') as f:\n for keyword in f:\n temp_root = self.root\n for char in str(keyword).strip():\n if char not in temp_root.next:\n temp_root.next[char] = Node()\n temp_root = temp_root.next[char]\n temp_root.isWord = True\n temp_root.word = str(keyword).strip()\n\n # \u654f\u611f\u8bcd\u66ff\u6362\u51fd\u6570\n def wordsFilter(self, text):\n \"\"\"\n :param ah: AC \u81ea\u52a8\u673a\n :param text: \u6587\u672c\n :return: \u8fc7\u6ee4\u654f\u611f\u8bcd\u4e4b\u540e\u7684\u6587\u672c\n \"\"\"\n result = list(set(self.search(text)))\n for x in result:\n m = text.replace(x, '*' * len(x))\n text = m\n return text\n\n\nacAutomation = AcAutomation()\nacAutomation.parse('./sensitive_words')\nstartTime = time.time()\nprint(acAutomation.wordsFilter(\"\u8fd9\u662f\u4e00\u4e2a\u5173\u952e\u8bcd\u66ff\u6362\u7684\u4f8b\u5b50\uff0c\u8fd9\u91cc\u6d89\u53ca\u5230\u4e86\u5173\u952e\u8bcd 1 \u8fd8\u6709\u5173\u952e\u8bcd 2\uff0c\u6700\u540e\u8fd8\u4f1a\u6709\u5173\u952e\u8bcd 3 \u3002\"*1000))\nprint(time.time()-startTime)\n
\n

\u8bcd\u5e93\u540c\u6837\u662f\uff1a

\n
with open(\"./sensitive_words\", 'w') as f:\n f.write(\"\\n\".join( [ \"\u5173\u952e\u8bcd\" + str(i) for i in range(0,10000)]))\n
\n

\u4f7f\u7528\u4e0a\u9762\u7684\u65b9\u6cd5\uff0c\u6d4b\u8bd5\u7ed3\u679c\u4e3a 0.017391204833984375\u3002

\n

\u654f\u611f\u8bcd\u8fc7\u6ee4\u65b9\u6cd5\u5c0f\u7ed3

\n

\u6839\u636e\u4e0a\u6587\u7684\u6d4b\u8bd5\u5bf9\u6bd4\uff0c\u6211\u4eec\u53ef\u4ee5\u53d1\u73b0\u5728\u6240\u6709\u7b97\u6cd5\u4e2d\uff0cDFA \u8fc7\u6ee4\u654f\u611f\u8bcd\u6027\u80fd\u6700\u9ad8\uff0c\u4f46\u662f\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0cDFA \u8fc7\u6ee4\u548c AC \u81ea\u52a8\u673a\u8fc7\u6ee4\u5404\u81ea\u6709\u81ea\u5df1\u7684\u9002\u7528\u573a\u666f\uff0c\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u4e1a\u52a1\u6765\u9009\u62e9\u3002

\n

\u5b9e\u73b0\u654f\u611f\u8bcd\u8fc7\u6ee4 API

\n

\u60f3\u8981\u5b9e\u73b0\u654f\u611f\u8bcd\u8fc7\u6ee4 API\uff0c\u5c31\u9700\u8981\u5c06\u4ee3\u7801\u90e8\u7f72\u5230 Serverless \u67b6\u6784\u4e0a\uff0c\u9009\u62e9 API \u7f51\u5173\u4e0e\u51fd\u6570\u8ba1\u7b97\u8fdb\u884c\u7ed3\u5408\u3002\u4ee5 AC \u81ea\u52a8\u673a\u8fc7\u6ee4\u654f\u611f\u8bcd\u7b97\u6cd5\u4e3a\u4f8b\uff1a\u6211\u4eec\u53ea\u9700\u8981\u589e\u52a0\u662f\u51e0\u884c\u4ee3\u7801\u5c31\u597d\uff1a

\n
# -*- coding:utf-8 -*-\n\nimport json, uuid\n\n\nclass Node(object):\n def __init__(self):\n self.next = {}\n self.fail = None\n self.isWord = False\n self.word = \"\"\n\n\nclass AcAutomation(object):\n\n def __init__(self):\n self.root = Node()\n\n # \u67e5\u627e\u654f\u611f\u8bcd\u51fd\u6570\n def search(self, content):\n p = self.root\n result = []\n currentposition = 0\n\n while currentposition < len(content):\n word = content[currentposition]\n while word in p.next == False and p != self.root:\n p = p.fail\n\n if word in p.next:\n p = p.next[word]\n else:\n p = self.root\n\n if p.isWord:\n result.append(p.word)\n p = self.root\n currentposition += 1\n return result\n\n # \u52a0\u8f7d\u654f\u611f\u8bcd\u5e93\u51fd\u6570\n def parse(self, path):\n with open(path, encoding='utf-8') as f:\n for keyword in f:\n temp_root = self.root\n for char in str(keyword).strip():\n if char not in temp_root.next:\n temp_root.next[char] = Node()\n temp_root = temp_root.next[char]\n temp_root.isWord = True\n temp_root.word = str(keyword).strip()\n\n # \u654f\u611f\u8bcd\u66ff\u6362\u51fd\u6570\n def wordsFilter(self, text):\n \"\"\"\n :param ah: AC \u81ea\u52a8\u673a\n :param text: \u6587\u672c\n :return: \u8fc7\u6ee4\u654f\u611f\u8bcd\u4e4b\u540e\u7684\u6587\u672c\n \"\"\"\n result = list(set(self.search(text)))\n for x in result:\n m = text.replace(x, '*' * len(x))\n text = m\n return text\n\n\ndef response(msg, error=False):\n return_data = {\n \"uuid\": str(uuid.uuid1()),\n \"error\": error,\n \"message\": msg\n }\n print(return_data)\n return return_data\n\n\nacAutomation = AcAutomation()\npath = './sensitive_words'\nacAutomation.parse(path)\n\n\ndef main_handler(event, context):\n try:\n sourceCOntent= json.loads(event[\"body\"])[\"content\"]\n return response({\n \"sourceContent\": sourceContent,\n \"filtedContent\": acAutomation.wordsFilter(sourceContent)\n })\n except Exception as e:\n return response(str(e), True)\n
\n

\u6700\u540e\uff0c\u4e3a\u4e86\u65b9\u4fbf\u672c\u5730\u6d4b\u8bd5\uff0c\u6211\u4eec\u53ef\u4ee5\u518d\u589e\u52a0\u4ee5\u4e0b\u4ee3\u7801\uff1a

\n
def test():\n event = {\n \"requestContext\": {\n \"serviceId\": \"service-f94sy04v\",\n \"path\": \"/test/{path}\",\n \"httpMethod\": \"POST\",\n \"requestId\": \"c6af9ac6-7b61-11e6-9a41-93e8deadbeef\",\n \"identity\": {\n \"secretId\": \"abdcdxxxxxxxsdfs\"\n },\n \"sourceIp\": \"14.17.22.34\",\n \"stage\": \"release\"\n },\n \"headers\": {\n \"Accept-Language\": \"en-US,en,cn\",\n \"Accept\": \"text/html,application/xml,application/json\",\n \"Host\": \"service-3ei3tii4-251000691.ap-guangzhou.apigateway.myqloud.com\",\n \"User-Agent\": \"User Agent String\"\n },\n \"body\": \"{\\\"content\\\":\\\"\u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u7684\u6587\u672c\uff0c\u6211\u4e5f\u5c31\u5475\u5475\u4e86\\\"}\",\n \"pathParameters\": {\n \"path\": \"value\"\n },\n \"queryStringParameters\": {\n \"foo\": \"bar\"\n },\n \"headerParameters\": {\n \"Refer\": \"10.0.2.14\"\n },\n \"stageVariables\": {\n \"stage\": \"release\"\n },\n \"path\": \"/test/value\",\n \"queryString\": {\n \"foo\": \"bar\",\n \"bob\": \"alice\"\n },\n \"httpMethod\": \"POST\"\n }\n print(main_handler(event, None))\n\n\nif __name__ == \"__main__\":\n test()\n
\n

\u5b8c\u6210\u4e4b\u540e\uff0c\u5c31\u53ef\u4ee5\u8fdb\u884c\u6d4b\u8bd5\u8fd0\u884c\uff0c\u4f8b\u5982\u6211\u7684\u5b57\u5178\u662f\uff1a

\n
\u5475\u5475\n\u6d4b\u8bd5\n
\n

\u6267\u884c\u4e4b\u540e\u7ed3\u679c\uff1a

\n
{'uuid': '9961ae2a-5cfc-11ea-a7c2-acde48001122', 'error': False, 'message': {'sourceContent': '\u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u7684\u6587\u672c\uff0c\u6211\u4e5f\u5c31\u5475\u5475\u4e86', 'filtedContent': '\u8fd9\u662f\u4e00\u4e2a**\u7684\u6587\u672c\uff0c\u6211\u4e5f\u5c31**\u4e86'}}\n
\n

\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u4ee3\u7801\u90e8\u7f72\u5230\u4e91\u7aef\uff0c\u65b0\u5efa serverless.yaml:

\n
sensitive_word_filtering:\n component: \"@serverless/tencent-scf\"\n inputs:\n name: sensitive_word_filtering\n codeUri: ./\n exclude:\n - .gitignore\n - .git/**\n - .serverless\n - .env\n handler: index.main_handler\n runtime: Python3.6\n region: ap-beijing\n description: \u654f\u611f\u8bcd\u8fc7\u6ee4\n memorySize: 64\n timeout: 2\n events:\n - apigw:\n name: serverless\n parameters:\n environment: release\n endpoints:\n - path: /sensitive_word_filtering\n description: \u654f\u611f\u8bcd\u8fc7\u6ee4\n method: POST\n enableCORS: true\n param:\n - name: content\n position: BODY\n required: 'FALSE'\n type: string\n desc: \u5f85\u8fc7\u6ee4\u7684\u53e5\u5b50\n
\n

\u7136\u540e\u901a\u8fc7 sls --debug \u8fdb\u884c\u90e8\u7f72\uff0c\u90e8\u7f72\u7ed3\u679c\uff1a

\n

\"\"

\n

\u6700\u540e\uff0c\u901a\u8fc7 PostMan \u8fdb\u884c\u6d4b\u8bd5\uff1a

\n

\"\"

\n

\u603b\u7ed3

\n

\u654f\u611f\u8bcd\u8fc7\u6ee4\u662f\u5f53\u524d\u4f01\u4e1a\u7684\u666e\u904d\u9700\u6c42\uff0c\u901a\u8fc7\u654f\u611f\u8bcd\u8fc7\u6ee4\uff0c\u6211\u4eec\u53ef\u4ee5\u5728\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u904f\u5236\u6076\u8a00\u6076\u8bed\u548c\u8fdd\u89c4\u8a00\u8bba\u7684\u51fa\u73b0\u3002\u5728\u5177\u4f53\u5b9e\u73b0\u8fc7\u7a0b\u4e2d\uff0c\u6709\u4e24\u4e2a\u65b9\u9762\u9700\u8981\u989d\u5916\u4e3b\u8981\uff1a

\n\n
\n

\u6b22\u8fce\u8bbf\u95ee\uff1aServerless \u4e2d\u6587\u7f51

\n" }, { "author": { "url": "member/Aceyclee", "name": "Aceyclee", "avatar": "https://cdn.v2ex.com/avatar/34fc/02c7/207049_large.png?m=1585879734" }, "url": "t/672797", "title": "Serverless Dashboard \u8bbe\u8ba1\u89e3\u8bfb\u4e0e\u5b9e\u6218", "id": "t/672797", "date_published": "2020-05-18T03:10:53+00:00", "content_html": "

\u4f5c\u4e3a\u817e\u8baf\u4e91 Serverless \u7684\u4ea7\u54c1\u7ecf\u7406\uff0c\u6211\u7ecf\u5e38\u4f1a\u6536\u96c6\u5230\u5c0f\u4f19\u4f34\u4eec\u5728\u4f7f\u7528 Serverless Framework \u7684\u4e00\u4e9b\u95ee\u9898\u548c\u5410\u69fd\uff0c\u6bd4\u5982\u8fd1\u671f\u5c0f\u4f19\u4f34\u4eec\u53cd\u9988\uff1a

\n
    \n
  1. \u4f9d\u8d56\u5e93\u5b89\u88c5\u548c\u672c\u5730\u8c03\u8bd5\u6210\u529f\uff0c\u4f46\u5728\u4e91\u7aef\u90e8\u7f72\u4e3a\u4f55\u5931\u8d25\uff1f
  2. \n
  3. Serverless \u5e94\u7528\u5185\u90e8\u7684\u76d1\u63a7\uff0c\u65e0\u6cd5\u76f4\u63a5\u67e5\u770b\uff0c\u6bcf\u6b21\u5b9a\u4f4d\u95ee\u9898\u7684\u6d41\u7a0b\u597d\u957f\u554a\uff01
  4. \n
  5. \u600e\u6837\u7ec4\u7ec7 Serverless \u5e94\u7528\uff1f
  6. \n
  7. \u4e0d\u540c\u7684\u51fd\u6570\u4e4b\u95f4\u7684\u8c03\u7528\u5173\u7cfb\u3001\u73af\u5883\u5212\u5206\u3001\u8d44\u6e90\u7684\u7ba1\u7406\u53ca\u6743\u9650\u63a7\u5236\u662f\u600e\u6837\u7684\u5462\uff1f
  8. \n
\n

\u8fd1\u671f Serverless \u56e2\u961f\u53d1\u5e03\u4e86\u4e00\u6b3e\u91cc\u7a0b\u7891\u65b0\u7279\u6027\u4ea7\u54c1\uff0c\u4ea7\u54c1\u901a\u8fc7\u652f\u6301\u5e94\u7528\u7ea7\u522b\u76d1\u63a7\u548c Dashboard \u8d44\u6e90\u7ba1\u7406\uff0c\u6709\u6548\u89e3\u51b3\u5c0f\u4f19\u4f34\u4eec\u7684\u75db\u70b9\u95ee\u9898\uff0c\u4e00\u8d77\u6765\u770b\u770b\u5427\uff01

\n

Serverless Dashboard \u65b0\u7279\u6027

\n

1. \u5e94\u7528\u7ba1\u7406

\n

\u672c\u6b21\u53d1\u5e03\u7684\u5e94\u7528\u7ba1\u7406\u9875\u9762\u5219\u4ee5 Component \u4e3a\u7c92\u5ea6\uff0c\u805a\u5408\u4e86\u6240\u6709 Serverless Framework \u90e8\u7f72\u7684\u8d44\u6e90\uff0c\u5e76\u4e14\u5c55\u793a\u4e86\u5b9e\u4f8b\u72b6\u6001\u3001\u8bbf\u95ee\u94fe\u63a5\u4ee5\u53ca\u4e0a\u6b21\u7684\u90e8\u7f72\u4fe1\u606f\u3002\u6b64\u5916\uff0c\u5728\u7ba1\u7406\u8be6\u60c5\u4e2d\u8fd8\u652f\u6301\u5220\u9664 Serverless \u5e94\u7528\u3001\u4e0b\u8f7d\u9879\u76ee\u4ee3\u7801\u8fdb\u884c\u4e8c\u6b21\u5f00\u53d1\u7b49\u64cd\u4f5c\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u66f4\u65b9\u4fbf\u3001\u96c6\u4e2d\u7684\u7ba1\u7406\u8d26\u53f7\u4e0b\u7684 Serverless \u5e94\u7528\u3002\u5982\u4e0b\u56fe\u6240\u793a\uff1a

\n

\"\"

\n

2. \u90e8\u7f72\u8be6\u60c5\u53ca\u8f93\u51fa

\n

Serverless Framework \u7684\u7279\u6027\u4e4b\u4e00\u5c31\u662f\u53ef\u4ee5\u4fbf\u6377\u7684\u8054\u52a8\u5173\u8054\u7684\u4e91\u4e0a\u8d44\u6e90\uff0c\u56e0\u6b64\u4e0d\u540c\u7684 Serverless Component\uff0c\u53ef\u80fd\u4f1a\u8054\u52a8\u4e0d\u540c\u7684\u4e91\u4e0a\u8d44\u6e90\uff0c\u5982\u7f51\u5173\u3001\u4e91\u51fd\u6570\u3001COS \u7b49\u3002\u76f8\u4fe1\u8bb8\u591a\u5c0f\u4f19\u4f34\u5728\u8fdb\u884c\u4e8c\u6b21\u5f00\u53d1\u65f6\uff0c\u90fd\u60f3\u8981\u4e86\u89e3\u6bcf\u4e2a Component \u5177\u4f53\u521b\u5efa\u4e86\u7684\u8d44\u6e90\u4fe1\u606f\u3002
\n\u5728\u672c\u6b21\u53d1\u5e03\u7684\u90e8\u7f72\u8be6\u60c5\u9875\u4e2d\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u67e5\u770b\u5230 Serverless \u5b9e\u4f8b\u7684\u57fa\u672c\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u5728\u8f93\u51fa\uff08 output \uff09\u9875\u9762\u4e2d\u67e5\u770b\u5230 Serverless Component \u5bf9\u5e94\u7684\u8f93\u5165\u3001\u8f93\u51fa\u4fe1\u606f\u3002\u901a\u8fc7\u8be5\u9875\u9762\uff0c\u53ef\u4ee5\u67e5\u770b\u5230\u5bf9\u5e94\u7684\u8d44\u6e90\u914d\u7f6e\uff0c\u5982\uff1a\u5730\u57df\u4fe1\u606f\u3001\u8d44\u6e90 id \u3001\u4f7f\u7528\u7684\u8bed\u8a00\u73af\u5883\u3001\u652f\u6301\u7684\u534f\u8bae\u4fe1\u606f\u7b49\u3002\u6709\u4e86\u8fd9\u4e2a\u9875\u9762\uff0c\u53ef\u4ee5\u76f4\u89c2\u7684\u770b\u5230\u5bf9\u5e94\u7684\u8d44\u6e90\u914d\u7f6e\uff0c\u518d\u4e5f\u4e0d\u62c5\u5fc3\u4e0d\u540c\u5e94\u7528\u4e4b\u95f4\u641e\u6df7\u914d\u7f6e\u5566\u3002

\n

\"\"

\n

3. \u5e94\u7528\u7ea7\u522b\u76d1\u63a7

\n

\u5f53\u524d Serverless Framework \u5df2\u7ecf\u652f\u6301\u4e86\u591a\u79cd Web \u6846\u67b6\u7684\u4e00\u952e\u90e8\u7f72\u3002\u5728\u90e8\u7f72\u5b8c\u6bd5\u540e\uff0c\u76f8\u4fe1\u8bb8\u591a\u5f00\u53d1\u8005\u4f1a\u5e0c\u671b\u67e5\u770b\u5230\u57fa\u4e8e\u5e94\u7528\u7ea7\u522b\u7684\u76d1\u63a7\u6570\u636e\u3002\u800c\u8fd9\u5f80\u5f80\u5728\u57fa\u7840\u8d44\u6e90\u7684\u76d1\u63a7\u4e2d\u662f\u96be\u4ee5\u4f53\u73b0\u51fa\u6765\u7684\u3002

\n

\u90a3\u4e48\u672c\u6b21\u53d1\u5e03\u6700\u4e3a\u4eae\u773c\u7684\u80fd\u529b\uff0c\u5373\u652f\u6301\u4e86\u5e94\u7528\u7ea7\u522b\u7684\u76d1\u63a7\u9875\u9762\uff0c\u5b9e\u73b0\u4e86\u201d0\u201c\u914d\u7f6e\u7684\u76d1\u63a7\u6307\u6807\u5c55\u793a\u3002\u5f53\u524d\u5df2\u7ecf\u652f\u6301 Express.js Component \u7684\u5e94\u7528\u7ea7\u522b\u76d1\u63a7\u3002\u65e0\u9700\u53bb\u591a\u4e2a\u4ea7\u54c1\u7684\u63a7\u5236\u53f0\u67e5\u770b\u76d1\u63a7\uff0c\u65e0\u9700\u81ea\u52a9\u4e0a\u62a5\u6570\u636e\uff0c\u65e0\u9700\u501f\u52a9\u7b2c\u4e09\u65b9 APM \u63d2\u4ef6\uff0c\u53ea\u9700\u4e00\u6b21\u90e8\u7f72\uff0c\u7acb\u523b\u67e5\u770b Express \u5e94\u7528\u7684\u76d1\u63a7\u4fe1\u606f\uff01

\n

\u5f53\u524d\u7684 Express.js \u7ec4\u4ef6\u76d1\u63a7\u4e3b\u8981\u652f\u6301\u4e0b\u5217\u6307\u6807\uff1a

\n\n

\"\"

\n

\u7531\u4e8e Serverless Dashboard \u662f\u57fa\u4e8e\u65b0\u7248\u7684 Serverless Component \u5f00\u53d1\uff0c\u56e0\u6b64\u540c\u6837\u652f\u6301\u65b0\u7248 Serverless Component \u7684\u7279\u6027\uff1a

\n
    \n
  1. [\u95e8\u69db\u4f4e] \u4ea4\u4e92\u5f0f\u7684\u4e00\u952e\u90e8\u7f72\u6307\u5f15\uff1a\u5bf9\u4e8e\u65b0\u7528\u6237\u800c\u8a00\uff0c\u53ea\u9700\u8981\u5728\u7ec8\u7aef\u8f93\u5165 serverless \u547d\u4ee4\uff0c\u5373\u53ef\u6309\u7167\u5f15\u5bfc\u5feb\u901f\u90e8\u7f72\u4e00\u4e2a Express \u6216 \u9759\u6001\u7f51\u7ad9\u5e94\u7528\u3002
  2. \n
  3. [\u90e8\u7f72\u5feb] \u5c06\u4e00\u4e2a Express.js \u5e94\u7528\u90e8\u7f72\u5230\u4e91\u7aef\u53ea\u9700\u8981 5-6s \u7684\u65f6\u95f4\uff0c\u4f7f\u672c\u5730\u548c\u4e91\u7aef\u4ee3\u7801\u53ef\u4ee5\u987a\u7545\u3001\u5feb\u901f\u540c\u6b65\u3002
  4. \n
  5. [\u53ef\u590d\u7528] \u652f\u6301\u4e91\u7aef\u6ce8\u518c\u4e2d\u5fc3\uff0c\u6bcf\u4f4d\u5f00\u53d1\u8005\u90fd\u53ef\u4ee5\u8d21\u732e\u81ea\u5df1\u7684\u7ec4\u4ef6\u5230\u6ce8\u518c\u4e2d\u5fc3\u4e2d\uff0c\u4fbf\u4e8e\u56e2\u961f\u8fdb\u884c\u590d\u7528\u3002
  6. \n
  7. [\u5b9e\u65f6\u65e5\u5fd7\u67e5\u770b] \u652f\u6301\u90e8\u7f72\u9636\u6bb5\u5b9e\u65f6\u8f93\u51fa\u8bf7\u6c42\u65e5\u5fd7\u3001\u9519\u8bef\u7b49\u4fe1\u606f\uff0c\u6b64\u5916\u652f\u6301\u68c0\u6d4b\u672c\u5730\u4ee3\u7801\u53d8\u5316\u5e76\u81ea\u52a8\u90e8\u7f72\u4e91\u7aef\uff0c\u65b9\u4fbf\u7684\u8fdb\u884c\u4e91\u7aef\u4ee3\u7801\u5f00\u53d1\u3002
  8. \n
  9. [\u4e91\u7aef\u8c03\u8bd5] \u9488\u5bf9 Node.js \u5e94\u7528\uff0c\u652f\u6301\u4e00\u952e\u5f00\u542f\u4e91\u7aef debug \u80fd\u529b\uff0c\u5bf9\u4e91\u7aef\u4ee3\u7801\u6253\u65ad\u70b9\u8c03\u8bd5\uff0c\u771f\u6b63\u5b9e\u73b0\u4e86\u5728\u4e91\u7aef\u8fdb\u884c\u5f00\u53d1\u548c\u8c03\u8bd5\u7684\u80fd\u529b\uff0c\u65e0\u9700\u8003\u8651\u672c\u5730\u73af\u5883\u548c\u8fdc\u7aef\u73af\u5883\u7684\u4e0d\u4e00\u81f4\u95ee\u9898\u3002
  10. \n
  11. [\u72b6\u6001\u5171\u4eab] \u901a\u8fc7\u4e91\u7aef\u90e8\u7f72\u5f15\u64ce\u5b58\u50a8\u5e94\u7528\u90e8\u7f72\u72b6\u6001\uff0c\u4fbf\u4e8e\u8d26\u53f7\u548c\u56e2\u961f\u4e4b\u95f4\u5171\u4eab\u8d44\u6e90\uff0c\u534f\u4f5c\u5f00\u53d1\u3002
  12. \n
\n

\u9488\u5bf9 Express.js \u6846\u67b6\u7684\u5e94\u7528\u7ea7\u522b\u76d1\u63a7\u4e3b\u8981\u57fa\u4e8e\u817e\u8baf\u4e91\u81ea\u5b9a\u4e49\u76d1\u63a7\u80fd\u529b\u5b9e\u73b0\u3002\u5728\u90e8\u7f72\u8fc7\u7a0b\u4e2d\uff0c\u6846\u67b6\u4e2d\u4f7f\u7528 Serverless SDK\uff0c\u6536\u96c6\u5e94\u7528\u7ea7\u522b\u7684\u76d1\u63a7\u4fe1\u606f\u8fdb\u884c\u81ea\u5b9a\u4e49\u4e0a\u62a5\u548c\u5c55\u793a\u3002\u56e0\u6b64\u7528\u6237\u53ef\u4ee5\u505a\u5230 \u201c0\u201d\u914d\u7f6e \u67e5\u770b\u5e94\u7528\u7ea7\u522b\u76d1\u63a7\u6307\u6807\u3002\u771f\u6b63\u5b9e\u73b0\u5feb\u901f\u90e8\u7f72\u4e00\u4e2a\u5f00\u7bb1\u5373\u7528\u7684 Serverless \u5e94\u7528\u6846\u67b6\u3002

\n

\u4e0b\u9762\u8ba9\u6211\u5e26\u5927\u5bb6\u4e00\u8d77\u5b9e\u6218\u4f53\u9a8c\u4e00\u4e0b\u6211\u4eec\u7684\u65b0\u4ea7\u54c1\u5427\uff01

\n

\u73a9\u8f6c Dashboard \u4f7f\u7528\u5b9e\u6218

\n

\u672c\u6b21\u5b9e\u6218\uff0c\u6211\u4eec\u5c06\u901a\u8fc7\u4e00\u4e2a Express.js \u6846\u67b6\u7684\u90e8\u7f72\uff0c\u6765\u4f53\u9a8c \u6700\u65b0\u53d1\u5e03\u7684 Dashboard \u5e94\u7528\u7ba1\u7406\u3001\u76d1\u63a7\u89c6\u56fe\u7b49\u80fd\u529b\u3002

\n

\u9996\u5148\uff0c\u70b9\u51fb\u00a0Express \u94fe\u63a5\uff0c\u626b\u7801\uff0c\u767b\u5f55\u817e\u8baf\u4e91\u8d26\u53f7\u6388\u6743\uff0c\u4e00\u952e\u90e8\u7f72\u4f60\u7684 Express \u5e94\u7528\u3002

\n

\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u770b\u5230\u5982\u4e0b\u56fe\u6240\u793a\uff1a

\n

\"\"

\n

\u4f60\u7684 Express \u5e94\u7528\u5df2\u7ecf\u90e8\u7f72\u597d\u4e86\uff01

\n

\u7b49\u5f85\u51e0\u5206\u949f\uff0c\u5c31\u53ef\u4ee5\u5728 Dashboard \u4e0a\u770b\u5230\u5bf9\u5e94\u7684\u76d1\u63a7\u6570\u636e\u5566\uff01

\n

\u5982\u4e0b\u56fe\u6240\u793a\uff1a

\n

\"\"

\n

\u5f53\u524d\u652f\u6301 15 \u5206\u949f\uff0c60 \u5206\u949f\uff0c24 \u5c0f\u65f6\u548c 7 \u5929\u7684\u76d1\u63a7\u6570\u636e\u3002

\n

\u5982\u679c\u60a8\u5e0c\u671b\u8fdb\u884c\u4e8c\u6b21\u5f00\u53d1\uff0c\u5219\u5728\u672c\u5730\u5b89\u88c5 Serverless Framework\uff0c\u5e76\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684[\u4e0b\u8f7d\u9879\u76ee\u4ee3\u7801]\uff0c\u5bf9\u4ee3\u7801\u8fdb\u884c\u4fee\u6539\u548c\u90e8\u7f72\u3002 \u53c2\u8003\uff1a\u66f4\u591a\u6587\u6863\u8d44\u6599

\n
\n

\u6b22\u8fce\u8bbf\u95ee\uff1aServerless \u4e2d\u6587\u7f51

\n" }, { "author": { "url": "member/polobug", "name": "polobug", "avatar": "https://cdn.v2ex.com/gravatar/ae4fb893fd58e8514dfd21a52cce6d3f?s=73&d=retro" }, "url": "t/672267", "title": "\u73b0\u6709\u7684 Serverless \u5e73\u53f0\u8db3\u591f\u5b9e\u65f6\u804a\u5929\u7684\u793e\u533a\u5e94\u7528\u5f00\u53d1\u5417\uff1f", "id": "t/672267", "date_published": "2020-05-16T02:29:19+00:00", "content_html": "

Rt\uff0c\u60f3\u505a\u4e00\u4e2a\u5c0f\u578b\u7684\u793e\u533a\u804a\u5929\u7c7b\uff08\u53d1\u5e16\u3001\u5373\u65f6\u804a\u5929\uff09\u5e94\u7528\uff0c\u4e0d\u77e5\u9053\u73b0\u6709\u7684 serverless \u5e73\u53f0\u662f\u4e0d\u662f\u5df2\u7ecf\u8db3\u591f\u6ee1\u8db3\n\uff0c\uff08 PS \u6709\u72b6\u6001\u7684\u670d\u52a1\u8f6c\u6362\u6210\u53ef\u652f\u6301 serverless \u7684\u65e0\u72b6\u6001\u670d\u52a1\u590d\u6742\u5ea6\u600e\u6837\uff1f\uff09

\n" } ] } ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86