इस प्रोजेक्ट के बारे में
Apache Dubbo-go, Apache Dubbo का Go कार्यान्वयन है, जो एक उच्च-प्रदर्शन RPC और माइक्रोसर्विस फ्रेमवर्क है और अन्य भाषाओं में Dubbo कार्यान्वयनों के साथ अंतर-संचालन के लिए डिज़ाइन किया गया है। यह सेवा खोज, लोड बैलेंसिंग और ट्रैफिक प्रबंधन जैसे सेवा शासन का समर्थन करने के लिए Go की समवर्ती विशेषताओं का उपयोग करता है।
प्रोटोकॉल समर्थन में Dubbo, JSONRPC, Triple (gRPC-संगत), gRPC, HTTP, HTTP2, और प्रायोगिक HTTP/3 शामिल हैं, जो विषम वातावरणों में एकीकरण में सहायता करते हैं। सूचीबद्ध सेवा खोज एकीकरणों में Nacos, Zookeeper, Etcd, और Polaris-mesh शामिल हैं। लोड बैलेंसिंग रणनीतियों में Adaptive, Random, RoundRobin, LeastActive, और ConsistentHash शामिल हैं। ट्रैफिक प्रबंधन में ट्रैफिक स्प्लिट, टाइमआउट, रेट लिमिटिंग, और कैनरी रिलीज़ शामिल हैं। कॉन्फ़िगरेशन YAML फ़ाइलों या Nacos, Apollo, और Zookeeper जैसे गतिशील स्रोतों से आ सकता है। ऑब्ज़र्वेबिलिटी विकल्पों में Prometheus मेट्रिक्स, OpenTelemetry ट्रेसिंग, और सेवा पंजीकरण जीवनचक्र घटनाओं के साथ लॉगिंग शामिल हैं। उच्च-उपलब्धता रणनीतियों में Failover, Failfast, Failsafe/Failback, Available, Broadcast, और Forking शामिल हैं।
README में Triple प्रोटोकॉल जेनेरिक कॉल, group/version वाइल्डकार्ड मिलान, और TLS API पुनर्डिज़ाइन के माध्यम से Apache Dubbo (Java) के साथ अंतर-संचालन पर प्रकाश डाला गया है। हाल के रिलीज़ API समेकन, Triple प्रोटोकॉल क्षमताओं, एप्लिकेशन-स्तरीय मेटाडेटा, सेवा शासन, समवर्ती सुरक्षा, और रिलीज़ टूलिंग पर केंद्रित हैं। संस्करण 3.3.2 ग्लोबल पैकेज के पक्ष में लेगेसी config पैकेज को हटाता है, और रेस, स्टेल स्नैपशॉट, और संसाधन लीक के लिए फिक्स नोट करता है। संस्करण 3.3.1 ने सामग्री-आधारित कैशिंग के साथ कॉन्फ़िगरेशन हॉट-रीलोडिंग, प्रायोगिक HTTP/3, Apollo एकीकरण, और Triple OpenAPI जनरेशन जोड़ा। संस्करण 3.3.0 ने स्क्रिप्ट रूटिंग, मल्टी-डेस्टिनेशन कंडीशनल रूटिंग, Triple कीपअलाइव और कनेक्शन पूलिंग, और Nacos मल्टी-कैटेगरी सब्सक्रिप्शन पेश किया।
शुरुआत करने के लिए Go 1.24 या बाद का संस्करण आवश्यक है। इंस्टॉलेशन `go get dubbo.apache.org/dubbo-go/v3@latest` के माध्यम से किया जाता है। एक त्वरित उदाहरण Protobuf के साथ सेवा परिभाषित करना, उसे लागू करना, एक पोर्ट पर Triple प्रोटोकॉल के साथ सर्वर पर पंजीकृत करना, और सर्व करना दिखाता है। फिर सेवा को HTTP पर JSON का उपयोग करके cURL से, या एक मानक dubbo-go क्लाइंट के माध्यम से कॉल किया जा सकता है। नमूने dubbo-go-samples रिपॉज़िटरी में उपलब्ध हैं।
डेवलपमेंट टूल्स `tools/` निर्देशिका में रहते हैं: स्कैफोल्डिंग, सहायक टूल्स इंस्टॉल करने, मेटाडेटा निरीक्षण, और डिबगिंग के लिए dubbogo-cli; protobuf परिभाषाओं से Triple बाइंडिंग उत्पन्न करने के लिए protoc-gen-go-triple; OpenAPI v3 दस्तावेज़ उत्पन्न करने के लिए protoc-gen-triple-openapi; Go इम्पोर्ट ग्रुपिंग के लिए imports-formatter; YAML कॉन्फ़िग सत्यापन के लिए dubbo-go-schema; और Dubbo-Go, Dubbo-Java, और gRPC की तुलना करने वाला एक बेंचमार्क सूट।
पारिस्थितिकी तंत्र में dubbo-go-samples, बहु-भाषा अंतर-संचालन के लिए प्रॉक्सी के रूप में dubbo-go-pixiu, Dubbo Java अंतर-संचालन ट्यूटोरियल, और Dubbo Admin कंसोल शामिल हैं। दस्तावेज़ीकरण आधिकारिक Dubbo वेबसाइट और Go SDK अनुभाग पर उपलब्ध है। परियोजना Apache License 2.0 के अंतर्गत लाइसेंस प्राप्त है और GitHub इश्यू और मेलिंग सूचियों के माध्यम से योगदान का स्वागत करती है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.