نکسورا چطور کار میکند
نکسورا دو بخش دارد: یک پنل که دربارهی همهچیز تصمیم میگیرد، و هر تعداد نود که ترافیک کاربرهایتان را حمل میکنند. این بخش توضیح میدهد درونشان چطور کار میکند، برای وقتی که میخواهید بدانید چرا چیزی اینطور رفتار میکند. برای ادارهی سرویس به آن نیازی ندارید؛ بخش کار با پنل آن را پوشش میدهد.
صفحهی کنترل: پنل
پنل یک برنامه با رابط وب است و چهار چیز را در خود دارد:
- پایگاه داده، تنها منبع حقیقت. هر ادمین، کاربر، پلن، اینباند، قالب، نود، تونل، گواهی و تنظیمی آنجا زندگی میکند، روی SQLite یا PostgreSQL. نودها هیچ نسخهای از خودشان نگه نمیدارند؛ اگر این دو با هم نخوانند، حق با پنل است و نود مطابق آن تغییر میکند.
- زمانبند. پنل کارهای دورهایاش را خودش انجام میدهد، با ریتمی ثابت (پایینتر).
- API. رابط وب، اسکریپتهای شما و افزونهها همه از یک API استفاده میکنند، هر کدام با مجوزهای خودش.
- سرویس اشتراک. اپهای کاربرها پیکربندیشان را از آدرس اشتراک خودشان میگیرند. این سرویس میتواند روی دامنههای خودش اجرا شود، جدا از آدرسی که پنل را از آن مدیریت میکنید.
ریتم پنل
| هر | پنل |
|---|---|
| ۱۰ ثانیه | آدرسهایی را که هر نود دیده ادغام میکند و جدول آدرس هر کاربر را هر جا تغییر کرده باشد برمیگرداند |
| ۱۵ ثانیه | هر نود را بررسی میکند (ضربان) و پیکربندی را دوباره برای نودی میفرستد که آن را سرو نمیکند |
| ۳۰ ثانیه | شمارندههای ترافیک را از همهی نودها جمع میکند |
| دقیقه | سهمیهها، تاریخهای انقضا، چرخههای ریست و محدودیتهای نود را اعمال میکند؛ سلامت افزونهها را بررسی میکند |
| ۵ دقیقه | از دیسک، حافظه و بار هر نود نمونه میگیرد |
| ۱۰ دقیقه | route، DNS و رولستهای هر نود را با چیزی که باید اجرا کند مقایسه میکند |
| ساعت | رولستهایی را که وقتشان رسیده تازه میکند، رکوردهای قدیمی را حذف میکند، تاریخچهی سلامت را فشرده میکند، manifest افزونهها را دوباره میخواند |
| ۶ ساعت | گواهیهایی را که وقت تمدیدشان رسیده تمدید میکند |
صفحهی داده: نودها
نود سروری است که ترافیک را حمل میکند. بیحالت (stateless) است:
- پایگاه داده ندارد. اینباندها، اوتباندها، اندپوینتها، مسیریابی، کاربرها و محدودیتها همه از پنل میرسند و در حافظه نگه داشته میشوند.
- روی دیسک فقط هویت TLS خودش را نگه میدارد و یک کش از فایلهایی که میشود دوباره گرفت، مثل رولستهایی که پنل فرستاده است.
- بعد از ریاستارت هیچ چیزی سرو نمیکند تا پنل دوباره پیکربندیاش را بفرستد، که ضربان بعدی در عرض چند ثانیه این کار را میکند.
- فقط تا وقتی سرو میکند که پنلش به آن دسترسی دارد. اگر حدود سه دقیقه از پنل جدا بماند، سرو کردن را متوقف میکند. ببینید نود و پنلش.
چیزی که یک نود سرو میکند قالب آن است: اینباندها، اوتباندها، اندپوینتها، رولستها و مسیریابی درون آن، بهعلاوهی کاربرهایی که به آن قالب تعلق دارند.
چطور با هم حرف میزنند
پنل از راه HTTPS روی پورت کنترل نود (بهطور پیشفرض ۶۲۰۵۰) به هر نود وصل میشود، با TLS دوطرفه:
- نود فقط گواهی کلاینت پنل را میپذیرد که هنگام نصب دریافت کرده است.
- پنل گواهی خود نود را در اولین اتصال ثبت میکند و از آن به بعد فقط همان را میپذیرد. این اعتماد در اولین استفاده است: گواهی دیگری در همان آدرس رد میشود.
وقتی نود نصب شد، همیشه پنل است که با نود تماس میگیرد، هرگز برعکس. روی این اتصال، پنل پیکربندی و تغییرات را میفرستد و وضعیت، شمارندهها، هشدارها و آمار میزبان را میخواند. هر تغییر فقط بهصورت همان تغییر فرستاده میشود، بدون ریاستارت نود؛ ببینید تغییر بدون ریاستارت.
کاربرها فقط با نودها و آدرس اشتراک سروکار دارند
مشتریهایتان هیچوقت به پنل نمیرسند. اپشان پیکربندیاش را از آدرس اشتراک میگیرد، سپس به آدرسهای لینک نودها وصل میشود. لازم نیست کسی جز شما و همکارانتان آدرس خود پنل، صفحهی ورودش و API آن را بداند.
افزونهها کنار پنل مینشینند
یک افزونه، مثل Nexora Shop یا اطلاعرسان (notifier)، برنامهای جداست با پروسه، پایگاه داده و رابط خودش. فقط از راه شبکه با پنل کار میکند: یک توکن API با مجوزهایی که تأیید کردهاید، و یک وبهوک که رویدادهایی را که خواسته دریافت میکند. پنل هیچوقت کد یک افزونه را اجرا نمیکند. ببینید پلتفرم افزونه و گذرگاه رویداد.
صفحههای این بخش
| صفحه | چه چیزی را توضیح میدهد |
|---|---|
| مسیر یک بسته | یک اتصال در گذر از نود، مرحله به مرحله |
| تغییر بدون ریاستارت | یک تغییر چطور بدون ریاستارت به نودها میرسد |
| نود و پنلش | اعتماد، نشستها، ضربانها، و کاری که نود بدون پنلش میکند |
| درون یک تونل | رلهها، مقصدها و مخزن نشست درون یک تونل |
| از قالب تا لینک | لینکهای یک کاربر چطور از قالبها، آدرسها و فرانتها ساخته میشوند |
| ترافیک، سهمیهها و محدودیتها | شمارش ترافیک، سهمیهها، محدودیتها و سهمیهی نمایندهها |
| گذرگاه رویداد | گذرگاه رویداد و اینکه تحویلها چطور دوباره تلاش میشوند |
| پلتفرم افزونه | ثبت، رضایت، مجوزها و بهروزرسانی افزونهها |
| گواهیها، صدور و تمدید | چه کسی گواهی صادر میکند، و گواهیها چطور تمدید و دوباره بارگذاری میشوند |
| مدل امنیتی | مدل امنیتی، از TLS دوطرفه تا نقشها و گزارش تغییرات |
| پایش و معیارها | تاریخچهی سلامت، اتصالهای زنده و endpoint معیارها |
