Bonjour, Habr. Pour les futurs étudiants du cours «Highload Architect» , nous avons préparé une traduction du matériel.
Nous vous invitons également à vous inscrire à un webinaire ouvert sur le thème «La réplication en tant que modèle d'évolutivité du stockage» avec Vladislav Rodin (chef d'équipe et spécialiste du développement d'entreprise Java). Dans cette leçon, les participants découvriront la réplication, l'une des techniques de mise à l'échelle de la base de données.
J'ai plusieurs microservices qui communiquent entre eux en utilisant JSON sur REST, et il me semble que bientôt ils atteindront la limite de performance VPS, et je devrai le mettre à niveau pour qu'il n'y ait pas de baisse de performance.
, gRPC ( ) , , , gRPC.
gRPC?
, gRPC, gRPC — (RPC, remote procedure calls), Google, . , (, , ) - IDL (stub), . REST ASP.NET Core WebAPI.
JSON REST, gRPC Protocol Buffers — . gRPC REST. Protocol Buffers protoc, proto-. , gRPC HTTP/2, , HTTP- .
, :
-. , .
. . .
, . .
gRPC- Protocol Buffers .
(stream) gRPC GetLargePayload
.
RestAPI WebAPI, , : , .
, , .
GrpcAPI gRPC-. ,
GetLargePayload
, .
RESTvsGRPC , 100 200 , . , 100 200 .
, gRPC , . REST. gRPC , . , HTTP/2, , HTTP.
Windows . Windows .
, .
RestAPI: dotnet run -p RestAPI -c Release
GrpcAPI: dotnet run -p GrpcAPI -c Release
.
: dotnet run -p RESTvsGRPC -c Release
gRPC REST . Protocol Buffers HTTP/2 gRPC.
gRPC 45 10 WebAPI. , REST , ( , ASP.NET Core MVC) ( ). gRPC, , , , protoc, Visual Studio . , , ItemGroup "Protobuf" csproj-. , gRPC ASP.NET Core 3.0.
, gRPC.