User Tools

Site Tools


tanszek:oktatas:informacios_rendszerek_integralasa:grpc

This is an old revision of the document!


gRPC

gRPC egy modern, nyílt forráskódú távoli eljáráshívást (Remote Procedure Call - RPC) megvalósító álltalános keretrendszer, amelyet a Google fejlesztett. Lehetővé teszi, hogy különböző platformokon és nyelveken írt alkalmazások egyszerűen kommunikáljanak egymással. gRPC protokollja alapértelmezetten Protocol Buffers-t (protobuf) használ.

Alapvető koncepciók:

  • Szolgáltatások és metódusok: Egy .proto fájlban határozzuk meg a szolgáltatásokat, illetve azok távoli hívható metódusait.
  • Kliens és szerver oldali kódgenerálás: Protobuf alapján automatikusan létrejönnek az interfészek és adattípusok.

Mintapélda

Hozzunk létre egy virtuális környezetet:

  python -m virtualenv ./venv

Majd aktiváljuk:

  ./venv/Scripts/activate

Telepítsük a függőségeket:

  python -m pip install grpcio
  python -m pip install grpcio-tools

Hozzuk létre a ./proto könvytárat és benne a IDL fájlt helloworld.proto néven:

syntax = "proto3";

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
  // Sends another greeting
  rpc SayHelloAgain (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}

Futtassuk a stub generátort az alábbi paranccsal:

  python -m grpc_tools.protoc -I ./protos/ --python_out=. .\protos\helloworld.proto

A helloworld_pb2.py fájl létrejön a

tanszek/oktatas/informacios_rendszerek_integralasa/grpc.1742586120.txt.gz · Last modified: 2025/03/21 19:42 by knehez