سؤال

أنا أبحث عن طريقة جيدة لنقل كميات البيانات غير التافهة (10G> x> 10 ميجابايت) من جهاز إلى آخر ، وربما على جلسات متعددة.

لقد نظرت لفترة وجيزة في

  • *FTP (SFTP ، TFTP ، FTP)
  • http
  • السيول (لأنني لن يكون لدي شبكة بذور بشكل عام)
  • RSYNC (لست متأكدًا مما إذا كان بإمكاني تكييف هذا الأمر مع ما أحتاجه)

هل هناك أي بروتوكولات أخرى قد تناسب الفاتورة بشكل أفضل قليلاً؟ معظم ما سبق ليسوا متسامحين للغاية في حد ذاته ، بل يعتمد على تطبيقات العميل/الخادم لالتقاط الركود. في هذه المرحلة ، أهتم أكثر بالبروتوكول نفسه ، بدلاً من تنفيذ عميل/خادم معين يعمل بشكل جيد.

(ونعم أعلم أنه يمكنني كتابة بلدي على UDP ، لكنني أفضل تقريبا أي شيء آخر!!)

هل كانت مفيدة؟

المحلول

أستخدم RSYNC (فوق SSH) لنقل أي شيء أعتقد أنه قد يستغرق أكثر من دقيقة.

من السهل تقييم الحد ، تعليق/استئناف والحصول على تقارير التقدم. يمكنك أتمتة مع مفاتيح SSH. إنه (عادة) مثبت بالفعل (على *صناديق NIX ، على أي حال).

اعتمادًا على ما تحتاجه ، يمكن لـ RSYNC على الأرجح التكيف. إذا كنت تقوم بتوزيع على الكثير من المستخدمين ، فقد يكون FTP/HTTP أفضل لمخاوف جدار الحماية ؛ لكن RSYNC رائعة لنقل واحد إلى واحد أو واحد إلى آخر.

نصائح أخرى

RSYNC هو دائما أفضل رهان.

نظرًا لأنه ينقل الاختلافات فقط ، إذا تم انقطاع النقل ، فلن يكون الأمر مختلفًا تمامًا مثل الأول (عندما لم يكن هناك ملف في الوجهة)

لا يتطلب BitTorrent شبكة بذور كبيرة لتكون فعالة - ستعمل بشكل جيد مع بذور واحدة ونظير واحد. هناك القليل من النفقات العامة التي تقوم بإعداد متتبع وما إلى ذلك ، ولكن بمجرد إعدادها ، ستكون طريقة لطيفة وملوية للتسامح مع الأخطاء.

حسنًا ، HTTP خيار جيد ، حيث يدعم إعادة تشغيل التحويلات الجزئية باستخدام نطاقات البايت. تعد FTP أو TFTP جيدة لأنه يمكنك الحصول على برنامج خادم سهل للغاية للتكوين ، بدلاً من الاضطرار إلى قفل شيء مثل خادم HTTP.

Gridftp هو ما تستخدمه Argonne لنقل كميات ضخمة من البيانات بشكل موثوق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top