فریم ورک gRPC چیست؟
"فریم ورک gRPC با استفاده از فناوریهایی مانند Protocol Buffers و HTTP/2 یک بستر تعامل مدرن و کارآمد را فراهم میکند"
فریم ورک gRPC چیست؟ نسل جدید RESTful
فریم ورک gRPC یک چهارچوب چندسکویی منبع باز برای تماس از راه دور (RPC) با عملکرد بالا است که در سال 2015 توسط گوگل توسعه داده شده. در این روش کلاینت به صورت مستقیم میتواند توابع موجود در سرور را فراخوانی کند که این مسئله برای توسعه برنامههای توزیع یافته کمک بسیار بزرگی است. RPC شکلی از ارتباط کلاینت-سرور است که به جای ارتباط معمولی از طریق HTTP از فراخوانی تابع استفاده میکند. در حقیقت gRPC چهارچوبی برای پیادهسازی وب سرویسهای RPC از طریق HTTP/2 است.
ویژگیهای فریم ورک gRPC
فریم ورک gRPC با استفاده از پروتکلهایی مانند Protocol Buffers و HTTP/2 یک بستر تعامل مدرن و کارآمد را فراهم میکند و با ویژگیهایی که دارد به رقیب سرسخت و جایگزین برای RESTful تبدیل شده است:
پیامهای بسیار سبک
بسته به نوع ارتباط، اندازه پیامهای تولید شده با gRPC تا 30 درصد کوچکتر از پیامهای JSON در RESTful API است.
ارتباط بسیار سریع
پروتکل HTTP/2 نسبت به پروتکلهای نسل قبل خود مانند HTTP/1 بسیار کارآمدتر و سریعتر است و به کمک gRPC تاخیر و بار ترافیک شبکه را به نحو چشمگیری کاهش میدهد و به دلیل اینکه پیامها کوچکتر هستند، میتوان آنها را با سرعت بیشتری بین کلاینت و سرور انتقال داد و تجربه کاربری بهتری را ارائه میدهد. در ارزیابیهای مختلف gRPC نسبت به ارتباط از طریق RESTful حدود 8 برابر سریعتر است.
قابلیت تولید کد داخلی
فریم ورک gRPC دارای قابلیت تولید کد خودکار در انواع زبانهای برنامه نویسی مختلف مانند JAVA، Ruby، Objective-C، Dart، Go، Python، ++C، سی شارپ و ... است
گزینههای اتصال بیشتر
در حالی که REST بر معماری request-response متمرکز است، gRPC از data streaming های زیر پشتیبانی می کند:
- server-side streaming
- client-side streaming
- bidirectional streaming