معرفی gRPC و پیاده‌سازی آن در NET Core 3.1.

ساخت وبلاگ

gRPC یک سیستم فراخوانی منبع طراحی اپلیکیشن در مشهد گشوده از روش بدور میباشد که در سال 2015 به وسیله گوگل پیشرفته میباشد.


این سیستم از HTTP/2 برای جابجایی پیام‌های باینری و بافرهای پروتکل پیش‌فرض تحت عنوان گویش تعریف‌و‌تمجید رابط (IDL) برای تعریف رابط خدمت و ساختار پیام‌ها استعمال می‌نماید.

// The greeter service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) retus (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
gRPC چهار نوع طرز خدمت دهی را تمجید می‌نماید:

1. Unary RPCs: در آن کلاینت فقط یک درخواست را به سرور ارسال می‌نماید و جواب واحدی اخذ می‌نماید.

2. Server streaming RPCs: کلاینت درخواست را به سرور ارسال می‌نماید و جریانی (استریم) را برای قرائت دنباله‌ای از پیام‌ها اخذ می‌نماید.

3. Client Streaming RPCs: کلاینت دنباله‌ای از پیام‌ها را می‌نویسد و آنها‌را به سرور می‌فرستد، مجدد از یک جریان ارائه گردیده به کارگیری می‌نماید.

4. Bidirectional Streaming RPCs: هر دو طرف دنباله‌ای از پیام‌ها را با به کار گیری از جریان قرائت-تایپ کردن ارسال می‌نمایند.

درصورتی که gRPC را با Web API مقایسه کنیم، تفاوت‌های ذیل وجود دارااست:

1. Web API بر طبق معماری REST میباشد جایی که همچون gRPC سبک RPC را توصیه می‌نماید، مدلی که تحت عنوان کلاینت، ریموت پروسیجر را بر روی سرور فراخوانی می‌نماید.

2. Web API از HTTP برای جابجایی استعمال می‌نماید در حالی که gRPC از HTTP/2 به کار گیری می‌نماید.

3. داده های رد و بدل گردیده به وسیله Web API فرمت قابل قرائت به وسیله بشر میباشد (معمولا JSON)، در حالی که gRPC از فرمت باینری به هم پیوسته به کار گیری می‌نماید.

پیش نیازها

پیش از ساخت و ساز خدمت‌های gRPC مطمئن گردید که NET Core 3.1 SDK. به طور لوکال برای شما نصب گردیده‌است، این آیتم می تواند با تایپ فرمان پایین نظارت خواهد شد: ‘dotnet –version’ را در پنجره کنسول نظارت نمائید. در شرایطی که نصب نشده میباشد NET Core 3.1 (Linux, macOS, and Windows). را دانلود کرده و بر روی دستگاه خویش نصب فرمائید.

ساخت خدمت gRPC

اپلیکیشن‌ای که می خواهیم بسازیم یک میکروسرویس میباشد که تخفیف را بر طبق نوع مشتری (gold یا این که platinum یا این که silver) به حساب آوردن می‌نماید که می تواند بیشتر قابل سرایت کردن باشد. با تشکیل داد یک فایل تازه، grpc-dotnet-microservice، و اضافه کردن نرم‌افزار های کلاینت و خدمت استارت فرمائید.

بدین فایل بروید و پروژه خدمت را با تایپ کردن فرمان پایین در پنجره کنسول بسازید:


امر بالا یک مثال تازه پروژه NET Core gRPC. در پوشه تشکیل‌شده CalculateDiscountService می‌سازد.

تمجید تفاهم نامه

اولی گام تعریف‌و‌تمجید تفاهم نامه (contract) میباشد که اینترفیسی میباشد که کارایی یا این که توابع نماد داده گردیده بوسیله خدمت را ذکر می‌نماید. در قاب‌ ورک gRPC این اینترفیس از روش Protocol buffer یا این که protobuf تعریف‌و‌تمجید می گردد. به صورت خاص این اینترفیس در فولدر proto. تعریف‌و‌تمجید شد‌ه‌است.

بهترین مقالات طراحی اپلیکیشن موبایل و اندروید در مشهد...
ما را در سایت بهترین مقالات طراحی اپلیکیشن موبایل و اندروید در مشهد دنبال می کنید

برچسب : طراحی اپلیکیشن در مشهد, نویسنده : حجت عسکری educationalapp بازدید : 192 تاريخ : يکشنبه 4 ارديبهشت 1401 ساعت: 14:30