gRPC कोड जनरेट करना
Protobuf परिभाषाओं को विभिन्न प्रोग्रामिंग भाषाओं के स्टब में संकलित करने की प्रक्रिया जानें।
gRPC कोड जनरेट करना, CoddyKit पर gRPC और उच्च-प्रदर्शन वाले एपीआई का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह gRPC और उच्च-प्रदर्शन वाले एपीआई सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। gRPC और उच्च-प्रदर्शन वाले एपीआई पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
कोड निर्माण का परिचय
फिर से स्वागत है! पिछले पाठ में हमने प्रोटोबफ़ का उपयोग करके अपनी डेटा संरचनाओं और सेवाओं को परिभाषित करना सीखा।
अब अपनी पसंदीदा प्रोग्रामिंग भाषा में इन परिभाषाओं का वास्तव में उपयोग कैसे करें? यहीं कोड निर्माण काम आता है!
यह किसी योजना से स्रोत कोड अपने-आप बनाने की प्रक्रिया है, जिससे आपको बार-बार लिखा जाने वाला अनावश्यक प्रारंभिक कोड लिखने से बचाया जाता है।
gRPC को स्टब्स की आवश्यकता क्यों है
gRPC बड़े पैमाने पर उत्पन्न कोड पर निर्भर करता है, जिसे अक्सर स्टब्स या प्रॉक्सी कहा जाता है। ये स्टब्स आपके अनुप्रयोग के तर्क और अंतर्निहित gRPC संचार तंत्र के बीच सेतु का काम करते हैं।
- क्लाइंट स्टब्स: आपकी
.protoफ़ाइल में परिभाषित सेवा जैसी विधियाँ प्रदान करते हैं। जब आप क्लाइंट स्टब की किसी विधि को कॉल करते हैं, तो वह डेटा को पैकेज करके नेटवर्क पर भेजती है और उत्तर को खोलती है। - सर्वर स्टब्स: एक अंतराफलक परिभाषित करते हैं, जिसे आपके सर्वर कार्यान्वयन को पूरा करना होता है। यह अनुरोध प्राप्त करता है, उन्हें आपके कोड तक पहुँचाता है और उत्तर वापस भेजता है।
प्रोटोबफ़ संकलक से परिचित हों
इन स्टब को बनाने के पीछे की जादुई शक्ति Protobuf Compiler है, जिसे आमतौर पर protoc कहा जाता है।
protoc एक कमांड-लाइन टूल है, जो आपकी .proto फाइलों को पढ़कर, आपके द्वारा निर्दिष्ट प्लगइन के आधार पर विभिन्न भाषाओं में स्रोत कोड तैयार करता है।
यह किसी भी gRPC प्रोजेक्ट का एक महत्वपूर्ण घटक है, क्योंकि यह विभिन्न सेवाओं और भाषाओं के बीच सशक्त टाइपिंग और एकसमान संचार इंटरफ़ेस सुनिश्चित करता है।
मूल `protoc` कमांड
protoc का उपयोग करने का सामान्य सिंटैक्स कुछ इस प्रकार होता है:
protoc --<LANG>_out=. --grpc_out=. my_service.proto--<LANG>_out=.: यह फ्लैगprotocको किसी विशेष भाषा के लिए Protobuf संदेश क्लास बनाने और उन्हें रखने का स्थान बताता है (जैसे,--java_out,--python_outऔर वर्तमान निर्देशिका के लिए.)।--grpc_out=.: यह फ्लैग, जिसका उपयोग अक्सर gRPC-विशिष्ट प्लगइन के साथ किया जाता है, gRPC सेवा इंटरफ़ेस और स्टब क्लास तैयार करता है।my_service.proto: आपकी Protobuf परिभाषा फाइल का पथ।
`protoc` इंस्टॉल करना (अवधारणात्मक)
कोड तैयार करने से पहले आपको protoc इंस्टॉल करना होगा। इंस्टॉल करने की प्रक्रिया ऑपरेटिंग सिस्टम के अनुसार अलग-अलग होती है:
- बाइनरी डाउनलोड करें: आप आधिकारिक Protobuf GitHub रिलीज़ पेज से पहले से संकलित बाइनरी डाउनलोड कर सकते हैं।
- पैकेज प्रबंधक: Linux पर आप
apt-get install protobuf-compilerका उपयोग कर सकते हैं। macOS परbrew install protobufका उपयोग कर सकते हैं। - स्रोत कोड से बनाएँ: उन्नत उपयोगकर्ता इसे इसके स्रोत कोड से संकलित कर सकते हैं।
हमेशा सुनिश्चित करें कि protoc आपके सिस्टम के PATH में मौजूद हो।
हमारे उदाहरण के लिए Protobuf
कोड तैयार करने की प्रक्रिया दिखाने के लिए आइए एक सरल greet.proto फाइल का उपयोग करें। यह फाइल एक Greeter सेवा और उसके संदेशों को परिभाषित करती है:
syntax = "proto3";
package greeter;
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}यह हमारे protoc कंपाइलर के लिए इनपुट है।
Java स्टब तैयार करना
अपने greet.proto के लिए Java कोड तैयार करने हेतु हम आमतौर पर इस जैसी कमांड का उपयोग करेंगे:
protoc \
--plugin=protoc-gen-grpc-java=/path/to/grpc-java-plugin \
--java_out=. \
--grpc_out=. \
greet.protoयहाँ --plugin स्पष्ट रूप से protoc को बताता है कि gRPC Java प्लगइन कहाँ ढूँढना है। gRPC सेवा इंटरफ़ेस तैयार करने के लिए यह आवश्यक है।
तैयार की गई फाइलों को देखना
protoc चलाने के बाद आपको अपनी निर्दिष्ट आउटपुट निर्देशिका में नई Java फाइलें मिलेंगी। हमारे greet.proto उदाहरण के लिए, आपको आमतौर पर ये फाइलें दिखाई देंगी:
GreeterGrpc.java: इसमें अमूर्तGreeterImplBaseसेवा और क्लाइंट स्टब क्लास शामिल होती हैं (जैसे,GreeterBlockingStub,GreeterFutureStub)।Greet.java: यह एक कंटेनर क्लास है, जिसमेंHelloRequestऔरHelloReplyजैसी तैयार की गई Protobuf संदेश क्लास, साथ ही उनके बिल्डर और एक्सेसर शामिल होते हैं।
ये फाइलें क्रमबद्धन, विपरीत-क्रमबद्धन और नेटवर्क संचार से जुड़े सभी विवरणों को संभालती हैं।
प्लगइन की भूमिका
यह समझना महत्वपूर्ण है कि protoc स्वयं केवल मूल Protobuf संदेश क्लास तैयार करता है।
gRPC-विशिष्ट सेवा इंटरफ़ेस और स्टब तैयार करने के लिए यह प्लगइन पर निर्भर करता है। उदाहरण के लिए, Java के लिए आपको protoc-gen-grpc-java प्लगइन की आवश्यकता होती है।
gRPC द्वारा समर्थित प्रत्येक भाषा (Python, Go, C++, Node.js आदि) का अपना विशिष्ट प्लगइन होता है, जो protoc के साथ मिलकर आवश्यक gRPC कोड तैयार करता है।
त्वरित जाँच: कोड तैयार करना
gRPC कोड तैयार करने के बारे में निम्नलिखित में से कौन-से कथन सही हैं?
पुनरावलोकन और अगले चरण
बहुत अच्छा! आपने gRPC कोड तैयार करने की मूल प्रक्रिया सीख ली है:
- हमने समझा कि gRPC संचार के लिए स्टब क्यों आवश्यक हैं।
- हमने
protocकंपाइलर के बारे में जाना, जो कोड तैयार करने वाला टूल है। - हमने देखा कि प्लगइन भाषा-विशिष्ट gRPC कोड तैयार करने के लिए
protocकी क्षमताओं का विस्तार करते हैं। - हमने
.protoपरिभाषा से Java कोड तैयार करने का एक उदाहरण देखा।
अगले चरण में, हम इस तैयार किए गए कोड का उपयोग करके एक सरल एकल-प्रतिक्रिया gRPC सेवा और क्लाइंट लागू करेंगे!
एआई शिक्षक के साथ gRPC और उच्च-प्रदर्शन वाले एपीआई सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “gRPC कोड जनरेट करना” पाठ निःशुल्क है?
हाँ—“gRPC कोड जनरेट करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और gRPC और उच्च-प्रदर्शन वाले एपीआई पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। gRPC और उच्च-प्रदर्शन वाले एपीआई पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“gRPC कोड जनरेट करना” में मैं क्या सीखूँगा?
Protobuf परिभाषाओं को विभिन्न प्रोग्रामिंग भाषाओं के स्टब में संकलित करने की प्रक्रिया जानें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ gRPC और उच्च-प्रदर्शन वाले एपीआई का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या gRPC और उच्च-प्रदर्शन वाले एपीआई शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर gRPC और उच्च-प्रदर्शन वाले एपीआई शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“gRPC कोड जनरेट करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस gRPC और उच्च-प्रदर्शन वाले एपीआई पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर gRPC और उच्च-प्रदर्शन वाले एपीआई पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Protobuf स्कीमा परिभाषा
- gRPC कोड जनरेट करना
- सरल यूनरी gRPC सेवा
- स्ट्रीमिंग RPC: सर्वर, क्लाइंट और द्विदिशीय