इस प्रोजेक्ट के बारे में
Goa Go सेवाओं के निर्माण के लिए एक डिज़ाइन-प्रथम फ्रेमवर्क है। हैंडलर, क्लाइंट और स्पेसिफिकेशन अलग-अलग लिखने के बजाय, आप प्रकार, विधियाँ, सत्यापन और त्रुटियों को एक बार Go-आधारित DSL में वर्णित करते हैं, और जनरेटर बाकी उत्पन्न करता है।
एकल डिज़ाइन से जनरेटर क्या उत्पन्न करता है:
- टाइप की गई सेवा इंटरफेस, एंडपॉइंट, क्लाइंट और सीमा सत्यापन
- HTTP सर्वर हैंडलर, एनकोडर/डिकोडर, Go क्लाइंट, CLI कमांड और OpenAPI स्पेसिफिकेशन
- gRPC प्रोटोकॉल बफर परिभाषाएँ, सर्वर/क्लाइंट एडेप्टर, सीरियलाइज़ेशन और CLI कमांड
- JSON-RPC सर्वर/क्लाइंट कोड, अनुरोध डिस्पैच, बैच और नोटिफिकेशन
- स्ट्रीमिंग समर्थन: HTTP के लिए WebSocket और SSE, JSON-RPC के लिए SSE, और gRPC स्ट्रीम
- नामित परिणाम दृश्य जिनमें प्रतिक्रिया आकार चुनने और सीरियलाइज़ करने के लिए कोड शामिल है
एकल सेवा परिभाषा एक ही ऑपरेशन को HTTP, gRPC और JSON-RPC पर उजागर कर सकती है। उत्पन्न ट्रांसपोर्ट एक सेवा इंटरफेस साझा करते हैं, इसलिए व्यावसायिक तर्क सामान्य Go में उत्पन्न ट्री के बाहर एक बार लागू किया जाता है। डिज़ाइन बदलने और पुनर्जनन करने से हैंडलर, क्लाइंट, सत्यापन और स्पेसिफिकेशन एक साथ अपडेट होते हैं, जिससे कोड और दस्तावेज़ीकरण के बीच विचलन कम होता है।
README एक कोडिंग-एजेंट वर्कफ़्लो पर भी प्रकाश डालता है: एक "Goa सेवा डिज़ाइनर" कौशल को एप्लिकेशन रिपॉजिटरी में स्थापित किया जा सकता है ताकि डिज़ाइन परिवर्तन, जनरेशन, कार्यान्वयन और सत्यापन का मार्गदर्शन हो। परियोजना AI एजेंट और MCP सर्वर बनाने के लिए Goa-AI की ओर इशारा करती है जो Goa प्रकारों का पुन: उपयोग करते हैं और सेवा विधियों से टूल बाँधते हैं, इन-मेमोरी या Temporal निष्पादन इंजन के साथ।
आरंभ करने के लिए Go 1.26 या बाद का संस्करण आवश्यक है (1.27.1 अनुशंसित)। एक क्विकस्टार्ट मॉड्यूल आरंभ करने, डिज़ाइन लिखने, जनरेटर और उदाहरण कमांड चलाने और परिणामी सेवा को कॉल करने के माध्यम से चलता है। तीनों ट्रांसपोर्ट के लिए, प्रोटोकॉल बफर कंपाइलर और Go प्रोटोबफ जनरेटर आवश्यक हैं; केवल HTTP पहला रन gRPC और JSON-RPC ब्लॉक को छोड़ सकता है।
दस्तावेज़ीकरण DSL संदर्भ, कोड जनरेशन, ट्रांसपोर्ट-विशिष्ट गाइड, सुरक्षा योजनाओं और इंटरसेप्टर जैसे उत्पादन विषय, और उदाहरण एप्लिकेशनों का एक सेट शामिल करता है। परियोजना MIT लाइसेंस प्राप्त है और सामुदायिक योगदान स्वीकार करती है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.