Halo, Habr. Untuk calon siswa kursus "Arsitek Beban Tinggi" kami menyiapkan terjemahan materi.
Kami juga mengundang Anda untuk mendaftar webinar terbuka dengan topik "Replikasi sebagai Pola Penyimpanan Skala Keluar " dengan Vladislav Rodin (Pemimpin Tim dan Spesialis Pengembangan Perusahaan Java). Dalam pelajaran ini, peserta akan menjalani replikasi, salah satu teknik penskalaan database.
Saya memiliki beberapa layanan mikro yang berkomunikasi satu sama lain menggunakan JSON melalui REST, dan menurut saya mereka akan segera mencapai batas kinerja VPS, dan saya perlu memutakhirkannya agar tidak ada penurunan kinerja.
, 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.