প্রকল্প সম্পর্কে
AetherGrid একটি ডিস্ট্রিবিউটেড AI ওয়ার্কলোড অর্কেস্ট্রেটর যা সম্পদ প্রয়োজনীয়তা এবং সীমাবদ্ধতার ভিত্তিতে কম্পিউট নোড জুড়ে ওয়ার্কলোড নির্ধারণ করে, এবং সারিবদ্ধ থেকে নির্ধারিত, চলমান, সম্পন্ন, ব্যর্থ, পুনরায় চেষ্টা এবং বাতিল পর্যন্ত সম্পূর্ণ কাজের জীবনচক্র পরিচালনা করে। এটি কঠোর ডোমেইন-ড্রিভেন ডিজাইনের উপর নির্মিত, যেখানে একটি বিচ্ছিন্ন ডোমেইন কোর রয়েছে যার কোনো অবকাঠামো নির্ভরতা নেই, একটি ইভেন্ট-চালিত পুনর্মিলন লুপ এবং লিজ-ভিত্তিক এক্সিকিউশন মালিকানা রয়েছে।
প্রকল্পের বিবৃত প্রেরণা হল স্কেলে নির্ধারণের কঠিন সমস্যাগুলি সমাধান করা: ব্যর্থতার অধীনে একচেটিয়া এক্সিকিউশন মালিকানা, আংশিক ব্যর্থতার পরে পুনর্মিলন এবং প্রয়োগকৃত সম্পদ সীমা। ডোমেইন স্তর (Job, Node, Worker, Lease, Event, ApiKey সমষ্টি) নির্ধারণ অ্যালগরিদম এবং জীবনচক্র স্টেট মেশিনকে সাধারণ Python হিসাবে ধারণ করে, FastAPI বা psycopg থেকে কোনো আমদানি ছাড়াই। অ্যাপ্লিকেশন পরিষেবাগুলি ডোমেইন অবজেক্ট এবং রিপোজিটরিগুলিকে সমন্বয় করে, যখন অবকাঠামো প্রতিটি রিপোজিটরির জন্য PostgreSQL বাস্তবায়ন প্রদান করে, ORM-এর পরিবর্তে কাঁচা psycopg ব্যবহার করে, পাশাপাশি স্থানীয় উন্নয়নে কিছু রিপোজিটরির জন্য SQLite বাস্তবায়ন প্রদান করে। উপস্থাপনা স্তর হল FastAPI, এবং ফ্রন্টএন্ড হল React এবং TypeScript।
বর্ণিত মূল ক্ষমতাগুলির মধ্যে রয়েছে API কী প্রমাণীকরণ যা প্রতিটি রুটে গেট করে (কী-ইস্যুকারী এন্ডপয়েন্ট সহ, প্রথম কী শুধুমাত্র সরাসরি ডেটাবেস অ্যাক্সেস সহ একটি স্থানীয় স্ক্রিপ্টের মাধ্যমে তৈরি হয়), CANCELLING অবস্থার মাধ্যমে চলমান কাজ বাতিল সহ স্পষ্ট কাজের অবস্থা পরিবর্তন, প্রতি-কাজের জীবনচক্র ইতিহাস পৃষ্ঠা, সীমাবদ্ধতা-সচেতন সর্বোত্তম-ফিট বরাদ্দকারী, নোড ড্রেনিং, কর্মী নিবন্ধন এবং হার্টবিট, একটি স্বতন্ত্র কর্মী এজেন্ট প্রক্রিয়া যা HTTP-এর উপর পোল করে এবং কাজগুলিকে প্রকৃত সাবপ্রসেস হিসাবে কার্যকর করে, ক্রমাগত নবায়ন সহ লিজ-ভিত্তিক এক্সিকিউশন মালিকানা, স্পষ্ট এক্সিকিউশন-শুরু নিশ্চিতকরণ, দুই-পর্যায় শাটডাউন (SIGTERM তারপর SIGKILL) সহ প্রকৃত সাবপ্রসেস এক্সিকিউশন, নোড লাইভনেস ট্র্যাকিং, সীমিত পুনরায় চেষ্টা সহ পুনর্মিলন, ডোমেইন ইভেন্ট রেকর্ডিং, একটি লাইভ ক্লাস্টার-ব্যাপী ইভেন্ট ফিড, কর্মী দৃশ্যমানতা এবং একটি মাল্টি-পেজ ড্যাশবোর্ড।
README প্রকৌশল সিদ্ধান্ত রেকর্ডের উপর জোর দেয়: /docs/adr-এ 39টি ADR নথিভুক্ত, যা পুনর্মিলন লুপ, কাজ পুনরুদ্ধার এবং পুনর্মিলন মেরামত, প্রকৃত কাজ কার্যকর, ক্রমাগত লিজ নবায়ন, API কী প্রমাণীকরণ, নির্ধারণ নীতির ডোমেইন মালিকানা, স্বতন্ত্র কর্মী এজেন্ট, লিজ নবায়নের মাধ্যমে বাতিল, আইডেমপোটেন্ট কর্মী নিবন্ধন, মাঝপথে বাতিল হওয়া কাজ পুনরুদ্ধার, ইভেন্ট লুপ থেকে ক্লাস্টার টিক এক্সিকিউশন সরানো, RUNNING পরিবর্তন স্থায়ী করা এবং কর্মী পরিচয়ের পরিবর্তে লিজ পরিচয় দ্বারা বেশ কয়েকটি লিজ-ফেন্সিং ফিক্সের মতো বিষয়গুলি কভার করে। README-তে বলা হয়েছে ডোমেইন, অ্যাপ্লিকেশন, অবকাঠামো এবং API স্তর জুড়ে 347টি পরীক্ষা, যার মধ্যে চুক্তি পরীক্ষা রয়েছে যা প্রমাণ করে যে রিপোজিটরি বাস্তবায়ন একইভাবে আচরণ করে।
প্রকল্পটিতে Render-এ স্থাপিত একটি লাইভ ডেমো রয়েছে যার সাথে প্রকৃত PostgreSQL, প্রকৃত প্রমাণীকরণ এবং API-কী-গেটেড এন্ডপয়েন্ট রয়েছে। এটি MIT লাইসেন্সের অধীনে এবং Python 3.12, FastAPI, PostgreSQL, React/TypeScript এবং Docker Compose ব্যবহার করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.