Dağıtılmış Sistemde Uzaktan Yordam Çağrısı (RPC) Protokolü
⚡ Akıllı Özet
Uzaktan Prosedür Çağrısı (RPC), dağıtılmış istemci-sunucu sistemlerinde sıradan bir yerel fonksiyon çağrısının arkasına ağ ayrıntılarını gizleyerek bir programın başka bir adres alanında veya makinede bir prosedürü yürütmesine olanak tanıyan bir süreçler arası iletişim protokolüdür.
RPC nedir?
Uzaktan Yordam Çağrısı (RPC) bir arası iletişim İstemci-sunucu uygulamaları için kullanılan bir teknik. RPC'nin açılımı Uzaktan Prosedür Çağrısı'dır. RPC mekanizmaları, bir bilgisayar programının, programcının uzaktan etkileşim için ayrıntıları açıkça kodlamasına gerek kalmadan, normal bir prosedür çağrısı olarak kodlanmış bir prosedürü veya alt programı farklı bir adres alanında çalıştırdığı durumlarda kullanılır.
Bu prosedür çağrısı, programlar arasında mesaj verilerini taşımak için UDP ve TCP/IP gibi düşük seviyeli taşıma protokollerini de yönetir.
RPC Türleri
Üç tür RPC şunlardır:
- Geri arama RPC'si
- Yayın RPC'si
- Toplu mod RPC
Geri arama RPC'si
Bu tür RPC, katılımcı süreçler arasında eşler arası (P2P) bir paradigma sağlar. Bir sürecin hem istemci hem de sunucu olarak hareket etmesine yardımcı olur.
Geri Arama RPC'nin İşlevleri:
- Uzaktan işlenen, etkileşimli uygulama sorunlarını ele alır.
- Sunucuya istemcinin tanıtıcısını sağlar.
- Geri çağrı, istemci işleminin beklemesine neden olur.
- Geri çağrı kilitlenmelerini yönetir.
- Bu, katılımcı süreçler arasında eşler arası bir paradigmayı kolaylaştırır.
Yayın RPC'si
Yayın RPC'si, istemcinin ağ üzerinde yayınlanan ve bu isteği işleme yöntemine sahip tüm sunucular tarafından işlenen bir isteğidir.
Yayın RPC'nin İşlevleri:
- İstemcinin istek mesajının yayınlanması gerektiğini belirtmenizi sağlar.
- Yayın bağlantı noktalarını bildirebilirsiniz.
- Bu, fiziksel ağ üzerindeki yükü azaltmaya yardımcı olur.
Toplu mod RPC
Toplu işlem modunda çalışan RPC, istemci tarafında ayrı RPC isteklerini bir iletim arabelleğinde sıraya koymaya ve ardından bunları tek bir toplu işlem halinde ağ üzerinden sunucuya göndermeye yardımcı olur.
Toplu işlem modunda RPC'nin işlevleri:
- İstekleri ağ üzerinden tek bir toplu işlem halinde sunucuya gönderdiği için, istek gönderme işleminde oluşan ek yükü en aza indirir.
- Bu tür RPC protokolü, yalnızca düşük çağrı hızlarına ihtiyaç duyan uygulamalar için etkilidir.
- Güvenilir bir iletim protokolüne ihtiyaç var.
RPC Archidoku
RPC mimarisi programın temel olarak beş bileşeninden oluşur:
- Müşteri
- Müşteri Saplaması
- RPC Çalışma Zamanı
- Sunucu Saplaması
- sunucu
RPC Archidoku
RPC Nasıl Çalışır?
RPC işlemi sırasında aşağıdaki adımlar gerçekleşir:
) 1 Adım İstemci, istemci bileşeni ve RPC çalışma zamanının bir örneği istemci makinesinde çalışır.
) 2 Adım İstemci, parametreleri olağan şekilde ileterek bir istemci stub işlemi başlatır. İstemci stub, istemcinin kendi adres alanında saklanır. Ayrıca, yerel RPC Çalışma Zamanı'ndan isteği sunucu stub'ına göndermesini ister.
) 3 Adım Bu aşamada, kullanıcı normal bir yerel prosedür çağrısı yaparak RPC'ye erişir. RPC Çalışma Zamanı, istemci ve sunucu arasında ağ üzerinden mesaj iletimini yönetir. Ayrıca yeniden iletim, onaylama, yönlendirme ve şifreleme işlemlerini de gerçekleştirir.
) 4 Adım Sunucu prosedürü tamamlandıktan sonra, yürütme sunucu alt bileşenine geri döner; bu bileşen, dönüş değerlerini bir mesaja paketler (marshal eder). Ardından sunucu alt bileşeni, mesajı taşıma katmanına geri gönderir.
) 5 Adım Bu adımda, taşıma katmanı sonuç mesajını istemci taşıma katmanına geri gönderir ve bu katman da mesajı istemci uç noktasına iletir.
) 6 Adım Bu aşamada, istemci tarafı, ortaya çıkan paketteki dönüş parametrelerini ayrıştırır (açar) ve yürütme çağırana geri döner.
RPC'nin özellikleri
RPC'nin temel özellikleri şunlardır:
- Çağrılan işlem, muhtemelen başka bir makinede bulunan başka bir işlem içindedir.
- İşlemler adres alanını paylaşmaz.
- Parametreler yalnızca değerlerle iletilir.
- RPC, sunucu işleminin ortamında yürütülür.
- Çağrı prosedürünün ortamına erişim sağlamaz.
RPC'nin özellikleri
RPC'nin önemli özellikleri şunlardır:
- Basit çağrı sözdizimi.
- Bilinen anlambilimi sunar.
- İyi tanımlanmış bir arayüz sağlar.
- Aynı veya farklı makinelerdeki süreçler arasında iletişim kurabilir.
RPC'nin Avantajları
İşte RPC'nin avantajları/faydaları:
- RPC, üst düzey programlama dillerindeki geleneksel prosedür çağrıları yoluyla istemcilerin sunucularla iletişim kurmasına yardımcı olur.
- RPC, yerel prosedür çağrısına (local procedure call) benzer şekilde çalışır, ancak çağrılan prosedür büyük olasılıkla farklı bir işlemde ve genellikle farklı bir bilgisayarda yürütülür.
- RPC, süreç odaklı ve iş parçacığı odaklı modelleri destekler.
- RPC, dahili mesaj iletim mekanizmasını kullanıcıdan gizler.
- Performansı artırmak için birçok protokol katmanını kullanır.
- RPC, mutlak değerler sağlar.tracÖrneğin, ağ iletişiminin mesaj iletme özelliği kullanıcıdan gizli kalır.
- RPC hem dağıtılmış hem de yerel ortamlarda kullanılabilir.
- Kodun yeniden yazılması ve yeniden geliştirilmesi için gereken çaba minimum düzeydedir.
RPC'nin dezavantajları
RPC kullanmanın eksileri/dezavantajları şunlardır:
- Uzaktan prosedür çağrısı (RPC) parametreleri yalnızca değerlerle iletir; işaretçi (referans) değerlerine izin verilmez.
- Uzaktan prosedür çağrısı (ve geri dönüş) süresi - yani ek yük - yerel bir prosedüre göre önemli ölçüde daha yüksektir.
- Bu mekanizma, bir iletişim sistemi, başka bir makine ve başka bir işlem içerdiğinden, arızaya karşı oldukça hassastır.
- RPC konsepti farklı şekillerde uygulanabildiğinden, tek bir standart bulunmamaktadır.
- Çoğunlukla etkileşime dayalı olduğu için donanım mimarisi açısından esneklik sunmaz.
- Uzaktan prosedür çağrısı nedeniyle işlemin maliyeti artar.


