Protokol Panggilan Prosedur Jarak Jauh (RPC) dalam Sistem Terdistribusi
Apa itu RPC?
Remote Procedure Call (RPC) adalah teknik komunikasi antarproses. Bentuk lengkap RPC adalah Remote Procedure Call. RPC digunakan untuk aplikasi klien-server. Mekanisme RPC digunakan saat program komputer menyebabkan prosedur atau subrutin dijalankan di ruang alamat yang berbeda, yang dikodekan sebagai panggilan prosedur normal tanpa programmer secara khusus mengkodekan detail untuk interaksi jarak jauh.
Panggilan prosedur ini juga mengatur protokol transport tingkat rendah, seperti User Datagram Protocol, Transmission Protokol Kontrol/Protokol Internet dll. Digunakan 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 P2P antara proses yang berpartisipasi. Ini membantu suatu proses menjadi layanan klien dan server.
Fungsi RPC Panggilan Balik:
- Masalah aplikasi interaktif yang diproses dari jarak jauh
- Menawarkan server dengan pegangan klien
- Callback membuat proses klien menunggu
- Kelola kebuntuan panggilan balik
- Ini memfasilitasi paradigma peer-to-Peer di antara proses yang berpartisipasi.
Siaran RPC
Broadcast RPC adalah permintaan klien, yang disiarkan di jaringan, diproses oleh semua server yang memiliki metode untuk memproses permintaan tersebut.
Fungsi RPC Siaran:
- Memungkinkan Anda menentukan bahwa pesan permintaan klien harus disiarkan.
- Anda dapat mendeklarasikan port siaran.
- Ini membantu mengurangi beban pada jaringan fisik
RPC mode batch
RPC mode batch membantu mengantre, memisahkan permintaan RPC, dalam buffer transmisi, di sisi klien, lalu mengirimkannya melalui jaringan dalam satu batch ke server.
Fungsi RPC mode Batch:
- Ini meminimalkan overhead yang terlibat dalam pengiriman permintaan karena mengirimkannya melalui jaringan dalam satu batch ke server.
- Protokol RPC jenis ini hanya efisien untuk aplikasi yang memerlukan tarif panggilan lebih rendah.
- Dibutuhkan protokol transmisi yang andal.
RPC Architekstur
Arsitektur RPC terutama memiliki lima komponen program:
- Pelanggan
- Rintisan Klien
- Waktu Proses RPC
- Rintisan Server
- Server
Bagaimana RPC Bekerja?
Langkah-langkah berikut terjadi selama proses RPC:
Langkah 1) Klien, stub klien, dan satu contoh run time RPC dijalankan pada mesin klien.
Langkah 2) Klien memulai proses rintisan klien dengan meneruskan parameter dengan cara biasa. Stub klien disimpan dalam ruang alamat klien sendiri. Ia juga meminta RPC Runtime lokal untuk mengirim kembali ke stub server.
Langkah 3) Pada tahap ini, RPC diakses oleh pengguna dengan melakukan Kalkulasi Prosedur Lokal secara teratur. RPC Runtime mengelola transmisi pesan antara jaringan melalui klien dan server. Ia juga melakukan tugas transmisi ulang, pengakuan, perutean, dan enkripsi.
Langkah 4) Setelah menyelesaikan prosedur server, ia kembali ke stub server, yang mengemas (marshalls) nilai yang dikembalikan ke dalam sebuah pesan. Rintisan server kemudian mengirimkan pesan kembali ke lapisan transport.
Langkah 5) Pada langkah ini, lapisan transport mengirimkan kembali pesan hasil ke lapisan transport klien, yang kemudian mengembalikan pesan ke stub klien.
Langkah 6) Pada tahap ini, stub klien mendemarshall (membongkar) parameter yang dikembalikan, dalam paket yang dihasilkan, dan proses eksekusi kembali ke pemanggil.
Karakteristik RPC
Berikut adalah karakteristik penting dari RPC:
- Prosedur yang dipanggil berada dalam proses lain, yang kemungkinan berada di mesin lain.
- Prosesnya tidak berbagi ruang alamat.
- Parameter hanya diteruskan berdasarkan nilai.
- RPC dijalankan dalam lingkungan proses server.
- Itu tidak menawarkan akses ke lingkungan prosedur pemanggilan.
Fitur RPC
Berikut adalah fitur-fitur penting RPC:
- Sintaks panggilan sederhana
- Menawarkan semantik yang dikenal
- Menyediakan antarmuka yang terdefinisi dengan baik
- Itu dapat berkomunikasi antar proses pada mesin yang sama atau berbeda
Kelebihan RPC
Berikut Kelebihan/kelebihan RPC:
- Metode RPC membantu klien untuk berkomunikasi dengan server melalui penggunaan panggilan prosedur konvensional dalam bahasa tingkat tinggi.
- Metode RPC dimodelkan pada pemanggilan prosedur lokal, namun prosedur yang dipanggil kemungkinan besar akan dieksekusi dalam proses yang berbeda dan biasanya di komputer yang berbeda.
- RPC mendukung proses dan model berorientasi thread.
- RPC membuat mekanisme penyampaian pesan internal disembunyikan dari pengguna.
- Upaya yang diperlukan untuk menulis ulang dan mengembangkan kembali kode adalah minimal.
- Panggilan prosedur jarak jauh dapat digunakan untuk tujuan didistribusikan dan lingkungan lokal.
- Ini melakukan banyak lapisan protokol untuk meningkatkan kinerja.
- RPC menyediakan abstraksi. Misalnya, sifat penyampaian pesan dalam komunikasi jaringan tetap tersembunyi dari pengguna.
- RPC memungkinkan penggunaan aplikasi dalam lingkungan terdistribusi yang tidak hanya di lingkungan lokal.
- Dengan kode RPC, upaya penulisan ulang dan pengembangan ulang diminimalkan.
- Model berorientasi proses dan berorientasi thread didukung oleh RPC.
Kekurangan RPC
Berikut kekurangan/kekurangan menggunakan RPC:
- Panggilan Prosedur Jarak Jauh Melewati Parameter hanya berdasarkan nilai dan nilai penunjuk, yang tidak diperbolehkan.
- Waktu pemanggilan (dan pengembalian) prosedur jarak jauh (misalnya overhead) bisa jauh lebih rendah dibandingkan prosedur lokal.
- Mekanisme ini sangat rentan terhadap kegagalan karena melibatkan sistem komunikasi, mesin lain, dan proses lain.
- Konsep RPC dapat diimplementasikan dengan berbagai cara, yang tidak dapat standar.
- Tidak menawarkan fleksibilitas apa pun dalam RPC untuk arsitektur perangkat keras karena sebagian besar berbasis interaksi.
- Biaya proses meningkat karena panggilan prosedur jarak jauh.
Ringkasan
- Panggilan prosedur jarak jauh adalah komunikasi antar proses .
- Tiga jenis RPC adalah 1) RPC Panggilan Balik 2) RPC Siaran, dan 3) RPC mode Batch
- Arsitektur RPC memiliki lima komponen program utama: 1) Klien 2) Stub Klien 3) RPC Runtime 4) Stub Server, dan 5) Server
- Dalam metode RPC, proses tidak berbagi ruang alamat
- RPC menawarkan sintaks panggilan sederhana dan semantik yang dikenal
- Metode RPC membantu klien untuk berkomunikasi dengan server melalui penggunaan panggilan prosedur konvensional dalam bahasa tingkat tinggi.
- Kelemahan terbesar metode RPC adalah sangat rentan terhadap kegagalan karena melibatkan sistem komunikasi, mesin lain, dan proses lain.