RPC болон RMI-ийн ялгаа

Агуулгын хүснэгт:

RPC болон RMI-ийн ялгаа
RPC болон RMI-ийн ялгаа

Видео: RPC болон RMI-ийн ялгаа

Видео: RPC болон RMI-ийн ялгаа
Видео: Почему рост вооруженных сил Китая действительно невероятен 2024, Арваннэгдүгээр
Anonim

RPC vs RMI

RPC болон RMI хоёрын үндсэн ялгаа нь RPC нь алсын компьютер дээр процедурыг дуудах боломжийг олгодог механизм бөгөөд RMI нь RPC-ийг java дээр хэрэгжүүлэх явдал юм. RPC нь хэлний төвийг сахисан боловч зөвхөн дамжуулагдах анхдагч өгөгдлийн төрлийг дэмждэг. Нөгөө талаас, RMI нь Java хэлээр хязгаарлагддаг боловч объектуудыг дамжуулахыг зөвшөөрдөг. RPC нь уламжлалт процедурын хэлний бүтцийг дагадаг бол RMI нь объект хандалтат дизайныг дэмждэг.

RPC гэж юу вэ?

RPC буюу Remote Procedure Call гэсэн үгийн товчлол нь процесс хоорондын харилцааны нэг төрөл юм. Энэ нь дотоод компьютер эсвэл алсын компьютер дээр ажиллаж байгаа өөр процесс дахь функцийг дуудах боломжийг олгодог. Энэ үзэл баримтлал 1980 онд нэлээд эрт гарч ирсэн боловч анхны алдартай хэрэгжилт нь Unix дээр гарч ирсэн.

RPC нь хэд хэдэн үе шаттай. Үйлчлүүлэгч ердийнхөөрөө локал компьютер дээр процедурын дуудлагыг хийдэг. Client stub гэж нэрлэгддэг модуль нь аргументуудыг цуглуулж, мессеж үүсгэж, үйлдлийн систем рүү дамжуулдаг. Үйлдлийн систем нь системийн дуудлага хийж, энэ мессежийг алсын компьютерт илгээдэг. Сервер дэх үйлдлийн систем нь мессежийг цуглуулж серверийн stub гэж нэрлэгддэг серверийн модуль руу дамжуулдаг. Дараа нь серверийн stub нь сервер дээрх процедурыг дууддаг. Эцэст нь үр дүнг үйлчлүүлэгч рүү буцааж илгээнэ.

RPC-г ашиглахын давуу тал нь сүлжээний мэдээллээс хамааралгүй байдаг. Программист зөвхөн хийсвэр байдлаар зааж өгөх ёстой бөгөөд үйлдлийн систем нь дотоод сүлжээний нарийн ширийн зүйлийг анхаарч үзэх болно. Энэ нь програмчлалыг хөнгөвчлөх бөгөөд RPC нь физик болон протоколын ялгаанаас үл хамааран ямар ч сүлжээгээр ажиллах боломжийг олгодог. RPC хэрэгжүүлэлт нь Unix, Linux, Windows болон OS X гэх мэт бүх үндсэн үйлдлийн системүүдэд байдаг. RPC нь ерөнхийдөө хэлний төвийг сахисан байдаг тул өгөгдлийн төрлүүдийг хамгийн анхдагч төрлөөр хязгаарладаг, учир нь тэдгээр нь бүх хэлэнд нийтлэг байх ёстой. RPC-д хандах хандлага нь объект руу чиглэсэн биш боловч C. хэл дээрх шиг уламжлалт процедурын механизм юм.

RPC ба RMI хоорондын ялгаа
RPC ба RMI хоорондын ялгаа
RPC ба RMI хоорондын ялгаа
RPC ба RMI хоорондын ялгаа

RMI гэж юу вэ?

RMI нь Remote Method Invocation буюу Remote Method Invocation гэсэн үгийн товчлол бөгөөд API (Application Programming Interface) бөгөөд RPC-г java дээр хэрэгжүүлдэг бөгөөд объект руу чиглэсэн шинж чанарыг дэмждэг. Энэ нь нэг компьютер эсвэл алсын компьютер дээр байрладаг өөр Java виртуал машин дээр Java аргуудыг дуудах боломжийг олгодог. RMI-ийн хязгаарлалт нь зөвхөн Java аргуудыг дуудаж болно, гэхдээ энэ нь объектуудыг аргумент болгон дамжуулж, утгыг буцаах давуу талтай. Гүйцэтгэлийг тооцвол RMI нь Java виртуал машин дээрх байт кодыг оролцуулсан тул RPC-ээс удаашрах боловч RMI нь программист маш ээлтэй бөгөөд хэрэглэхэд тун хялбар.

RMI нь Java-д суурилуулсан аюулгүй байдлын механизмуудыг ашигладаг бөгөөд TCP бус тусгай тээврийн давхаргын протоколуудыг ашиглах боломжийг олгодог залгуур үйлдвэрийг өгдөг. Түүнчлэн RMI нь галт ханыг тойрч гарах аргуудыг өгдөг. RMI-д тохиолддог алхамууд нь RPC-тэй төстэй. RMI-ийн хэрэгжилт нь программист санаа зовох шаардлагагүй дотоод сүлжээний дэлгэрэнгүй мэдээллийг хардаг.

RPC болон RMI хоёрын ялгаа юу вэ?

• RMI нь Java хэлээр хязгаарлагдаж байхад RPC нь хэлний төвийг сахисан байна.

• RPC нь Си хэл дээрх шиг процедурын шинж чанартай боловч RMI нь объект хандалтат юм.

• RPC нь зөвхөн анхдагч өгөгдлийн төрлийг дэмждэг бол RMI нь объектуудыг аргумент болгон дамжуулж, утгыг буцаах боломжийг олгодог. RPC ашиглах үед программист аливаа нийлмэл объектыг энгийн өгөгдлийн төрөлд хуваах ёстой.

• RMI нь тухайн RPC программчлахад хялбар.

• RMI нь java байт кодыг ажиллуулдаг тул RMI нь RPC-ээс удаан байна.

• RMI нь объект руу чиглэсэн шинж чанараас шалтгаалан дизайны хэв маягийг ашиглахыг зөвшөөрдөг бол RPC-д ийм боломж байхгүй.

Тойм:

RPC vs RMI

RPC нь алсын компьютер дээр процедурыг дуудах боломжийг олгодог хэлний төвийг сахисан механизм юм. Гэсэн хэдий ч хэлний төвийг сахисан функц нь аргумент болгон дамжуулж буй өгөгдлийн төрлүүдийг хязгаарлаж, утгыг анхдагч төрлүүд рүү буцаадаг. RMI нь Java хэл дээрх RPC-ийн хэрэгжилт бөгөөд объект дамжуулахыг дэмждэг тул програмистын амьдралыг хөнгөвчилдөг. RMI-ийн давуу тал нь объект хандалтат дизайны дэмжлэг боловч Java-г хязгаарласан нь сул тал юм.

Зөвлөмж болгож буй: