
ستون حاوية على خادم واحد
صندوق معادن عارية واحد يشغل عشرات إلى مئات حاويات Hoody. يجعل KSM و BTRFS dedup التكلفة الإضافية قريبة من الصفر.
Slack يرفضه. Drive يحتاج إلى طلب مشاركة مجلد. البريد الإلكتروني محدود بـ 25 MB. أمرا curl — واحد على حاسوبك المحمول، وآخر على حاسوبه — ينقلان الملف من قرص إلى قرص. الأنبوب يوجّه البايتات؛ لا شيء يُرفَع إلى الخادم على الإطلاق.
GET وPUT للمسار نفسه. Hoody Pipe يحتفظ بأيّ طرف يتصل أولًا حتى خمس دقائق؛ بمجرد ظهور الطرف الآخر، تتدفق البايتات مباشرة. لا شيء يُكتَب إلى القرص على الخادم.
# من جهازك المحمولcurl -T dump.sql \ https://pipe.containers.hoody.com/api/v1/pipe/dump-yesterday[INFO] انتظار 1 جهة استقبال للاتصال…[INFO] البث إلى 1 جهة استقبال…[INFO] Transfer complete.
PUT (أو POST) بجسم متدفّق. الخادم يطبع أسطر حالة استجابةً وأنبوب يتأسّس — مفيد كإشارة حيّة على أن الطرف الآخر التقطها فعلًا.
# on their boxcurl \ https://pipe.containers.hoody.com/api/v1/pipe/dump-yesterday \ -o dump.sql# 4.2 GB · saved · done.
GET على المسار نفسه يحجب التنفيذ حتى يتصل المُرسِل. البايتات التي يكتبها المُرسِل تظهر بوصفها جسم الاستجابة — وجّهها إلى ملف بـ -o، أو إلى stdin لأي برنامج يقرأ.
الترتيب لا يهمّ. إن شغّلت curl أولًا، يحجب الطلب التنفيذ حتى يتصل هو. إن شغّل curl أولًا، يحجب طلبه بدلًا منه. في الحالتين، لحظة اتصال الطرفين، تبدأ البايتات بالتحرك.
من نداء Slack إلى هبوط الملف على قرصه — الخطوات الأربع التي يتيحها الأنبوب.
"يمكنك إرسال نسخة الإنتاج من الأمس؟"الملف 4 GB. Slack يرفضه، والقرص المشترك يحتاج تذكرة مشاركة مجلد. تتوقف عن اللجوء إلى أيّ منهما.
curl -T dump.sql …/pipe/dump-yesterdayطرفيتك تطبع "Waiting for 1 receiver to connect…" وتنتظر. تلصق العنوان في الدردشة: "شغّل هذا."
curl …/pipe/dump-yesterday > dump.sqlالأنبوب يتأسّس لحظة اتصاله. تبدأ البايتات بالتدفق من قرصك عبر الأنبوب إلى الملف على قرصه.
النقل كامل · 0 بايت على الخادماستخدام القرص على الخادم يبقى صفرًا. مسار الأنبوب ينسى أن النقل حدث في اللحظة التي ينفصل فيها الطرفان.
العدد نفسه من الأوامر التي ستكتبها لرحلة Drive ذهابًا وإيابًا — ناقصًا تسجيل الدخول، ناقصًا شريط الرفع، ناقصًا الرابط، ناقصًا التنظيف.
Hoody Pipe وسيط بثّ، ليس خدمة ملفات. الملف موجود على قرصك وعلى قرصه. بينهما، مجرّد بايتات تطير بأي سرعة تستطيع شبكتاكما تحملها — الأنبوب يكتفي بالتمرير.
مسارات الأنبوب لا تتطلّب مصادقة في النشر العام. عناوين قابلة للعنونة محصورة بنقل واحد؛ بمجرد انفصال الطرفين، يختفي المسار. لا شيء على المستقبِل أن يسجّل فيه.
النقل لا يهبط على قرص الخادم أبدًا. لا شيء للتنظيف، ولا للتسريب، ولا لانتهاء صلاحية. البايتات على حاسوبك المحمول؛ ثم على حاسوبه أيضًا؛ والمسار ينسى أنه وُجِد.
أمرا curl. بلا تسجيل دخول. بلا شريط رفع. تمّ.
"ابعث لي ذلك الملف" كانت تعني علامة تبويب، تسجيل دخول، رفعًا، رابطًا، لصقًا، تنزيلًا. الآن تعني: اكتب curl، ألصق العنوان، شغّل curl. أسرع نسخة من هذا ستكتبها في حياتك.
معظم الأدوات التي استخدمناها لإرسال ملف 4 GB هي بقايا من زمن لم نكن نستطيع فيه بثّ بايتات بين طرفيتين عبر HTTP. الأنبوب يجعلها كلها غير ضرورية.
أمرا curl. الملف على حاسوبه. لم يُرفَع شيء على الإطلاق.