graphql/dataloader
کاربرد:
این ابزار یک کتابخانهٔ عمومی برای بهینهسازی دریافت دادهها در برنامههای گرافکوئری است که با استفاده از دستهبندی درخواستها (batching) و کشکردن نتایج (caching)، تعداد درخواستهای ارسالی به بکاند را کاهش میدهد.
در چه شرایطی بهتره استفاده شود؟
وقتی با مشکل N+1 query مواجه هستید و هر درخواست کوئری منجر به چندین فراخوانی جداگانه به دیتابیس یا API میشه. استفاده از DataLoader این فراخوانیها را جمعآوری کرده و به صورت دستهای ارسال میکنه.
چند مثال از موارد استفاده
وقتی کاربران یک پست را لایک کردهاند و باید اطلاعات هر کاربر را جداگانه بخوانید.
در سیستمهای فروشگاهی که باید اطلاعات محصولات و فروشندگان آنها بارگیری شوند.
هنگامی که دادهها از چندین سرویس مختلف (microservices) نیاز است و میخواهید تعداد درخواستها را به حداقل برسانید.
- ##DataLoader
- ##GraphQL
- ##Batching
- ##Caching
- ##Performance
- ##NodeJS
- ##API
- ##Microservices
- ##N
- ##Backend
