gRPC C++ पूर्ण गाइड: उदाहरणों के साथ C++ में gRPC

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

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

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

gRPC C++: उदाहरणों के साथ पूर्ण गाइड

PythonLib में आपका स्वागत है! इस लेख में हम gRPC C++ लाइब्रेरी को विस्तार से समझेंगे — यह एक शक्तिशाली फ्रेमवर्क है जो हाई-परफॉरमेंस डिस्ट्रीब्यूटेड सिस्टम बनाने में मदद करता है। अगर आप माइक्रोसर्विसेज, क्लाइंट-सर्वर ऐप्लिकेशन या रियल-टाइम सिस्टम बना रहे हैं, तो gRPC आपके लिए बेहद उपयोगी टूल है। हम इंस्टॉलेशन, मुख्य क्लासेज और मेथड्स को कवर करेंगे, काम के उदाहरण लिखेंगे और ऑप्टिमाइजेशन के टिप्स देंगे।

1. gRPC C++ क्या है और इसकी ज़रूरत क्यों है?

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

इसकी ज़रूरत क्यों है? पारंपरिक REST API (जो JSON/HTTP/1.1 पर आधारित हैं) के विपरीत, gRPC ये फायदे देता है:
- हाई परफॉरमेंस: बाइनरी प्रोटोकॉल protobuf JSON से तेज़ और छोटा होता है।
- स्ट्रिक्ट टाइपिंग: सर्विस कॉन्ट्रैक्ट .proto फाइलों में परिभाषित होते हैं, जिससे रनटाइम एरर कम होते हैं।
- स्ट्रीमिंग सपोर्ट: रियल-टाइम डेटा ट्रांसफर (सर्वर, क्लाइंट या बिडायरेक्शनल स्ट्रीमिंग) संभव है।
- ऑटोमैटिक कोड जनरेशन: .proto फाइलों से सर्वर और क्लाइंट के लिए कोड अपने आप जनरेट होता है।

gRPC C++ इनके लिए बेहतरीन है: माइक्रोसर्विसेज आर्किटेक्चर, मोबाइल बैकएंड, IoT सिस्टम, फाइनेंशियल ऐप्लिकेशन और जहाँ भी स्पीड और रिलायबिलिटी ज़रूरी है।

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

gRPC C++ को इंस्टॉल करने के लिए आपको सोर्स कोड से बिल्ड करना होगा या vcpkg पैकेज मैनेजर का उपयोग करना होगा। हम आसानी के लिए vcpkg सुझाते हैं।

तरीका 1: vcpkg के ज़रिए इंस्टॉल करें (सुझाव)

# vcpkg क्लोन करें
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg

# vcpkg इंस्टॉल करें (Windows: bootstrap-vcpkg.bat)
./bootstrap-vcpkg.sh

# gRPC इंस्टॉल करें (इसमें protobuf भी शामिल है)
./vcpkg install grpc

# CMake के साथ इंटीग्रेट करें
./vcpkg integrate install

तरीका 2: सोर्स कोड से बिल्ड करें (Linux/macOS)

# डिपेंडेंसी इंस्टॉल करें
sudo apt-get install build-essential autoconf libtool pkg-config cmake git

# रिपॉजिटरी क्लोन करें
git clone --recurse-submodules -b v1.62.0 https://github.com/grpc/grpc
cd grpc

# बिल्ड करें
mkdir -p cmake/build
cd cmake/build
cmake ../.. -DgRPC_INSTALL=ON -DCMAKE_INSTALL_PREFIX=/usr/local
make -j$(nproc)
sudo make install

ज़रूरी: इंस्टॉलेशन के बाद सुनिश्चित करें कि protoc (protobuf कंपाइलर) PATH में उपलब्ध है।

3. तुरंत शुरुआत: एक छोटा उदाहरण

चलिए एक सरल "Greeter" (अभिवादन) सर्विस बनाते हैं।

चरण 1: .proto फाइल बनाएं

hello.proto नाम की फाइल बनाएं:

syntax = "proto3";

package helloworld;

// सर्विस डिफ़ाइन करें
service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply);
}

// रिक्वेस्ट मैसेज
message HelloRequest {
  string name = 1;
}

// रिस्पॉन्स मैसेज
message HelloReply {
  string message = 1;
}

चरण 2: C++ कोड जनरेट करें

protoc --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` hello.proto
protoc --cpp_out=. hello.proto

इससे ये फाइलें बनेंगी: hello.pb.h, hello.pb.cc, hello.grpc.pb.h, hello.grpc.pb.cc।

चरण 3: सर्वर लिखें (server.cpp)

#include <iostream>
#include <memory>
#include <string>

#include <grpcpp/grpcpp.h>
#include "hello.grpc.pb.h"

using grpc::Server;
using grpc::ServerB                    

अनुशंसाएँ