یه مشکلی که من باهاش داشتم همیشه grpcurl بود چون شما عملا از curl عادی نمیتونی استفاده کنی باید این پکیج رو بری مثلا روی پاد هات نصب کنی که خودش دردسره !
تست و دیباگ با grpcurl واقعا میتونه روی اعصاب باشه و اصلا اون سادگی curl معمولی یا ابزارهایی مثل Postman رو نداره.
بزرگترین دردسرش وقتیه که قابلیت Reflection روی سرور gRPC غیرفعال باشه. تو محیط پروداکشن معمولا این قابلیت رو به خاطر امنیت میبندن و این یعنی grpcurl کلا کور میشه و نمیفهمه چه متدهایی وجود داره. برای اینکه بتونی یه ریکوئست ساده بزنی مجبوری تمام فایلهای proto رو دستی به ابزار معرفی کنی. وقتی داری روی یه معماری مایکروسرویس کار میکنی که فایلهای proto پر از وابستگی و importهای مختلف هستن، پیدا کردن و آدرس دادن دقیق این مسیرها برای یه تست ساده به شدت کلافهکننده میشه.
علاوه بر اینا، چون gRPC روی HTTP/2 کار میکنه و به شدت به گواهینامههای TLS وابستهست، وقتی داری لوکال تست میکنی دائم با خطای SSL روبرو میشی و باید با اضافه کردن فلگهای مختلف سعی کنی ابزار رو مجبور کنی که به سرور لوکال بدون سرتیفیکیت معتبر وصل بشه. همه این اصطکاکهای کوچیک باعث میشه کاری که تو معماری REST تو چند ثانیه انجام میشد، اینجا کلی وقت و انرژی ازت بگیره.
یه باگ دیگم ما داشتیم توی nginx این بود که ریکوست رو سمتش میفرستادیم بعد ریکوسته میرفت ولی تو حین مسیر nginx قطعش میکرد ! بعد ریکوسته رفته بود رسپانسم نداشتی :))))))))
هزینه نگهداریش برای تیم ما که تیم نسبتا کوچیکیه واقعا بالاست ! شاید برای تیم های خیلی بزرگتر خیلی منطقی بنظر برسه مثلا بلوبانک الان همه ریکوست های فرانتشم GRPC عه و خیلی خوب دارن اینکارو انجام میدن !
@codehalics | کدهالیک
Post #1020
757
کدهالیک | codehalic مهاجرت پر هزینه از rest به grpc نویسنده تو این مقاله داستان مهاجرت تیمشون از REST به gRPC رو تعریف میکنه و میگه با اینکه سرعت و عملکردشون واقعا بهتر شد، اما یک سال تمام درگیر دردسرهایی شدن که تو REST اصلا وجود نداشت. مشکل اصلی این بود که gRPC دادهها رو…
- 👍 5