Deno 團隊加入 Cloudflare:workerd 與 celld 合併,瞄準自架 Workers

Deno joins Cloudflare workerd and celld merge enabling self-hosted Workers

Cloudflare \u65bc\u5b98\u65b9\u90e8\u843d\u683c\u5ba3\u5e03\uff0cDeno \u5718\u968a\u52a0\u5165 Cloudflare\uff0c\u4e26\u6703\u628a workerd \u8207 celld \u5169\u9805\u6280\u8853\u5408\u4f75\uff0c\u76ee\u6a19\u662f\u5927\u5e45\u7c21\u5316\u81ea\u884c\u8a17\u7ba1\uff08self-hosting\uff09Workers \u8207 Durable Objects\uff0c\u8b93\u958b\u767c\u8005\u53ef\u4ee5\u5728\u66f4\u591a\u5730\u65b9\u4f7f\u7528\u540c\u4e00\u5957\u539f\u8a9e\u3002\u516c\u544a\u540c\u6642\u520a\u51fa Ryan Dahl \u8207 Kenton Varda \u7684\u8aaa\u660e\u3002[1]

Ryan Dahl\uff1a\u7531 Node.js \u5230 celld

Ryan Dahl \u5728\u6587\u4e2d\u56de\u9867\uff0c\u4ed6\u65e9\u5e74\u4ee5\u4e00\u5834\u67cf\u6796\u5009\u5eab\u793a\u7bc4\u4ecb\u7d39 Node.js\uff0c\u7576\u6642\u4ee5 500 \u884c JavaScript \u5beb\u51fa\u4e00\u500b IRC \u4f3a\u670d\u5668\uff1bNode.js \u662f\u5c0d\u7d14\u975e\u540c\u6b65\u7de8\u7a0b\u6a21\u578b\u7684\u63a2\u7d22\u3002\u4ed6\u5176\u5f8c\u5275\u7acb Deno\uff0c\u5e0c\u671b\u627e\u5230\u66f4\u6709\u529b\u7684\u62bd\u8c61\uff0c\u4f46\u771f\u6b63\u66f4\u5927\u7684\u554f\u984c\u5728\u65bc\u7db2\u7d61\u61c9\u7528\uff1a\u5206\u6563\u904b\u7b97\u3001\u72c0\u614b\u5354\u8ab0\u3001\u8cc7\u6599\u5132\u5b58\uff0c\u4ee5\u53ca\u6309\u9700\u6c42\u81ea\u52d5\u64f4\u5c55\u3002[1]

\u4ed6\u6307\uff0c\u9748\u611f\u4f86\u81ea Cloudflare \u7684 Durable Objects\u2014\u2014\u5b83\u63d0\u4f9b\u975e\u5e38\u6709\u529b\u7684\u62bd\u8c61\uff1a\u5e36 SQLite \u8cc7\u6599\u5eab\u7684\u5206\u6563\u5f0f\u55ae\u4f8b\u3002\u6bcf\u500b Durable Object \u5c31\u50cf\u4e00\u90e8\u5c0f\u578b\u3001\u53ef\u500b\u5225\u5c0b\u5740\u7684\u4f3a\u670d\u5668\uff0c\u64c1\u6709\u81ea\u5df1\u7684\u95dc\u806f\u5f0f\u8cc7\u6599\u5eab\uff1b\u5176 JavaScript \u57f7\u884c\u662f\u55ae\u57f7\u884c\u7dd2\uff08\u6613\u65bc\u63a8\u7406\uff09\uff0c\u53ef\u8655\u7406 WebSocket\uff0c\u5176\u672c\u5730 SQLite \u8cc7\u6599\u5eab\u53ef\u540d\u540c\u6b65\u5b58\u53d6\u3002\u4ee5\u300c\u6bcf\u500b\u983b\u9053\u4e00\u500b DO\u300d\u65b9\u5f0f\u5efa\u7acb\u804a\u5929\u61c9\u7528\uff0c\u5373\u7b49\u65bc\u628a\u8cc7\u6599\u8207 WebSocket \u9023\u7dda\u5206\u7247\uff0c\u4ee4\u61c9\u7528\u53ef\u64f4\u5c55\uff1b\u800c\u5728\u9019\u500b\u62bd\u8c61\u4e4b\u4e0a\uff0c\u9084\u53ef\u4ee5\u5efa\u7acb Queues\u3001KV\u3001Durable Execution\uff08Cloudflare \u7684 Workflow API\uff09\uff0c\u751a\u81f3 Git \u5132\u5b58\u3002[1]

