প্রকল্প সম্পর্কে
Latent Service Fabric (LSF) হলো Rust-এ লেখা এবং Wasmtime-এর উপর নির্মিত একটি পরীক্ষামূলক, কম্পোনেন্ট-নেটিভ এক্সিকিউশন ফ্যাব্রিক। এর স্ট্যান্ডঅ্যালোন রানটাইম একটি Linux নোডে স্বাধীনভাবে ডিপ্লয়যোগ্য স্টেটলেস সার্ভিস ক্যাপসুল চালায়, তবে নিষ্ক্রিয় সার্ভিসের জন্য কোনো স্থায়ী প্রসেস, সকেট, থ্রেড, গেস্ট হিপ বা কানেকশন পুল বরাদ্দ করে না।
একটি ডিপ্লয় করা সার্ভিস অপরিবর্তনীয় কোড, কনট্র্যাক্ট, পলিসি এবং ডিপ্লয়মেন্ট/রাউটিং মেটাডেটা দ্বারা প্রতিনিধিত্ব করে। কোনো ইনভোকেশন অ্যাক্টিভেশনে পরিণত হলে তবেই এক্সিকিউশন রিসোর্স বরাদ্দ হয়, এবং অ্যাক্টিভেশনগুলো পুনর্ব্যবহারযোগ্য স্যান্ডবক্সড সেলের একটি নির্দিষ্ট পুলে চলে। ঘোষিত মূল ইনভ্যারিয়েন্ট হলো—রেসিডেন্ট স্টেট সমান একটি নির্দিষ্ট নোড রানটাইম যোগ সীমাবদ্ধ ক্যাটালগ মেটাডেটা, সক্রিয় অ্যাক্টিভেশন এবং সীমাবদ্ধ শেয়ার্ড ক্যাশ; প্রসেস, থ্রেড, সকেট ও সেল সংখ্যা নোড-নির্ধারিত এবং ডিপ্লয় করা সার্ভিসের সংখ্যার সাথে বাড়া উচিত নয়।
ইন্টারফেস স্তরগুলোর মধ্যে আছে ক্যাপসুল এক্সপোর্ট ও প্ল্যাটফর্ম সক্ষমতার জন্য WIT, কন্ট্রোল-প্লেন, নোড-ম্যানেজমেন্ট, ট্রিগার-ম্যানেজমেন্ট ও ইনভোকেশন API-এর জন্য Protobuf, ডিক্লারেটিভ রিসোর্সের জন্য JSON Schema, অভ্যন্তরীণ সিমের জন্য Rust trait, এবং ভাষা SDK সারফেস। রিপোজিটরি সাজানো হয়েছে apps (স্ট্যান্ডঅ্যালোন latentd নোড, অপারেটর CLI, কন্ট্রোল-প্লেন প্লেসহোল্ডার), crates, wit, api/proto, schemas, sdk, examples, adr, rfcs, research, docs, tests, benchmarks এবং tools-এ।
বাইনারি: latentd (serve --config-এর মাধ্যমে স্ট্যান্ডঅ্যালোন Linux নোড, সাথে একটি সীমিত phase0-spike হার্নেস এবং verify-recovery কন্টেইনমেন্ট প্রমাণ), latent-control (ক্লাস্টারড কন্ট্রোল-প্লেন প্লেসহোল্ডার), এবং latent (স্থানীয় প্যাকেজ বিল্ড/ইনস্পেক্ট/ভেরিফিকেশন, OCI ট্রান্সফার, রিলিজ লাইফসাইকল, রোলআউট/ক্যানারি/রোলব্যাক, অডিট, ইনভোকেশন ও রাউটিং কমান্ড)।
ডকুমেন্টেড Phase 1 ফিচারের মধ্যে আছে লকড বিল্ড ও জেনারেটেড কনট্র্যাক্ট, ছয়টি ভাষায় SDK ইনভোকেশন কনট্র্যাক্ট, ম্যানিফেস্ট ডিকোডিং ও ভ্যালিডেশন, ডেডলাইন ও ক্যান্সেলেশনসহ রিসোর্স অ্যাকাউন্টিং, ডাইজেস্ট ভেরিফিকেশনসহ স্থানীয় রিলিজ স্টোরেজ, অপরিবর্তনীয় রুট জেনারেশনসহ ডিপ্লয়মেন্ট ও রাউটিং, অ্যাডমিশন কন্ট্রোল ও কোটা, ফেয়ার শিডিউলিং, Wasmtime-এর মাধ্যমে জেনেরিক কম্পোনেন্ট এক্সিকিউশন, অ্যাক্টিভেশন সক্ষমতা ও লাইফসাইকল, টেলিমেট্রি, ইনভোকেশন ও ম্যানেজমেন্ট সার্ভিস, স্ট্যান্ডঅ্যালোন নোড, অপারেটর CLI, সীমাবদ্ধ কনফরম্যান্স টেস্ট এবং মেজারমেন্ট রিপোর্ট। প্রকল্পটি Docker ও Kubernetes তুলনা রানও ডকুমেন্ট করে (প্রতি প্ল্যাটফর্মে ৯,৯২৬টি পূর্ণ অফার), যেখানে নেটিভ সার্ভিসের জন্য কম ওয়ার্ম রিকোয়েস্ট লেটেন্সি এবং ৮ ও ৩২টি সার্ভিসে LSF-এর জন্য কম অ্যাপ্লিকেশন মেমরি রিপোর্ট করা হয়, একইসাথে কোল্ড-স্টার্ট সীমা, রিসোর্স-লিমিট পার্থক্য এবং Docker Desktop/WSL2 পরিবেশ উল্লেখ করা হয়।
Phase 2 যোগ করে ডিটারমিনিস্টিক প্যাকেজিং ও প্রমাণীকৃত OCI রেজিস্ট্রি ট্রান্সফার, পাবলিশার ট্রাস্ট, বিল্ড প্রভেন্যান্স ও SBOM ভেরিফিকেশন, ট্রাস্টেড অ্যাডমিশন ও রিলিজ লাইফসাইকল, স্থায়ী নেটিভ ইমেজ ক্যাশসহ আইসোলেটেড কম্পাইলেশন, টেকসই প্রশাসনিক অডিট, ক্যানারি অবজারভেশন, ম্যানুয়াল রোলআউট কোঅর্ডিনেশন, নিয়ন্ত্রিত ক্যানারি প্রমোশন, অ্যাটমিক রোলব্যাক এবং অপারেটর ওয়ার্কফ্লো। প্রকল্পটি জানায় যে স্থানীয় ভেরিফিকেশন ও কপি করা ক্যানারি অবজারভেশন এক্সিকিউশন বা প্রমোশনের অনুমতি দেয় না, এবং ম্যানেজড ডিপ্লয়মেন্ট একটি কলার-রিটেইনড অপারেশন ID, সঠিক অবজেক্ট জেনারেশন ও ক্যাটালগ স্টেট ভার্সন বাইন্ড করে।
Phase 0 একটি সংকীর্ণ স্থানীয় ফিজিবিলিটি স্পাইক: একটি Rust echo Component Model গেস্ট বিল্ড করা, প্রকৃত Wasmtime বাইন্ডিংয়ের মাধ্যমে তা লোড ও ইনভোক করা, সীমাবদ্ধ কিউসহ একটি এক্সিকিউশন সেল লিজ ও রিক্লেইম করা, ঘোষিত ডোমেইন এরর, ট্র্যাপ, টাইমআউট, ক্যান্সেলেশন ও মেমরি প্রেশার কন্টেইন করা, এবং সীমাবদ্ধ অ্যাক্টিভেশন স্টেট রেকর্ড করা। README স্পষ্টভাবে বলে এটি রাউটিং, অ্যাডমিশন, ডিপ্লয়মেন্ট ম্যানেজমেন্ট, প্রোডাকশন ট্রাস্ট/সিকিউরিটি, টেকসই স্টেট, রিমোট ইনভোকেশন, ক্লাস্টারিং, প্রোডাকশন SLO বা ১০০,০০০ নিষ্ক্রিয়-সার্ভিস ইনভ্যারিয়েন্ট প্রমাণ করে না।
বিল্ড ও ভ্যালিডেশনে একটি পিন করা টুলচেইন (Rust, Component Model, Protobuf, schema, SDK টুল) একটি Python ভার্চুয়াল এনভায়রনমেন্ট ও make validate-এর সাথে ব্যবহৃত হয়; ১০০,০০০-রিলিজ ক্যাটালগ প্রোব ও নেটিভ-Linux soak-এর মতো ব্যয়বহুল টেস্টের জন্য স্পষ্ট নির্বাচন প্রয়োজন। make phase0-spike-demo এক্সিকিউটেবল ডেমোনস্ট্রেশন চালায়, এবং make phase0-gate একটি মেশিন-রিডেবল রিসিট লেখে। জেনারেটেড বাইন্ডিং ও ডেসক্রিপ্টর Cargo OUT_DIR বা target/contracts-এর অধীনে আইসোলেটেড থাকে। Apache 2.0 লাইসেন্সের অধীনে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.