gRPC Java पूर्ण गाइड: उदाहरणों के साथ Java डेवलपर्स के लिए

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

gRPC Java के लिए पूर्ण गाइड: उदाहरणों के साथ

gRPC Java लाइब्रेरी की इस विस्तृत गाइड में आपका स्वागत है - यह Google द्वारा विकसित एक हाई-परफॉर्मेंस रिमोट प्रोसीजर कॉल (RPC) फ्रेमवर्क है। यह लेख उन Java डेवलपर्स के लिए है जो Protocol Buffers (protobuf) का उपयोग करके माइक्रोसर्विसेज और क्लाइंट-सर्वर एप्लिकेशन बनाने का आधुनिक तरीका सीखना चाहते हैं।

1. gRPC Java क्या है और इसकी आवश्यकता क्यों है?

gRPC एक आधुनिक, हाई-परफॉर्मेंस RPC (Remote Procedure Call) फ्रेमवर्क है जिसे Google ने विकसित किया है। यह ट्रांसपोर्ट के लिए HTTP/2, डेटा सीरियलाइजेशन के लिए Protocol Buffers (protobuf) का उपयोग करता है और इसमें द्विदिश स्ट्रीमिंग, ऑथेंटिकेशन और लोड बैलेंसिंग जैसी कई सुविधाएं हैं। gRPC Java लाइब्रेरी Java भाषा के लिए gRPC का आधिकारिक इम्प्लीमेंटेशन है।

gRPC Java का उपयोग क्यों करें? पारंपरिक REST API के विपरीत जो JSON और HTTP/1.1 का उपयोग करते हैं, gRPC कई लाभ प्रदान करता है:

  • उच्च प्रदर्शन: HTTP/2 का उपयोग करके रिक्वेस्ट को मल्टीप्लेक्स किया जा सकता है, और protobuf तेज और कॉम्पैक्ट सीरियलाइजेशन प्रदान करता है (JSON से 3-10 गुना तेज)।
  • सख्त टाइपिंग: API कॉन्ट्रैक्ट्स .proto फाइलों में परिभाषित किए जाते हैं, जिससे सर्वर और क्लाइंट दोनों के लिए सख्ती से टाइप किया गया कोड जनरेट होता है।
  • स्ट्रीमिंग सपोर्ट: gRPC चार प्रकार के RPC सपोर्ट करता है: यूनरी (एक रिक्वेस्ट - एक रिस्पॉन्स), सर्वर स्ट्रीमिंग, क्लाइंट स्ट्रीमिंग और द्विदिश स्ट्रीमिंग।
  • बिल्ट-इन ऑथेंटिकेशन और TLS सपोर्ट: gRPC आसानी से SSL/TLS और विभिन्न ऑथेंटिकेशन मैकेनिज्म के साथ इंटीग्रेट होता है।

यह लाइब्रेरी माइक्रोसर्विसेज आर्किटेक्चर, रियल-टाइम सिस्टम (चैट, गेम्स), मोबाइल बैकएंड और ऐसे किसी भी एप्लिकेशन के लिए आदर्श है जहां गति और विश्वसनीयता महत्वपूर्ण है।

2. gRPC Java की इंस्टॉलेशन

अपने Maven या Gradle प्रोजेक्ट में gRPC Java इंस्टॉल करने के लिए, आपको उपयुक्त डिपेंडेंसी जोड़नी होगी। नीचे Maven (pom.xml फाइल) और Gradle (build.gradle फाइल) के लिए सटीक कमांड दिए गए हैं।

Maven (pom.xml)

<!-- <dependencies> सेक्शन में जोड़ें -->
<dependency>
    <groupId>io.grpc</groupId>
    <artifactId>grpc-netty-shaded</artifactId>
    <version>1.62.2</version>
</dependency>
<dependency>
    <groupId>io.grpc</groupId>
    <artifactId>grpc-protobuf</artifactId>
    <version>1.62.2</version>
</dependency>
<dependency>
    <groupId>io.grpc</groupId>
    <artifactId>grpc-stub</artifactId>
    <version>1.62.2</version>
</dependency>
<dependency>
    <groupId>io.grpc</groupId>
    <artifactId>grpc-api</artifactId>
    <version>1.62.2</version>
</dependency>
<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.2</version>
</dependency>

<!-- .proto फाइलों को कंपाइल करने के लिए प्लगइन -->
<build>
    <extensions>
        <extension>
            <groupId>kr.motd.maven</groupId>
            <artifactId>os-maven-plugin</artifactId>
            <version>1.7.1</version>
        </extension>
    </extensions>
    <plugins>
        <plugin>
            <groupId>org.xolstice.maven.plugins</groupId>
            <artifactId>protobuf-maven-plugin</artifactId>
            <version>0.6.1</version>
            <configuration>
                <protocArtifact>com.google.protobuf:protoc:3.25.3:exe:${os.detected.classifier}</protocArt                    

अनुशंसाएँ