


بهینهسازی میکروسرویس دانلود/آپلود (Node.js) برای ربات
- توسعه نرمافزار و آیتی
سلام، ما یک پروژه ربات مبتنی بر معماری میکروسرویس (Node.js) داریم. این سیستم شامل یک بکاند اصلی (NestJS) و یک سرویس آپلودر مجزا (Express.js) است که کل سیستم با Docker راهاندازی میشود.
مشکل فعلی: بکاند اصلی ربات (NestJS) در حال حاضر مسئولیت دانلود فایلهای سنگین از لینکهای ارسالی کاربران را بر عهده دارد. این موضوع باعث ایجاد گلوگاه (bottleneck) و فشار پردازشی غیرضروری روی سرویس اصلی شده است.
هدف پروژه: ما به دنبال یک توسعهدهنده ارشد Node.js هستیم تا این فرآیند را بهطور کامل بازآفرینی (Refactor) کند. مسئولیت دانلود فایل باید کاملاً به میکروسرویس آپلودر (Express.js) منتقل شود.
فرآیند مورد انتظار: سرویس آپلودر باید وظیفه را از بکاند دریافت کند، فایل را مستقیماً از URL مبدأ دانلود کرده و همزمان به سرور FTP آپلود (Stream) کند. در نهایت، نتیجه (موفقیت یا شکست) را با یک callback به بکاند اصلی بازگرداند.
توضیحات تکمیلی در مورد وضعیت پروژه (مهم):
برای شفافسازی و ارائه قیمت دقیقتر، لطفاً به نکات زیر توجه کنید:
این پروژه «ساخت از صفر» نیست، بلکه یک تسک «بازنویسی (Refactoring) و تکمیل» یک فیچر موجود است.
معماری میکروسرویس (NestJS + Express.js) و ارتباط بین آنها (از طریق API و Callback) در حال حاضر پیادهسازی شده و کل پروژه با Docker در حال اجرا است.
وظیفه شما، انتقال کامل منطق دانلود از بکاند اصلی (NestJS) به میکروسرویس آپلودر، و سپس تکمیل، رفع باگ و پایدارسازی فرآیند آپلود مستقیم به FTP (مسیر uploadTarget=ftp) در سرویس Express.js است.
شما روی یک کدبیس موجود و ساختاریافته کار خواهید کرد و نیازی به راهاندازی زیرساخت ندارید.
مهارتهای الزامی:
تسلط کامل بر Node.js و TypeScript. تجربه تخصصی با Express.js (برای کار روی میکروسرویس آپلودر). تجربه کار با NestJS (برای اصلاح و هماهنگی بکاند اصلی). تسلط بر معماری میکروسرویس و الگوهای ارتباطی (مانند REST API و Callback). تجربه کار با Docker و Docker Compose (الزامی). تجربه عملیاتی با Stream-ها در Node.js (برای بهینهسازی دانلود و آپلود). آشنایی با پروتکل FTP و کتابخانههای مرتبط. آشنایی با Redis (به عنوان مزیت).
ما به دنبال همکاری با یک فرد متخصص و باتجربه برای این تسک مشخص هستیم. جزئیات کامل پروژه، مستندات معماری و دسترسیها پس از بررسی پیشنهاد و توافق اولیه ارائه خواهد شد. لطفاً در پیشنهاد خود، حتماً به تجربههای مشابه خود در زمینه بهینهسازی فرآیندهای دانلود/آپلود یا کار با میکروسرویسها اشاره کنید.
مهارتهای مورد نیاز
جاوا اسکریپت (JavaScript)
Node.js
System Admin
سرویسهای مرتبط
فریلنسرهایی که در این پروژه پیشنهاد ارسال کردهاند
milad36814.75(8) امتیاززمان تحویل: 15 روزارسال پیشنهاد در:
rez4s4berian4.68(66) امتیاززمان تحویل: 2 روزارسال پیشنهاد در:- ZAزمان تحویل: 15 روزارسال پیشنهاد در: