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

ক্র্যাটোস হলো ক্লাউড-নেটিভ মাইক্রোসার্ভিস তৈরির লক্ষ্যে একটি হালকা Go ফ্রেমওয়ার্ক। এটি ট্রান্সপোর্ট, মিডলওয়্যার, রেজিস্ট্রি, কনফিগারেশন, লগিং, এনকোডিং এবং কোড জেনারেশন কভার করে ছোট, স্পষ্ট API প্রকাশ করে, যাতে অ্যাপ্লিকেশন কোড ব্যবসায়িক লজিকের উপর মনোযোগ দিতে পারে। README-তে বর্ণিত মূল সক্ষমতাগুলো: - Protobuf ব্যবহার করে API-ফার্স্ট ডেভেলপমেন্ট, জেনারেট করা HTTP এবং gRPC কোড সহ। - একটি একীভূত ট্রান্সপোর্ট লেয়ার যা HTTP এবং gRPC উভয় সার্ভার পরিচালনা করে। - রিকভারি, লগিং, ভ্যালিডেশন, ট্রেসিং, মেট্রিক্স এবং অথেন্টিকেশনের মতো বিষয়গুলোর জন্য কম্পোজেবল মিডলওয়্যার। - প্লাগেবল রেজিস্ট্রি, কনফিগারেশন এবং এনকোডিং কম্পোনেন্ট, যা বিভিন্ন ব্যাকএন্ড প্রতিস্থাপনের সুযোগ দেয়। - স্ট্যান্ডার্ড লাইব্রেরি log/slog-এর উপর নির্মিত লগিং, contrib প্যাকেজের মাধ্যমে OpenTelemetry এক্সটেনশন উপলব্ধ। - মেটাডেটা, ত্রুটি, ভ্যালিডেশন, OpenAPI এবং কোড-জেনারেশন ওয়ার্কফ্লোর সামঞ্জস্যপূর্ণ পরিচালনা। - রেজিস্ট্রি, কনফিগ স্টোর, মিডলওয়্যার, এনকোডিং এবং অবজার্ভেবিলিটি সহ ঐচ্ছিক ইন্টিগ্রেশনের জন্য একটি contrib ইকোসিস্টেম। শুরু করতে Go 1.25 বা তার পরবর্তী সংস্করণ, protoc এবং protoc-gen-go প্রয়োজন। CLI ইনস্টল করা হয় go install দিয়ে, এরপর kratos new একটি সার্ভিস স্ক্যাফোল্ড করে, kratos proto add/client/server Protobuf আর্টিফ্যাক্ট জেনারেট করে, এবং kratos run সার্ভিস চালু করে। একটি ন্যূনতম উদাহরণে HTTP এবং gRPC সার্ভার তৈরি, kratos.New-এর সাথে সেগুলো রেজিস্টার করা এবং app.Run কল করা দেখানো হয়েছে। প্রকল্পটি উল্লেখ করে যে v3 কোর ডিপেন্ডেন্সি কমায় এবং পূর্বে অন্তর্নিহিত আচরণকে স্পষ্ট করে, এবং প্রোডাকশন সার্ভিস আপগ্রেড করার আগে পাঠকদের v2-to-v3 মাইগ্রেশন গাইডের দিকে নির্দেশ করে। আরও রিসোর্সের মধ্যে রয়েছে অফিসিয়াল ডকুমেন্টেশন, একটি উদাহরণ রিপোজিটরি, একটি সুপারিশকৃত প্রকল্প লেআউট এবং একটি কমিউনিটি কন্ট্রিবিউশন গাইড। ডেভেলপমেন্ট টাস্ক চালানো হয় make test এবং make lint দিয়ে। কমিউনিটি চ্যানেলের মধ্যে রয়েছে ডকুমেন্টেশন, একটি WeChat গ্রুপ, Discord এবং GitHub Discussions। নিরাপত্তা সমস্যাগুলো একটি নির্দিষ্ট ইমেইল ঠিকানার মাধ্যমে ব্যক্তিগতভাবে পরিচালনা করা হয়। প্রকল্পটি MIT লাইসেন্সের অধীন এবং go-kit, go-micro, go-cloud, go-zero এবং beego থেকে প্রভাব স্বীকার করে।