برنامه نویسی

# 🧩 nodebond: IPC سبک برای node.js – احیا شده و بهبود یافته است

“ارتباطات بین فرآیند مدرن ساده ساخته شده است. یک اتوبوس IPC تازه شده برای میکروسرویس های محلی Node.js.”

سلام به همه!

آیا تا به حال مجبور شده اید چندین فرآیند Node.js را که در همان دستگاه کار می کنند متصل کنید؟

شاید شما یک یکپارچه را به قطعات کوچکتر تقسیم کنید ، دیمون های کارگر را اجرا کنید یا ابزارهای محلی را هماهنگ کنید؟

راه حل های استاندارد مانند child_processبا stdin/stdout، به نام لوله ها یا TCP – همه آنها کار می کنند ، اما همراه هستند تن دیگ بخار: سریال سازی ، مسیریابی ، کشف و رسیدگی به خطا.

اینجاست نای وارد می شود – یک اتوبوس IPC سبک احیا شده و طراحی مجدد برای خدمات Node.js محلی.

بله ، این یک ایده قدیمی است – اکنون کاملاً در نسخه 4.0.0 دوباره اصلاح و به روز شده است


🔧 چرا nodebond؟

درد IPC مشترک:

  • تنظیم سوکت های خام مستعد خطا است
  • بدون کشف خدمات داخلی
  • بدون حالت مشترک در حافظه (بدون اضافه کردن Redis یا DB)
  • آزمایش یا تعامل دستی با خدمات دشوار است

✅ nodebond آن را حل می کند

ایده های اصلی:

1. مرکز مرکزی (nodebond start-hub)

هاب ثبت نام و مسیریابی خدمات را مدیریت می کند:

nodebond start-hub
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2. ثبت یک سرویس

const { register } = require("nodebond");

register({
  id: "data-processor",
  exports: {
    async processData(payload) {
      return { status: "processed", id: payload.id };
    }
  }
});
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3. تماس با یک سرویس

const { call } = require("nodebond/runtime");

const result = await call("data-processor.processData", { id: 123 });
console.log(result);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

از CLI:

nodebond call data-processor.processData "{"id":123}"
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

4. حالت مشترک: getبا setبا watch

nodebond set printer.status ""ready""
nodebond get printer.status
nodebond watch printer.status
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

5. ابزار CLI

در nodebond CLI به شما کنترل کامل می دهد:

  • هاب را راه اندازی کنید
  • خدمات تماس بگیرید
  • متغیرها را بازرسی یا تنظیم کنید
  • سیستم خود را به صورت زنده اشکال زدایی کنید

🧪 استفاده در دنیای واقعی

می توانید اتصال دهید:

  • 🖨 printer-service – دستگیره چاپ رسید
  • 📦 db-service – اطلاعات مشتری را واگذار می کند
  • 💳 cashbox-service – هر دو را ارکستر می کند

یک سرویس می تواند با دیگری تماس بگیرد ، داده ها را منتقل کند و متغیرهای وضعیت را در زمان واقعی نظارت کند.


⚠ ملاحظات

نشان یادداشت ها
فقط محلی فقط روی یک دستگاه واحد کار می کند (با طراحی)
یک نقطه شکست قطب اصلی است – اما بسیار سبک وزن است
حالت بی ثبات بازنشانی فروشگاه در حافظه در راه اندازی مجدد

🎯 از موارد استفاده کنید

انتخاب کردن nodeBond چه زمانی:

  • شما برنامه خود را به خدمات جدا شده کوچک تقسیم می کنید
  • شما می خواهید از HTTP سربار یا کارگزاران خارجی جلوگیری کنید
  • شما می خواهید CLI برای نظارت و آزمایش سیستم خود
  • شما می خواهید الگوهای میکروسرویس را به صورت محلی آموزش دهید

📦 نصب

npm install nodebond
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نسخه CLI:

npm install -g nodebond
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


🔄 در v4.0.0 چه خبر است؟

این پروژه در ابتدا زودتر آغاز شده بود ، اما اخیراً کاملاً مجدداً تصور شد:

  • in پاسخ های هر درخواست و پاسخ های مبتنی بر سوکت
  • ✅ CLI با Token Auth (NODEBOND_TOKEN)
  • فروشگاه جهانی حافظه جهانی (get/set/watch)
  • ✅ API واحد برای خدمات و ابزارها
  • ✅ Clean Modular Core (HUB ، IPC ، زمان اجرا)
  • ✅ کاملاً قابل آزمایش با .bat اسکریپت
  • ✅ ویندوز + پشتیبانی سوکت یونیکس

🔗 بیشتر بیاموزید


با تشکر از خواندن – من دوست دارم بشنوم که چگونه nodeBond ممکن است به پروژه های شما نیز کمک کند!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا