প্রকল্প সম্পর্কে

Kahuna একটি সার্ভার ক্লাস্টার যা সাধারণ ডিস্ট্রিবিউটেড সিস্টেমস সমস্যা সমাধানের জন্য ডিজাইন করা হয়েছে: ডিস্ট্রিবিউটেড লকিং, কনসিস্টেন্ট কী/ভ্যালু স্টোরেজ, এবং আইডেম্পোটেন্ট অর্ডারড আইডি সিকোয়েন্স। এটি ডেভেলপারদের নির্ভরযোগ্য ও স্কেলযোগ্য ডিস্ট্রিবিউটেড অ্যাপ্লিকেশন তৈরির জন্য রেডি-মেড প্রিমিটিভ দেয়। মূল সক্ষমতা: - ডিস্ট্রিবিউটেড লকিং: নোডগুলির মধ্যে শেয়ারড রিসোর্সে অ্যাক্সেস সিঙ্ক্রোনাইজ করে রেস কন্ডিশন প্রতিরোধ করে এবং ডেটা কনসিস্টেন্সি বজায় রাখে। - কী/ভ্যালু স্টোর: ফল্ট টলারেন্স ও উচ্চ থ্রুপুট সহ একটি ক্লাস্টার জুড়ে স্ট্রাকচার্ড ডেটা সংরক্ষণ ও পুনরুদ্ধার করে, যা মেটাডেটা, ক্যাশে বা অ্যাপ্লিকেশন স্টেটের জন্য উপযুক্ত। - ডিস্ট্রিবিউটেড সিকোয়েন্সার: গ্লোবালি অর্ডারড আইডেন্টিফায়ার তৈরি করে, যা ডেটাবেস, মেসেজ কিউ এবং ইভেন্ট-ড্রিভেন সিস্টেমের জন্য উপযোগী। আর্কিটেকচার: Kahuna একটি স্কেলযোগ্য স্টোরেজ ইঞ্জিনের সাথে Raft-ভিত্তিক কনসেনসাসকে একত্রিত করে। ডেটা স্বাধীনভাবে পরিচালিত পার্টিশনে সংগঠিত হয়। এটি স্ন্যাপশট আইসোলেশনের জন্য মাল্টি-ভার্সন কনকারেন্সি কন্ট্রোল (MVCC) ব্যবহার করে, যা রিড-রাইট কনফ্লিক্ট দূর করে। প্রতিটি পার্টিশন রেপ্লিকেশন এবং লিডার-ভিত্তিক রাইট কোঅর্ডিনেশনের জন্য নিজস্ব Raft গ্রুপ চালায়। ট্রানজেকশনগুলি MVCC সহ টু-ফেজ কমিট (2PC) ব্যবহার করে, যা অপটিমিস্টিক ও পেসিমিস্টিক উভয় কনকারেন্সি কন্ট্রোল মোড সমর্থন করে। সিস্টেমটি ডাইনামিক পার্টিশন স্প্লিটিং ও রিডিস্ট্রিবিউশনের মাধ্যমে অনুভূমিকভাবে স্কেল করে, এবং Raft রেপ্লিকেশন ও স্বয়ংক্রিয় রিকভারির মাধ্যমে অ্যাভেইলেবিলিটি বজায় রাখে। টেকনিক্যাল বিবরণ: - .NET দিয়ে নির্মিত; একটি গ্লোবাল টুল হিসেবে উপলব্ধ (`Kahuna.Server` এবং `Kahuna.Control`)। - পোর্ট: 2070 (HTTP/gRPC), 2071 (HTTPS), 2072 (cleartext gRPC)। - স্টোরেজ পাথ: Linux/macOS `~/.local/share/kahuna`, Windows `%LOCALAPPDATA%\kahuna`। - সার্টিফিকেটের মাধ্যমে HTTPS এবং নোড অথেনটিকেশনের জন্য মিউচুয়াল TLS সমর্থন করে। - স্বয়ংক্রিয় ক্লাস্টার ম্যানেজমেন্টের জন্য Kubernetes Operator (alpha) উপলব্ধ। - নেটওয়ার্ক পার্টিশন, ক্র্যাশ এবং ক্লক স্কিউয়ের অধীনে সঠিকতা যাচাইয়ের জন্য Jepsen দিয়ে পরীক্ষিত। - ওয়েব ড্যাশবোর্ড অন্তর্ভুক্ত। লাইসেন্স: MIT।