Protokol Panggilan Prosedur Jarak Jauh (RPC) dalam Sistem Terdistribusi
โก Ringkasan Cerdas
Remote Procedure Call (RPC) adalah protokol komunikasi antarproses yang memungkinkan sebuah program untuk mengeksekusi sebuah prosedur di ruang alamat atau mesin lain, menyembunyikan detail jaringan di balik panggilan fungsi lokal biasa dalam sistem klien-server terdistribusi.

Apa itu RPC?
Remote Procedure Call (RPC) adalah komunikasi antar proses Teknik yang digunakan untuk aplikasi klien-server. Bentuk lengkap dari RPC adalah Remote Procedure Call. Mekanisme RPC digunakan ketika program komputer menyebabkan suatu prosedur atau subrutin dieksekusi di ruang alamat yang berbeda, dikodekan sebagai panggilan prosedur normal tanpa programmer secara eksplisit mengkodekan detail untuk interaksi jarak jauh tersebut.
Panggilan prosedur ini juga mengelola protokol transport tingkat rendah, seperti UDP dan TCP/IP, untuk membawa data pesan antar program.
Jenis RPC
Tiga jenis RPC adalah:
- RPC panggilan balik
- Siaran RPC
- RPC mode batch
RPC panggilan balik
Jenis RPC ini memungkinkan paradigma peer-to-peer (P2P) antara proses yang berpartisipasi. Ini membantu suatu proses untuk bertindak sebagai klien dan server sekaligus.
Fungsi RPC Panggilan Balik:
- Menangani masalah aplikasi interaktif yang diproses dari jarak jauh.
- Memberikan handle klien kepada server.
- Fungsi callback membuat proses klien menunggu.
- Mengelola kebuntuan panggilan balik (callback deadlock).
- Hal ini memfasilitasi paradigma peer-to-peer di antara proses-proses yang berpartisipasi.
Siaran RPC
Broadcast RPC adalah permintaan klien yang disiarkan melalui jaringan dan diproses oleh semua server yang memiliki metode untuk memproses permintaan tersebut.
Fungsi RPC Siaran:
- Memungkinkan Anda untuk menentukan bahwa pesan permintaan klien harus disiarkan.
- Anda dapat mendeklarasikan port siaran.
- Hal ini membantu mengurangi beban pada jaringan fisik.
RPC mode batch
RPC mode batch membantu mengantrekan permintaan RPC terpisah dalam buffer transmisi di sisi klien, lalu mengirimkannya melalui jaringan secara bersamaan ke server.
Fungsi-fungsi RPC Mode Batch:
- Hal ini meminimalkan biaya tambahan yang terlibat dalam pengiriman permintaan, karena mengirimkan permintaan melalui jaringan dalam satu batch ke server.
- Jenis protokol RPC ini hanya efisien untuk aplikasi yang membutuhkan tingkat panggilan yang lebih rendah.
- Dibutuhkan protokol transmisi yang andal.
RPC Architekstur
Arsitektur RPC terutama memiliki lima komponen program:
- Konfirmasi
- Rintisan Klien
- Waktu Proses RPC
- Rintisan Server
- Server
RPC Architekstur
Bagaimana RPC Bekerja?
Berikut ini adalah langkah-langkah yang terjadi selama proses RPC:
Langkah 1) Klien, stub klien, dan satu instance runtime RPC dieksekusi pada mesin klien.
Langkah 2) Klien memulai proses stub klien dengan meneruskan parameter dengan cara biasa. Stub klien disimpan dalam ruang alamat klien sendiri. Klien juga meminta Runtime RPC lokal untuk mengirim permintaan ke stub server.
Langkah 3) Pada tahap ini, pengguna mengakses RPC dengan melakukan panggilan prosedur lokal biasa. RPC Runtime mengelola transmisi pesan antara klien dan server melalui jaringan. Ia juga melakukan tugas pengiriman ulang, pengakuan, perutean, dan enkripsi.
Langkah 4) Setelah menyelesaikan prosedur server, eksekusi kembali ke stub server, yang mengemas (mengatur) nilai-nilai kembalian ke dalam sebuah pesan. Stub server kemudian mengirimkan pesan tersebut kembali ke lapisan transport.
Langkah 5) Pada langkah ini, lapisan transport mengirimkan pesan hasil kembali ke lapisan transport klien, yang kemudian mengembalikan pesan tersebut ke stub klien.
Langkah 6) Pada tahap ini, stub klien melakukan demarshal (membongkar) parameter pengembalian dalam paket yang dihasilkan, dan eksekusi kembali ke pemanggil.
Karakteristik RPC
Berikut adalah karakteristik penting dari RPC:
- Prosedur yang dipanggil berada dalam proses lain, yang kemungkinan besar berada di mesin lain.
- Prosesnya tidak berbagi ruang alamat.
- Parameter hanya diteruskan berdasarkan nilai.
- RPC dijalankan dalam lingkungan proses server.
- Hal ini tidak memberikan akses ke lingkungan prosedur pemanggil.
Fitur RPC
Berikut adalah fitur-fitur penting RPC:
- Sintaks panggilan sederhana.
- Menawarkan semantik yang sudah dikenal.
- Menyediakan antarmuka yang terdefinisi dengan baik.
- Ia dapat berkomunikasi antar proses pada mesin yang sama atau berbeda.
Kelebihan RPC
Berikut adalah kelebihan/manfaat RPC:
- RPC membantu klien berkomunikasi dengan server melalui penggunaan konvensional panggilan prosedur dalam bahasa pemrograman tingkat tinggi.
- RPC dimodelkan berdasarkan panggilan prosedur lokal, tetapi prosedur yang dipanggil kemungkinan besar dieksekusi dalam proses yang berbeda dan biasanya pada komputer yang berbeda.
- RPC mendukung model berorientasi proses dan berorientasi thread.
- RPC menyembunyikan mekanisme pengiriman pesan internal dari pengguna.
- Ini melakukan banyak lapisan protokol untuk meningkatkan kinerja.
- RPC menyediakan abstracmisalnya, sifat komunikasi jaringan yang melibatkan pengiriman pesan tetap tersembunyi dari pengguna.
- RPC dapat digunakan baik di lingkungan terdistribusi maupun lokal.
- Upaya yang dibutuhkan untuk menulis ulang dan mengembangkan kembali kode tersebut sangat minimal.
Kekurangan RPC
Berikut kekurangan/kekurangan menggunakan RPC:
- Remote Procedure Call hanya meneruskan parameter berdasarkan nilai; nilai pointer (referensi) tidak diperbolehkan.
- Waktu pemanggilan (dan pengembalian) prosedur jarak jauh โ biaya tambahan โ jauh lebih tinggi daripada untuk prosedur lokal.
- Mekanisme ini sangat rentan terhadap kegagalan, karena melibatkan sistem komunikasi, mesin lain, dan proses lain.
- Konsep RPC dapat diimplementasikan dengan berbagai cara, sehingga tidak ada standar tunggal.
- Sistem ini tidak menawarkan fleksibilitas untuk arsitektur perangkat keras, karena sebagian besar berbasis interaksi.
- Biaya proses meningkat karena adanya panggilan prosedur jarak jauh.