\u4e0d\u904e\u4ed6\u6307\uff0c\u8981\u5728 Cloudflare \u4ee5\u5916\u904b\u884c\u9019\u500b\u6a21\u578b\u4e00\u76f4\u5f88\u56f0\u96e3\uff1aworkerd \u96d6\u7136\u5df2\u958b\u6e90\uff0c\u4f46\u5176 Durable Objects \u652f\u63f4\u53ea\u9650\u55ae\u4e00\u5be6\u4f8b\u3002\u65bc\u662f\u4ed6\u5728 Cloudflare \u4ee5\u5916\u958b\u5c55 celld\uff0c\u76ee\u6a19\u662f\u76f8\u53cd\u7684\u6975\u7c21\uff1a\u4e00\u500b\u4ee5 Rust \u5beb\u6210\u7684\u4e8c\u9032\u4f4d\u6a94\uff0c\u7269\u4ef6\u5132\u5b58\u662f\u5176\u552f\u4e00\u5916\u90e2\u670d\u52d9\u4f9d\u8cf4\uff1b\u4f7f\u7528\u8005\u53ea\u9700\u7ba1\u7406\u591a\u500b celld \u5be6\u4f8b\uff0c\u4ee5\u53ca\u4e00\u500b\u7269\u4ef6\u5132\u5b58\u6876\u3002[1]

Kenton Varda\uff1a\u958b\u6e90\u8207\u300c\u9396\u5b9a\u300d\u4e4b\u8faf

Cloudflare \u7684 Kenton Varda \u5247\u56de\u61c9\u4e86\u95dc\u65bc\u300c\u9396\u5b9a\uff08lock-in\uff09\u300d\u7684\u5e38\u898b\u8aaa\u6cd5\u3002\u4ed6\u6307\uff0c\u7576 Deno \u5718\u968a\u5728 8 \u6708\u63a8\u51fa celld \u6642\uff0cCloudflare \u5176\u5be6\u611f\u5230\u9ad8\u8208\u3002\u4ed6\u89e3\u91cb\uff0c\u5916\u754e\u5e38\u7a31 Cloudflare \u523b\u610f\u4ee4 Workers \u8207\u5176\u4ed6\u96f2\u7aef\u5e73\u53f0\u4e0d\u540c\u4ee5\u9020\u6210\u9396\u5b9a\uff0c\u5c24\u5176\u4f7f\u7528 Durable Objects \u7684\u61c9\u7528\u4e0d\u53ea\u662f\u5beb\u6cd5\u4e0d\u540d\uff0c\u67b6\uu69cb\u4e5f\u4e0d\u540d\uff1b\u4f46\u4ed6\u7684\u770b\u6cd5\u76f8\u53cd\u3002[1]

