Page 31 - E-MODUL SISTEM TERDISTRIBUSI_Neat
P. 31

Remote Procedure Call (RPC) adalah sebuah meto de yang memungkinkan


                            program  di  satu  komputer  memanggil  prosedur  atau  fungsi  di  komputer  yang

                            berbeda  melalui  jaringan.  Dengan  menggunakan  RPC,  kita  dapat  membuat


                            aplikasi  yang  terdistribusi,  di  mana  beberapa  bagian  dari  aplikasi  berjalan  di

                            komputer yang berbeda. Pada dasarnya, RPC bekerja dengan cara mengirimkan


                            pesan melalui jaringan untuk meminta server melakukan prosedur tertentu, lalu

                            server akan merespons dengan mengirimkan hasil prosedur tersebut kembali ke

                            client. Dalam hal ini, client dan server tidak perlu mengetahui detail implementasi


                            dari  prosedur  yang  dipanggil,  sehingga  memudahkan  pengembangan  aplikasi

                            terdistribusi.


                                  Namun,  RPC  masih  menggunakan  paradigma  procedural  programming,

                            sehingga sulit untuk menyediakan banyak remote procedure. Selain itu, RPC juga


                            memiliki beberapa masalah seperti pengiriman pesan yang kurang aman, sulitnya

                            mengelola kegagalan jaringan, dan sulitnya mengukur performa RPC. Oleh karena


                            itu, sekarang ini banyak pengembang aplikasi yang beralih ke arsitektur berbasis

                            layanan  (service-based  architecture)  yang  menggunakan  representational  state


                            transfer  (REST)  atau  message-oriented  middleware  (MOM)  sebagai  alternatif

                            untuk RPC. Dalam arsitektur ini, setiap layanan disediakan sebagai sebuah API

                            yang  dapat  diakses  oleh  klien  melalui  HTTP  atau  proto  kol  lainnya.  Hal  ini


                            memungkinkan pengembang untuk membangun aplikasi terdistribusi yang lebih

                            fleksibel, scalable, dan mudah di kembangkan.








                                                                30
   26   27   28   29   30   31   32   33   34   35   36