Gliimly Application Server چیست؟

هر برنامه Gliimly هم به عنوان یک سرور برنامه و هم به عنوان یک برنامه خط فرمان ساخته شده است. بسته به ماهیت برنامه شما می توانید از هر دو استفاده کنید. برخی از برنامه ها برای استفاده در اسکریپت ها یا اجرای مستقیم از خط فرمان هستند. دیگران باید در حافظه بمانند و درخواست های کاربر را به عنوان سرور اجرا کنند. نکته خوب این است که هر دو یکسان کار می کنند، به این معنی که شما می توانید هر کاری را که یک سرور برنامه انجام می دهد از خط فرمان اجرا کنید و بالعکس. این نیز برای آزمایش مفید است. نوشتن تستها برای سرور برنامه بسیار آسانتر میشود، زیرا میتوانید چنین آزمایشهایی را در یک اسکریپت bash ساده اجرا کنید.
سرور برنامه چیست؟ این مجموعه ای از فرآیندهای ساکن پس زمینه است. با هر یک از این فرآیندها می توان با یک درخواست از طریق سوکت تماس گرفت و پاسخ را ارائه می دهد. یک سرور برنامه اغلب پشت یک وب سرور قرار می گیرد که درخواست های کاربر را می پذیرد، آنها را به سرور برنامه ارسال می کند، پاسخ آن را دریافت می کند و این پاسخ را به کاربر پس می دهد. این یک پیکربندی “پراکسی معکوس” است. توجه داشته باشید که این پیکربندی، اگرچه معمولی است، اما یک قانون سخت نیست. کاربران نهایی می توانند در برخی موارد، مانند یک شبکه محلی امن، مستقیماً با یک سرور برنامه صحبت کنند.
یک سوکت همیشه توسط یک سرور برنامه باز می شود و به درخواست های کاربر گوش می دهد. در واقع، هر فرآیند سرور برنامه در یک سوکت گوش می دهد و درخواست کاربر ورودی به طور خودکار توسط سیستم عامل به اولین فرآیند سرور موجود هدایت می شود. این امر باعث کاهش مشاجره می شود و باعث می شود که سرویس دهی فرآیندها بسیار سریع و بدون تاخیرهای غیر ضروری انجام شود.
سوکت مورد استفاده می تواند یک سوکت یونیکس یا TCP باشد. سوکت یونیکس سوکت پیش فرض است و به صورت محلی کار می کند، به این معنی که تماس گیرنده و سرور برنامه باید روی یک سرور فیزیکی باشند. این رایجترین سناریو است، و همچنین سریعترین روش برای ارائه درخواستها و پاسخها است. سوکت های TCP زمانی استفاده می شوند که تماس گیرنده و سرور برنامه روی دو ماشین مجزا قرار دارند – عملکرد آنها به پهنای باند و به خصوص تاخیر اتصال شبکه بستگی دارد. سوکت یونیکس نوعی فایل هسته ویژه است، در حالی که سوکت TCP همان سوکتی است که اکثر برنامه های شبکه/اینترنت از آن استفاده می کنند.
سرور برنامه Gliimly از پروتکل FastCGI روی TCP استفاده می کند، یک پروتکل مالتی پلکس باینری سریع که برای عملکرد ساخته شده است. هیچ گونه امنیت داخلی ندارد و برای هدفی که برای آن استفاده می شود نباید هیچ امنیتی داشته باشد. اساساً، جریان های ورودی، خروجی و خطای استاندارد می توانند به طور همزمان ارسال شوند (اما به طور جداگانه بازیابی شوند). این باعث میشود معماری محکمتر و کارآمدتر شود، زیرا این جریانهای استانداردی هستند که هر برنامهای آن را درک میکند. این پروتکل به طور گسترده توسط زبان های وب و سرورهای وب (PHP، Apache، Nginx، HAProxy و غیره) پشتیبانی می شود.
یک فرآیند سرور Gliimly میتواند تعداد نامحدودی از درخواستها را بدون نیاز به راهاندازی مجدد و بدون نیاز به ایجاد هیچگونه فرآیند یا رشته جدیدی ارائه دهد – به این معنی که سریع میشود. هر تعداد از این فرآیندها شامل سرور برنامه میشود که میتواند درخواستهای دریافتی را واقعاً به صورت موازی ارائه کند. تعداد فرآیندهای سرور معمولاً با تعداد CPUهای موجود تعیین می شود.