इस प्रोजेक्ट के बारे में

Kratos एक हल्का 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-से-v3 माइग्रेशन गाइड की ओर इशारा करता है। आगे के संसाधनों में आधिकारिक दस्तावेज़ीकरण, एक उदाहरण रिपॉजिटरी, एक अनुशंसित प्रोजेक्ट लेआउट और एक सामुदायिक योगदान गाइड शामिल हैं। विकास कार्य make test और make lint के माध्यम से चलाए जाते हैं। सामुदायिक चैनलों में दस्तावेज़ीकरण, एक WeChat समूह, Discord और GitHub चर्चाएँ शामिल हैं। सुरक्षा मुद्दों को एक समर्पित ईमेल पते के माध्यम से निजी रूप से संभाला जाता है। प्रोजेक्ट MIT लाइसेंस प्राप्त है और go-kit, go-micro, go-cloud, go-zero और beego से प्रभाव स्वीकार करता है।