\u4ed6\u8209\u51fa\u4e8b\u5be6\uff1aCloudflare Workers \u7684\u57f7\u884c\u74b0\u5883 workerd \u662f\u958b\u6e90\u7684\uff0c\u4e14\u4e0d\u662f\u5e73\u884c\u5be6\u4f5c\uff0c\u800c\u662f\u8207\u751f\u7522\u74b0\u5883\u540c\u4e00\u4efd\u7a0b\u5f0f\u78bc\uff1b\u7576\u516c\u53f8 2022 \u5e74\u5411 Shopify \u7b49\u5ba2\u6236\u63a8\u92b7 Workers for Platforms \u6642\uff0c\u5ba2\u6236\u660e\u78ca\u8868\u793a\u9664\u975e Workers Runtime \u958b\u6e90\uff0c\u5426\u5247\u4e0d\u53ef\u80fd\u5728\u5176\u4e0a\u5efa\u69cb\u3002\u4ed6\u4ea6\u63d0\u5230\uff0c\u516c\u53f8\u6709\u524d\u5ba2\u6236\u662f\u900f\u904e workerd \u9077\u79fb\u96e2\u958b\uff0c\u800c\u958b\u6e90\u3001\u63d0\u4f9b\u300c\u9003\u751f\u9580\u300d\u5c0d\u751f\u610f\u53cd\u800c\u662f\u597d\u4e8b\u3002[1]

Varda \u6307\u51fa\uff0cworkerd \u5728\u751f\u7522\u5c31\u7dd2\u65b9\u9762\u4e00\u76f4\u6709\u500b\u5927\u7f3a\u53e3\uff1aDurable Objects\u3002workerd \u6709\u5be6\u4f5c\uff0c\u4f46\u53ea\u652f\u63f4\u55ae\u4e00\u5be6\u4f8b\uff0c\u8db3\u5920\u672c\u6a5f\u6e2c\u8a66\u4f46\u7121\u6cd5\u64f4\u5c55\uff1b\u800c Cloudflare \u81ea\u5bb6\u7684 Durable Object \u8def\u7531\u5be6\u4f5c\uff0c\u662f\u70ba\u6578\u767e\u500b\u4f4d\u7f6e\u800c\u8a2d\u3001\u4f9d\u8cf4\u591a\u500b\u7531 SRE \u5718\u968a\u71df\u904b\u7684\u5916\u90e2\u670d\u52d9\uff0c\u4e26\u975e\u81ea\u67b6\u8005\u60f3\u8981\u7684\u65b9\u6848\u3002\u56e0\u6b64 celld \u7684\u51fa\u73fe\u6b63\u597d\u88dc\u4f4d\uff1a\u5b83\u662f\u4e00\u500b\u8207 Cloudflare \u5be6\u4f5c\u5b8c\u5168\u517c\u5bb9\u3001\u540c\u6642\u5c08\u6ce8\u65bc\u53ef\u81ea\u67b6\u8207\u53ef\u64f4\u5c55\u7684 Workers \u53ca Durable Objects \u5be6\u4f5c\u3002[1]

\u5169\u908a\u8aaa\u6cd5

Ryan Dahl \u8868\u793a\uff0c\u4ed6\u5011\u52a0\u5165 Cloudflare\uff0c\u662f\u70ba\u4e86\u4ee4 Workers \u7de8\u7a0b\u6a21\u578b\u6210\u70ba\u5efa\u69cb\u4f3a\u670d\u5668\u7684\u4e3b\u6d41\u65b9\u5f0f\uff1b\u628a celld \u8207 workerd \u7d50\u5408\uff0c\u76ee\u6a19\u662f\u4ee4\u5728\u81ea\u5df1\u57fa\u5efa\u4e0a\u5efa\u69cb\u53ca\u71df\u904b\u5206\u6563\u5f0f\u61c9\u7528\u8b8a\u5f97\u6975\u70ba\u5bb9\u6613\u3002Deno \u65b9\u9762\u4ea6\u5728\u5b98\u65b9\u90e2\u843d\u683c\u767c\u6587\u4ea4\u4ee3 Deno runtime \u53ca\u76f8\u95dc\u5de5\u4f5c\u7684\u5b89\u6392\u3002[1][2]

\u53c3\u8003\u8cc7\u6599

[1] Cloudflare \u5b98\u65b9\u90e8\u843d\u683c \u2014 Deno is joining Cloudflare

[2]
Deno \u5b98\u65b9\u90e8\u843d\u683c \u2014 \u76f8\u95dc\u516c\u5e03\uff08Ryan Dahl\uff09

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*