RPC ve RMI Arasındaki Fark
İçerik
- Karşılaştırma Tablosu
- RPC'un tanımı
- RPC’nin verilen adımlarla nasıl uygulandığını anlayalım:
- RMI'un tanımı
- Sonuç
RPC ve RMI, istemciyle sunucu arasında iletişim kurarak bir müşterinin sunucudan prosedürü veya yöntemi çağırmasını sağlayan mekanizmalardır. RPC ve RMI arasındaki ortak fark, yalnızca RPC’nin desteklemesidir. prosedürel programlama RMI desteklerken nesne yönelimli programlama.
İkisi arasındaki diğer önemli fark, uzak yordam çağrısına geçirilen parametrelerin sıradan veri yapıları. Öte yandan, uzak yönteme iletilen parametreler, nesneleri.
- Karşılaştırma Tablosu
- Tanım
- Anahtar Farklılıklar
- Sonuç
Karşılaştırma Tablosu
Karşılaştırma için temel | RPC | RMI |
---|---|---|
Destekler | Prosedürel programlama | Nesne yönelimli programlama |
Parametreler | Sıradan veri yapıları uzak işlemlere geçirilir. | Nesneler uzak yöntemlere iletilir. |
verim | RMI'den düşük | RPC'den daha fazlası ve modern programlama yaklaşımı ile desteklenir (örn. Nesneye yönelik paradigmalar) |
Genel giderler | Daha | Karşılaştırmalı olarak daha az |
Giriş parametreleri zorunludur. | Evet | Şart değil |
Programlama kolaylığı sağlanması | Yüksek | düşük |
RPC'un tanımı
Uzaktan Prosedür Çağrısı (RPC) dağıtık hesaplama için geliştirilmiş ve anlambilimine dayalı bir programlama dili özelliğidir. yerel prosedür çağırır. En yaygın uzaktan servis formlarıdır ve bir ağ üzerinden bağlı sistemler arasında kullanılacak prosedür çağrısı mekanizmasını soyutlamanın bir yolu olarak tasarlanmıştır. İşletim sisteminin işlemlerin paylaşılan verileri yönetmesine izin verdiği ve farklı işlemlerin ayrı sistemler üzerinde yürütüldüğü ve zorunlu olarak iletişim kurması gereken bir ortamla ilgilendiği IPC mekanizmasına benzer.
RPC’nin verilen adımlarla nasıl uygulandığını anlayalım:
- İstemci işlemi, istemci saplamasını parametrelerle çağırır ve arama tamamlanıncaya kadar yürütmesi askıya alınır.
- Daha sonra parametreler, müşteri saplaması boyunca karıştırılarak makineden bağımsız forma çevrilir. Daha sonra parametrelerin gösterimini içeren hazırlanır.
- Sitenin kimliğini bulmak için istemci, uzaktan prosedürün bulunduğu isim sunucusuyla iletişim kurar.
- Engelleme protokolünü kullanarak istemci, uzaktan yordam çağrısının bulunduğu siteyi saplar. Bu adım, müşteri saplamasını bir cevap alana kadar durdurur.
- Sunucu sitesi gönderilen tarafı müşteri tarafından alır ve makineye özgü formata dönüştürür.
- Şimdi sunucu saplaması, parametrelerle birlikte sunucu prosedürü üzerine bir çağrı yürütür ve işlem tamamlanıncaya kadar sunucu saplaması durdurulur.
- Sunucu prosedürü oluşturulan sonuçları sunucu saplamasına geri döndürür ve sonuçlar sunucu saplamada makineden bağımsız formata dönüştürülür ve sonuçları içeren bir içerik oluşturur.
- Sonuç, müşteri saplamasına uygun makineye özel formata dönüştürülen müşteri saplamasına gönderilir.
- Son istemcideki saplama, sonuçları istemci işlemine döndürür.
RMI'un tanımı
Uzaktan Yöntem Çağırma (RMI) RPC'ye benzer ancak dile özgüdür ve java özelliğidir. Bir iş parçacığının uzaktaki bir nesnede yöntemi çağırmasına izin verilir. İstemci ve sunucu tarafında şeffaflığı korumak için, taslakları ve iskeletleri kullanarak uzaktaki nesneyi uygular. Saplama, müşteriye aittir ve uzak nesne için bir vekil olarak davranır.
Bir istemci uzak bir yöntemi çağırdığında, uzak yöntemin saplaması çağrılır. Müşteri koçanı, bir yöntemin adını ve belirtilen parametreleri içeren parselin oluşturulmasından ve oluşturulmasından sorumludur ve iskelet parselin alınmasından sorumludur.
İskelet parametreleri marşalize eder ve sunucuda istenen yöntemi çağırır. İskelet verilen değeri (veya istisnaları) parselle birleştirir ve müşteriye saplar. Saplama, geri dönüş parselini yeniden birleştirir ve müşteriye verir.Java'da parametreler yöntemlere iletilir ve başvuru şeklinde döndürülür. Tüm nesneler muhtemelen uzak yöntemler olmadığından, bu, RMI hizmeti için zahmetli olabilir. Bu nedenle hangisinin referans olarak alınabileceğini ve hangilerinin geçemeyeceğini belirlemesi gerekir.
Java adında bir işlem kullanıyor seri hale getirme nesnelerin değer olarak iletildiği yer. Uzak nesne değere göre yerelleştirilir. Nesne için uzak bir referansı, saplama sınıfının URL'si ile birlikte geçirerek referans yoluyla bir nesneyi de geçirebilir. Referansa göre iletme, uzak nesne için bir saplamayı kısıtlar.
- RPC, prosedürel programlama paradigmalarını destekler, böylece C, RMI nesne yönelimli programlama paradigmalarını destekler ve java tabanlıdır.
- RPC'de uzak işlemlere geçirilen parametreler sıradan veri yapılarıdır. Aksine, RMI nesneleri uzak metoda parametre olarak iletir.
- RPC, RMI'nın eski sürümü olarak kabul edilebilir ve prosedürel programlamayı destekleyen programlama dillerinde kullanılır ve yalnızca değer yöntemiyle pass kullanabilir. Buna karşılık olarak, RMI tesisi, değer veya referansa göre geçişi kullanabilecek modern programlama yaklaşımına dayalı olarak tasarlanmıştır. RMI'nin bir başka avantajı, referans yoluyla iletilen parametrelerin değiştirilebilmesidir.
- RPC protokolü, RMI'den daha fazla ek yük üretiyor.
- RPC'de geçen parametreler “olmalıdırIn-out”Bu, prosedüre geçirilen değer ile çıkış değerinin aynı veri tiplerine sahip olması gerektiği anlamına gelir. Aksine, geçme zorunluluğu yoktur ”In-outRMI'deki parametreler.
- RPC'de referanslar, iki işlemin ayrı adres alanına sahip olması nedeniyle mümkün olamamıştır, ancak RMI durumunda mümkündür.
Sonuç
Hem RPC hem de RMI aynı amaca hizmet eder ancak farklı programlama paradigmalarını destekleyen dillerde kullanılır, bu nedenle farklı özelliklere sahiptir.