gRPC Code Generation with Protocol Buffer
How stubs are Generated
Untuk membuat stubs yang digunakan komunikasi antar server maka kita harus membuat API Contracts
API Contracts
Service dan payload message yang didefinisikan dengan menggunakan Protocol Buffer
Server dan client akan di generate secara otomatis dengan menggunakan
Protocol Buffer complier (protoc)
gRPC plugins yang ada di setiap Bahasa Pemrograman

syntax = "proto3";
message HelloRequest { string name = 1; }
message HelloResponse { string greet = 1; }
service WelcomeService {
rpc Hello(HelloRequest) returns (HelloResponse) {};
}Why gRPC uses Protocol Buffer
Human-readable Interface Definition Language ( IDL )
Programming languages interoperable:
Code generators untuk banyak bahasa pemrograman
Binary data representation :
smaller size ( ukuran yang kecil )
faster to transport ( cepat untuk dipindahkan antar server )
Lebih efisien untuk serialize / deserialize
Strongly typed contract
Conventions for API evolution
Backward & forward compatibility
Pilihan alternatif selain gRPC
Google flatbuffers
Microsoft bond

What Languages are Supported by gRPC
10 officially supported languages
Pure implementations: Go, Java, NodeJS
Wrap C-gRPC core: C/C++, C#, Objective-C, Python, Ruby, Dart, PHP

Last updated
Was this helpful?