• OpenWorkers एक open source runtime है जो V8-आधारित वातावरण में JavaScript चलाता है, जिससे edge computing को अपनी infrastructure पर लागू किया जा सकता है
  • यह KV storage, PostgreSQL, S3/R2-compatible storage, service bindings, environment variables और secrets को support करता है
  • fetch, ReadableStream, crypto.subtle जैसे प्रमुख Web API शामिल हैं, जिससे Cloudflare Workers के साथ उच्च compatibility बनी रहती है
  • V8 Isolate sandbox, cron scheduling, और Docker Compose-आधारित deployment के जरिए आसान self-hosting संभव है
  • लगभग 7 वर्षों में विकसित हुआ यह प्रोजेक्ट vendor lock-in के बिना JavaScript execution environment बनाने का लक्ष्य रखता है

OpenWorkers परिचय

  • OpenWorkers एक Rust में लिखा गया Cloudflare Workers-compatible runtime है, जो V8 Isolate का उपयोग करके JavaScript चलाता है
    • edge computing के फायदे अपनी server environment में भी लिए जा सकते हैं
    • open source होने के कारण इसे स्वतंत्र रूप से deploy और modify किया जा सकता है

मुख्य विशेषताएँ

  • Bindings फीचर के जरिए विभिन्न external resources के साथ integration
    • KV storage: get, put, delete, list support
    • PostgreSQL database integration
    • S3/R2-compatible storage support
    • service bindings, environment variables और secret management शामिल
  • Web API support
    • fetch, Request, Response, ReadableStream जैसे standard API उपलब्ध
    • crypto.subtle, TextEncoder/Decoder, Blob, setTimeout, AbortController शामिल

आर्किटेक्चर

  • सिस्टम nginx proxy, dashboard, API, log service, runner, PostgreSQL, NATS, scheduler आदि से मिलकर बना है
    • हर runner V8 Isolate के भीतर code चलाता है, और CPU 100ms, memory 128MB limits लागू होती हैं
    • 5~6-field cron syntax को support करने वाला built-in scheduler शामिल है
    • Cloudflare Workers के साथ syntax compatibility बनी रहती है

Self-hosting

  • deployment केवल एक PostgreSQL database और Docker Compose file से संभव है
    • git clone, .env configuration, और docker compose up command से इसे आसानी से चलाया जा सकता है
    • migration और token generation प्रक्रिया भी शामिल है

विकास पृष्ठभूमि

  • यह प्रोजेक्ट लगभग 7 साल की development process के बाद तैयार हुआ है
    • शुरुआत में vm2 के साथ JS sandboxing का प्रयोग किया गया, फिर Cloudflare Workers मॉडल से प्रेरित होकर यह आगे विकसित हुआ
    • Deno-core से गुजरते हुए अब इसे rusty_v8 पर फिर से लिखा गया है
  • लक्ष्य है Cloudflare Workers-स्तर का developer experience (DX) देना, साथ ही vendor lock-in हटाकर self-hosted server execution environment बनाना
  • भविष्य में execution history और replay feature के जरिए deterministic debugging जोड़ने की योजना है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.