وب‌سرویس مجید

پروژه dataloader

graphql/dataloader

کاربرد:

این ابزار یک کتابخانهٔ عمومی برای بهینه‌سازی دریافت داده‌ها در برنامه‌های گراف‌کوئری است که با استفاده از دسته‌بندی درخواست‌ها (batching) و کش‌کردن نتایج (caching)، تعداد درخواست‌های ارسالی به بک‌اند را کاهش می‌دهد.

در چه شرایطی بهتره استفاده شود؟

وقتی با مشکل N+1 query مواجه هستید و هر درخواست کوئری منجر به چندین فراخوانی جداگانه به دیتابیس یا API می‌شه. استفاده از DataLoader این فراخوانی‌ها را جمع‌آوری کرده و به صورت دسته‌ای ارسال می‌کنه.

چند مثال از موارد استفاده

وقتی کاربران یک پست را لایک کرده‌اند و باید اطلاعات هر کاربر را جداگانه بخوانید.

در سیستم‌های فروشگاهی که باید اطلاعات محصولات و فروشندگان آن‌ها بارگیری شوند.

هنگامی که داده‌ها از چندین سرویس مختلف (microservices) نیاز است و می‌خواهید تعداد درخواست‌ها را به حداقل برسانید.

  • ##DataLoader
  • ##GraphQL
  • ##Batching
  • ##Caching
  • ##Performance
  • ##NodeJS
  • ##API
  • ##Microservices
  • ##N
  • ##Backend