Belajar Mengerti gRPC Remote Procedure Call

Omjebs > Tech > Belajar Mengerti gRPC Remote Procedure Call

Belajar Mengerti gRPC Remote Procedure Call

Pengertian gRPC

apa itu grpc? sumber:https://prezi.com/

gRPC adalah salah satu framework RPC yang dibuat oleh Google. gRPC menggunakan protokol RPC untuk transfort dan protobuff sebagai interface atau antar mukanya. Dimana Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses method pada sebuah sistem yang menyediakan layanana procedure call.

gRPC dapat berjalan di platform manapun, sehingga mempermudah developer untuk mengembangkan applikasi.

Dari pengertian di atas kita dapat mengetahui secara sederhana, dimana sebuah server yang menyediakan layanan gRPC dapat kita gunakan service-service yang didalamnya dengan menggunkan protobuff sebagai interfacenya.

syntax = "proto3";

message ProductDetailRequest {
    string product_id = 1;
}

message ProductDetailResponse{
    string message=1;
    string status=2;
    ProductDetailDto data=3;

}

message ProductDetailDto{
    string product_id=1;
    string product_name=2;
}

service PromoService {
    rpc getProductDetail (ProductDetailRequest) returns (ProductDetailResponse);
   
}

Code di atas merupakan sebuah file protobuff, product.proto

Kita tahu dari pengertian diatas protobuff adalah sebagai antarmuka untuk komunikasi antara client dan server.

Dalam Code terdapat request,response dan nama method/service.

untuk service kita implementasikan di bagian server dan dipanggil di sisi client dengan parameter yang ditentukan.

Jadi secara garis besar sangat berbeda dengan REST API dimana rest api kita hanya mendapatkan beberapa method saja, seperti GET,PUT,DELETE,POST dan lainnya. Dalam pengembangan REST API kita tidak tahu perubahan-perubahan pada atribut request dan response.Namun pada gRPC, kita hanya perlu mengupdate file protobuffnya untuk mengetahui perubahan.

Transmisi jaringan yang efisien dengan HTTP/2

Mengirimkan data dari client ke server backend bisa menjadi proses yang yang menggunakan resource secara intensif. Menggunakan protokol HTTP/1.1 standar, koneksi yang sering terjadi dari perangkat seluler ke layanan cloud dapat menguras baterai, meningkatkan latensi, dan memblokir aplikasi lain agar tidak tersambung.

Secara default, gRPC berjalan pada HTTP/2 yang menghadirkan streaming dua arah, kontrol alur, kompresi header, dan kemampuan untuk melipatgandakan permintaan melalui koneksi TCP/IP tunggal.

Hasilnya adalah gRPC dapat mengurangi penggunaan resource, menghasilkan waktu respons yang lebih rendah antara aplikasi dan layanan yang berjalan di cloud, mengurangi penggunaan jaringan, dan memperpanjang masa pakai baterai untuk klien yang berjalan di perangkat seluler.

Pada Blog selanjutnya kita akan mencoba mengimplementasikan gRPc dengan NodeJs.

0 0 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x