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

Kontiki ডিস্ট্রিবিউটেড সিস্টেম তৈরির জন্য একটি স্ট্যান্ডার্ডাইজড ফ্রেমওয়ার্ক প্রদান করে, যা ম্যানুয়াল ব্রোকার টপোলজি কনফিগারেশনের পরিবর্তে প্ল্যাটফর্ম কনভেনশন ব্যবহার করে। এটি আইডেন্টিটি, রাউটিং এবং ফ্লিট হেলথ-এর একটি শেয়ারড মডেলের মাধ্যমে সার্ভিস এন্ট্রিপয়েন্ট এবং ইন্টারঅ্যাকশন সংজ্ঞায়িত করতে এক সেট ডেকোরেটর (@http, @rpc, @on_event, @task) ব্যবহার করে। এর মূল সক্ষমতাগুলোর মধ্যে রয়েছে: - মেসেজিং প্যাটার্ন: এটি রিকোয়েস্ট/রিপ্লাই-এর জন্য সিনক্রোনাস RPC এবং বিভিন্ন ডেলিভারি মোড সহ অ্যাসিনক্রোনাস ইভেন্ট সমর্থন করে: ডিফল্ট (কম্পিটিং কনজ্যুমার), ব্রডকাস্ট (সব ইনস্ট্যান্স), এবং সেশন-বেসড (পিনড ইনস্ট্যান্স)। - ফ্লিট ম্যানেজমেন্ট: এতে হার্টবিট, এক্সেপশন ট্র্যাকিং এবং হেলথ প্রোব (GET /live/{service_name})-এর জন্য একটি রেজিস্ট্রি অন্তর্ভুক্ত রয়েছে, যা সার্ভিসগুলোকে তাদের ডিগ্রেডেড স্টেট সংকেত দিতে সাহায্য করে। - অপারেশনাল টুলিং: এটি ক্রস-সার্ভিস ডিবাগিং-এর জন্য flow_id-এর মাধ্যমে ফ্লো কোরিলেশন ইন্টিগ্রেট করে এবং বিস্তৃত Kontiki সুইটের সাথে যুক্ত থাকে, যার মধ্যে ডিক্লারেটিভ ক্রন টাস্কের জন্য kontiki-scheduler, ফ্লিট ভিজুয়ালাইজেশনের জন্য kontiki-tui এবং অ্যালার্টিং-এর জন্য kontiki-monitor অন্তর্ভুক্ত। - ডেভেলপমেন্ট ওয়ার্কফ্লো: এটি মার্জড YAML কনফিগারেশন এবং একটি ডেডিকেটেড টেস্টিং মডিউল (kontiki.testing) ব্যবহার করে ডেভেলপমেন্ট থেকে প্রোডাকশন পর্যন্ত একটি ইউনিফাইড মডেল অফার করে, যা মেসেজ বাসকে মক (mock) করে। এই ফ্রেমওয়ার্কটির জন্য আন্ডারলাইং মেসেজ ব্রোকার হিসেবে RabbitMQ প্রয়োজন।