Hallo Habr. Für zukünftige Studenten des Kurses "Highload Architect" haben wir eine Übersetzung des Materials vorbereitet.
Wir laden Sie außerdem ein, sich mit Vladislav Rodin (Teamleiter und Java Enterprise Development Specialist) für ein offenes Webinar zum Thema "Replikation als Muster für die Skalierung des Speichers" anzumelden . In dieser Lektion werden die Teilnehmer durch die Replikation geführt, eine der Datenbankskalierungstechniken.
Ich habe mehrere Microservices, die über JSON über REST miteinander kommunizieren, und es scheint mir, dass sie bald das VPS-Leistungslimit erreichen werden, und ich muss es aktualisieren, damit es nicht zu Leistungseinbußen kommt.
, 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.