وقتی بیست هزار شرکتکننده در یک مکان واحد جمع میشوند، آخرین چیزی که میخواهید، دیدن یک نشانهی در حال بارگذاری (loading spinner) در مقابل گیت است. با این حال، دقیقاً همین اتفاق زمانی میافتد که سیستمهای کنترل تردد با یک استادیوم یا سالن نمایشگاه مانند یک ساختمان اداری آرام برخورد میکنند. در محیطهای با تراکم بالا، شبکه یک امر تضمینشده نیست، بلکه یک نقطه ضعف است. دکلهای سلولار زیر بارِ هزاران اتصال همزمان غرق میشوند. وایفای محل برگزاری از پا در میآید. پهنای باند بکهال اشباع میشود. اگر گیتهای شما برای تصمیمگیری در مورد معتبر بودن یک کارت، به یک فراخوانی API ابری متکی باشند، در واقع خودتان یک حملهی منع سرویس (DoS) علیه جریان ورود خود طراحی کردهاید. اینترنت قطع میشود، گیتها متوقف میشوند و جمعیت در گلوگاهها متراکم میشود. راه حل، اتصال سریعتر نیست؛ بلکه یک معماری محاسبات لبهای (edge-computed) است که کاملاً روی اینترانت محلی محل برگزاری اجرا میشود.
تلهی اتصال
مکانهای با تراکم بالا، فرضهای استاندارد نرمافزارهای «ابر-محور» (cloud-first) را زیر سوال میبرند. یک مرکز همایش در ساعات سخنرانیهای اصلی، شبیه به یک کافیشاپ نیست. هزاران گوشی برای استفاده از همان دکلهای اصلی رقابت میکنند. سیستم DAS میزبان خنثیِ محل برگزاری نیز میتواند به ظرفیت خود برسد. حتی بکهالهای سیمی نیز اگر ارائهدهندگان بالادستی سرعت را محدود کنند یا اگر یک تیم ساختمانی سه بلوک آنطرفتر کابل فیبر را قطع کنند، دچار مشکل میشوند.
در این آشفتگی، یک فرآیند اعتباربخشی معمولی به این صورت است: یک کارت روی خواننده قرار میگیرد، خواننده یک UUID را به یک API ابری میفرستد، پایگاه داده ابری سطح دسترسی بلیط را تایید میکند و API دستور باز شدن را بازمیگرداند. این رفت و برگشت در یک روز خوب ممکن است دویست میلیثانیه طول بکشد. اما تحت فشار، این زمان به چندین ثانیه افزایش یافته یا کلاً با شکست مواجه میشود. در یک گیت، تأخیر سه ثانیهای آزاردهنده است؛ اما در چهل گیت، این یعنی هزاران نفر از برنامههای آغازین جا میمانند، یا بدتر از آن، تراکم ناایمن جمعیت در گلوگاهها ایجاد میشود. معماری سیستم باید فرض را بر این بگذارد که شبکه WAN متخاصم است و بر اساس آن طراحی شود.
لبهی محلی به عنوان منبع حقیقت
یک سیستم محاسبات لبهای، این مدل را دگرگون میکند. به جای پرسوجو از یک سرور دوردست برای هر بررسی اعتبار، شما بخش محاسبات و ذخیرهسازی دادهها را در شبکه محلی محل برگزاری قرار میدهید. این میتواند یک رایانهی صنعتی مقاومسازیشده در کمد تجهیزات AV، یک کلاستر کوچک زیر غرفهی فروش، یا حتی یک گیتوی تعبیهشده روی خودِ گیت چرخشی باشد. ویژگی تعیینکننده ساده است: گیتها با ماشینی داخل ساختمان صحبت میکنند، نه از طریق اینترنت.
قبل از باز شدن درها، گره لبهای (edge node) یک همگامسازی کامل از پروفایلهای نمایندگان را دریافت میکند. هر شناسه کارت، هر سطح دسترسی، هر نشان VIP و هر قانون مربوط به گذرنامههای چندروزه در حافظه محلی یا یک SSD محلی سریع ذخیره میشود. این مجموعه داده، یک کش (cache) منقضیشونده نیست؛ بلکه منبع حقیقت عملیاتی برای طول مدت رویداد است. اگر در حالی که شبکه WAN هنوز فعال است، ثبتنام لحظهی آخری انجام شود، پیام بهروزرسانی به صف لبهای ارسال شده و با شاخص محلی ادغام میشود. وقتی WAN قطع شود، گیتها حتی متوجه آن هم نمیشوند.
نحوه عملکرد منطق گیت
با قرارگیری دادههای محلی در دسترس، زنجیرهی تصمیمگیری گیت، کوتاه و قطعی میشود.
دریافت از حافظه محلی. خواننده یک کارت را تشخیص داده و از ذخیرهساز پروفایل محلی پرسوجو میکند. این جستجو با سرعت RAM یا NVMe انجام میشود، نه با سرعت اینترنت. هیچ فرآیند DNS resolution، هیچ دستدادن TLS (handshake) با یک لود بالانسر دوردست، و هیچ وابستگی به یک CDN که ممکن است خودش دچار مشکل باشد، وجود ندارد.
تایید سطح دسترسی به صورت محلی. گره لبهای قوانین مخصوص هر گیت را بدون اجازه گرفتن از ابر اعمال میکند. آیا این کارت برای گیت 7A معتبر است؟ آیا اجازه ورود به طبقه را میدهد یا فقط ورود عمومی است؟ آیا محدودیتهای زمانی وجود دارد؟ تمام ارزیابی قوانین در داخل فرآیند انجام میشود. سیستم حتی میتواند منطق ضد بازگشت (anti-passback) را — برای جلوگیری از ورود مجدد یک کارت — با نگهداری یک دفتر کل محلی از اسکنهای اخیر، اعمال کند.
فعالسازی فوری رلههای سختافزاری. به محض اینکه تاییدیه انجام شد، گره لبهای رله را فعال میکند
