بررسی کامل ساختار مرکز تلفن سیرا : سیرا چگونه کار می کند؟
در این بخش قصد داریم در خصوص Structure یا همان ساختار مرکز تلفن سیرا صحبت کنیم و توضیح دهیم که این مرکز تلفن از چه روشها و تکنولوژیهایی بهره میبرد.
آنچه در این مقاله می خوانید:
انتخاب سیستم عامل در مرکز تلفن ویپ سیرا
برای روشنتر شدن موضوع، تصویری آماده شده که نشان میدهد کل سرور لینوکسی ما (که در این پروژه از Fedora استفاده شده است) چگونه عمل میکند. انتخاب Fedora به دلیل بهروزرسانیهای مداوم و پشتیبانی گسترده، یکی از گزینههای ممتاز در میان توزیعهای لینوکسی به شمار میرود.
نسخهای که ما بر روی مرکز تلفن سیرا به کار گرفتهایم، نسخه مینیمال Fedora است که محیط گرافیکی ندارد و صرفاً از Command Prompt لینوکس برای مدیریت آن استفاده میشود.
نقش وبسرور در ساختار مرکز تماس سیرا
روی این بستر، از وبسرور Nginx بهره بردهایم. وبسرور Nginx به دلیل سرعت و عملکرد فوقالعاده، یکی از بهترین گزینهها برای پروژههایی با بار پردازشی و ارتباطی بالا است. در این ساختار، هم بخش Backend و هم بخش Frontend بر روی Nginx پیادهسازی شدهاند.
تفکیک Frontend و Backend
نکته مهم این است که ما بخش فرانتاند و بکاند را بهطور کامل از یکدیگر تفکیک کردهایم. این موضوع باعث میشود در آینده، در صورت تمایل به تغییر تکنولوژی Backend (که در حال حاضر با PHP و فریمورک Laravel پیادهسازی شده است) یا حتی تغییر تکنولوژی Frontend (که اکنون از ReactJS استفاده میکنیم) هیچ محدودیتی نداشته باشیم. انتخاب ReactJS برای بخش فرانتاند به ما این امکان را داده است که تمام فرمها و بخشهای مختلف سامانه مرکز تماس سیرا را با قابلیتها و انعطافپذیری بالا پیادهسازی کنیم.
نقش Redis در بهینهسازی ساختار مرکز تلفن سیرا
ارتباط Backend با پایگاه داده
اما برای اتصال Backend به پایگاه داده MySQL، از یک کش سرور قدرتمند با نام Redis استفاده شده است. در اینجا Redis نقش واسطهای میان MySQL و Backend ایفا میکند.
کاهش فشار بر پایگاه داده
بدین ترتیب، هنگام نیاز به خواندن داده، به جای مراجعه مستقیم به پایگاه داده، ابتدا از Redis کمک گرفته میشود. این روش به شکل چشمگیری تعداد درخواستهای مستقیم به MySQL را کاهش میدهد. اهمیت این موضوع بهویژه زمانی آشکار میشود که تعداد کاربران لاگینشده در نرمافزار افزایش پیدا کند یا هنگامی که تصمیم داشته باشیم CRM را به مرکز تلفن ویپ سیرا متصل کنیم و سامانهای جامعتر در اختیار داشته باشیم.
در چنین شرایطی، استفاده از کش سرور به عنوان یک ضرورت اجتنابناپذیر مطرح میشود؛ چرا که از بروز Timeout در سرور MySQL و خطاهای احتمالی جلوگیری میکند.
افزون بر این، در بخش Backend نیز برای مدیریت درخواستها از OP Cache و ابزارهایی نظیر Preload استفاده کردهایم تا درخواستها در کوتاهترین زمان ممکن ارسال و دریافت شوند. تلاش ما همواره بر این بوده است که Response Time (زمان پاسخگویی) را به حداقل رسانده و کل وبسرور مرکز تماس سیرا را با کمترین منابع ممکن راهاندازی کنیم.
معرفی Asterisk در ساختار مرکز تلفن سیرا
اکنون به سراغ بخش اصلی، یعنی Asterisk میرویم. همانگونه که میدانید، Asterisk محیطی متنی دارد. در این ساختار، ما Asterisk را بر روی Fedora نصب کردهایم. فایلهای پیکربندی متنی Asterisk در مسیر /etc/asterisk قرار دارند و تمامی تنظیمات مرکز تلفن سیرا در این قسمت انجام میشود. نسخهای که در حال حاضر از آن استفاده میکنیم، استریسک نسخه ۲۰ است.
به این ترتیب، Backend مرکز تماس سیرا بر پایه PHP Laravel طراحی شده و Frontend آن با ReactJS پیادهسازی گردیده است. مجموعهای از پکیجهای متعدد نیز در این ساختار به کار گرفته شدهاند که در بخشهای بعدی به جزئیات آنها خواهیم پرداخت.
جمع بندی
در این قسمت صرفاً هدف آن بوده است که نمایی کلی از ساختار مرکز تلفن سیرا ارائه شود تا مخاطب بداند چه زیرساختهایی در این سامانه مورد استفاده قرار گرفتهاند. همچنین، تمامی اجزای نرمافزار با جدیدترین نسخههای موجود آماده و پیادهسازی شده تا مرکز تلفن سیرا به عنوان یک نرمافزار بروز و کارآمد در اختیار کاربران قرار گیرد.

دیدگاه شما درباره این مقاله چیست ؟