همه چیز در باب مهاجرت به نسل پنجم پیام‌رسانی

 

  1. بنویسیم انتشار نسل جدید، بخوانیم مهاجرت تکنولوژیک

پس از چند سال تلاش معماران فنی و مهندسین تیم سروش‌پلاس در بستر زیرساخت‌های موجود کشور، طراحی و برنامه‌نویسی نسل پنجم این پیام‌رسان با هدف ارتقای خدمات‌رسانی، افزایش سرعت عملکرد در آپلود و دانلود و بهبود سطح امنیت شبکه در آستانه انتشار قرار گرفته‌است؛ علاوه بر این، اکنون بستری مقیاس‌پذیر در زیرساخت پیام‌رسانی ایجاد شده که امکان میزبانی تا ۲۰۰ میلیون کاربر و توسعه سهل و متنوع امکانات و ویژگی‌های نرم‌افزار را فراهم نموده است.

این رخداد بزرگ میسر نمی‌شد مگر با تلاش بی‌وقفه و شبانه‌روزی تیم سروش‌پلاس؛ مهندسین ما در گروه‌های اندروید، ios ، وب و  desktab، هوش مصنوعی و backend، تیم‌های پشتیبانی، بخش کسب‌وکار و مدیریت محصول، طراحی محصول، روابط عمومی و گرافیک همه در این کار بزرگ سهیم‌اند.

  1. فهرست تغییرات
  • بازطراحی بنیادین معماری و تکنولوژی پیام‌رسان برای افزایش سرعت و میزبانی از ۵۰ میلیون کاربر
  • بازطراحی و افزایش سرعت لود گفتگو‌ها
  • بازطراحی افزایش سرعت لود پیام‌ها
  • افزایش سرعت پیام‌رسانی
  • افزایش کیفیت تماس صوتی و تصویری
  • اضافه شدن امکانات کامل مدیریت دسترسی کاربران و مدیران در گروه‌
  • امکان ساخت گروه عمومی و خصوصی
  • اضافه شدن امکان تعیین سطح دسترسی مدیران کانال‌
  • امکان امضای خودکار پست‌های کانال
  • امکان شخصی‌سازی کامل دسته‌بندی‌های گفتگو
  • امکان منشن کردن افراد در گروه‌
  • امکان ارسال و نمایش عکس و فیلم به شکل آلبوم در گروه و کانال
  • امکان حذف و اضافه کردن مخاطبین از درون برنامه
  • امکان ارسال پیام ویدیویی در گفتگوها
  • امکان ارسال ایموجی متحرک
  • ارسال ساخت نظرسنجی به صورت نا‌شناس
  • لیست سیاه برای گروه‌ و کانال‌
  • فعال کردن تنظیمات حریم خصوصی برای جلوگیری از افزوده شدن به گروه
  • بهبود رابط کاربری

 

  1. مهاجرت به نسل جدید، کاری بزرگ و پراهمیت

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

فن‌آوری پیام‌رسان بسیار پیچیده و با ۳۹ تکنولوژی مختلف در ارتباط است؛ تعدادی از این تکنولوژی‌ها، به اصطلاح تکنولوژی‌های «های‌ـ‌تک»  (High-Tech) را شامل می‌شوند که نیازمند دقت و بررسی بالایی برای تغییر و توسعه هستند. از این‌رو توسعه‌ دادن یک پیام‌رسان، صرفاً به‌ معنای ارائه‌ی تنها یک محصول نیست؛ هم‌زمان با توسعه‌ی یک پیام‌رسان باکیفیت، فن‌آوری‌های دیگری نیز توسعه می‌یابد که به صنعت آی‌تی یک کشور کمک خواهد کرد. از طرفی توسعه یک پیام‌رسان یک روند بسیار پیچیده است، از نیاز به توسعه سرویس‌ها و کلاینت‌های مختلف گرفته تا پیچیدگی سامان‌دهی فضای ذخیره اطلاعات و فایل‌ها و تامین امنیت و حفظ حریم خصوصی کاربران؛ از سوی دیگر توسعه و تغییر ساختار فنی و درونی یک پیام‌رسان مانند سروش‌پلاس که مدت‌ها در حال استفاده بوده، روزانه میلیون‌ها کاربر در آن در حال فعالیت هستند و هزاران گیگابایت دیتا و اطلاعات را روی سرورهای خود نگه می‌دارد، سختی کار را دو چندان می‌کند.

پس از استقرار تجهیزات زیرساختی جدید و راه‌اندازی سخت‌افزارهای مربوطه و نصب پلتفرم، پروژه پیاده‌سازی پروتکل و فناوری جدید به صورت عملیاتی در سطح کشور در دستورکار قرار گرفت. مهم‌ترین مزیت راه‌اندازی این پلتفرم، متناسب بودن آن با مصرف سرویس‌های مختلف این پیام‌رسان بود؛ به این معنی که این پروتکل می‌تواند به خدمات مختلف پیام‌رسان (اعم از کانال‌ها و ویترین، فضای چت، تماس صوتی و تصویری، دستیار صوتی و ..)‌ به‌صورت بهینه منابع اختصاص دهد و به این واسطه جلوی قطع سرویس را بگیرد. معماری دقیق‌تر و جزئی‌تر این پروتکل در سطح ملی و در نیمه دوم سال ۹۷ طراحی شد و پیاده‌سازی پروژه نیز در همان زمان شروع شد تا توسعه این هسته پیام‌رسانی با شتاب بیشتری پی گرفته شود. به موازات این مسیر حرکت، برای اجرای یک پروژه‌ی شبیه‌ساز، ۹ تست استاندارد طراحی شد (تست اوج، تست پایه، تست پیش‌فرض، تست استرس و …) تا این پیام‌رسان ضمن توسعه در گام‌های مختلف، در مراحل متعدد، با این شبیه‌ساز تحت آزمایش قرار ‌گرفته و به تدریج اصلاح شود.

  1. فناوری های جدید به کار رفته در نسل جدید

اول از همه باید در مورد پروتکل صحبت کنیم. در دنیای علوم کامپیوتر یک پروتکل ارتباطی یا قرارداد ارتباط (Communication Protocol)، به مجموعه قوانینی گفته می‌شود که کامپیوترها برای ارتباط با یکدیگر از آن‌ها استفاده می‌کنند. یک پروتکل ارتباطی، علامت‌ها یا همان سیگنال‌هایی را تعریف می‌کند که کامپیوترها به یکدیگر می‌فرستند. هم‌چنین پروتکل ارتباطی، سایر جزئیاتی مثل نحوه آغاز و پایان ارتباط را نیز تشریح می‌کند.

پروتکل‌ها ممکن است به‌وسیله سخت‌افزار، نرم‌افزار یا ترکیبی از هر دو پیاده‌سازی شوند. سیستم‌های ارتباطی، از قالب‌های شفاف و مشخص برای تبادل پیام‌های مختلف استفاده می‌کنند که هر پیام دارای معنای دقیق و مشخصی است. باید بر سر پروتکل‌های ارتباطی در میان طرف‌های ارتباط به نوعی توافق صورت بگیرد. برای رسیدن به توافق، ممکن است یک پروتکل توسعه پیدا کند و به یک استاندارد تبدیل شود.

یکی از پروتکل‌های ارتباطی که با نام XMPP  (Protocol Extensible Messaging and Presence) شناخته می‌شود، پروتکل ارتباطی پیام‌رسانی گسترش‌پذیر است و با عنوان «پروتکل متن باز» نیز شناخته می‌شود؛ این پروتکل در حقیقت جایگزینی برای پروتکل ارتباطی مانند TCP ارائه شده‌است. از این پروتکل در ابتدا در بسیاری برنامه‌ها مانند google talk  یا facebook استفاده می‌شد؛ اپلیکیشن‌هایی نظیر واتساپ (whatsApp) و زوم (zoom) هر کدام نوعی از پروتکل ارتباطیXMPP  را توسعه داده و به کار گرفته‌اند. پیام‌رسان سروش‌پلاس نیز پیش از این و تا سال ۱۴۰۰ و در نسل چهارم این اپلیکیشن از پروتکل XMPP  برای ارتباط شبکه و سیستم‌های خود استفاده می‌کرد، اما در توسعه نسل پنجم سروش‌پلاس پروتکل جدید به کار گرفته شده‌است.

ما در نسل جدید از پروتکل جدیدی استفاده می‌کنیم که برای پیام‌رسانی بهینه‌سازی شده است. از این‌رو مزایایی نسبت به پروتکل قبلی دارد. از جمله این مزایا می‌توان گفت ظرفیت کانکشن جدید در ثانیه بسیار بالاتر است و پهنای باند کمتری استفاده می‌کند.

  1. پیام‌رسانی در مقیاسی فراتر از مرزها

به غیر از پروتکل باید در مورد تغییر معماری هم اشاره‌ای داشته باشیم. با معماری جدید سروش‌پلاس می‌توانیم ادعا کنیم امروز سطح مقیاس‌پذیری بسیار بالاتری داریم. بطوریکه نه تنها برای پذیرایی از تمام بازار ایران آماده هستیم، بلکه نگاهی به بازارهای بین‌المللی هم داریم.

این معماری در سطح سرورهای داده نیز مقیاس‌پذیر شده،‌ اطلاعات کاربران در چندین پایگاه داده مجزا از هم ذخیره می‌شود. این موضوع هم قابلیت اطمینان در سرویس‌دهی را افزایش می‌دهد، هم به راحتی قابل توسعه می‌باشد.

از سمتی دیگر در این معماری تخصیص منابع نامتقارن است. یعنی همه گروه‌ها و کاربران با سیاست واحد از منابع استفاده نمی‌کنند. از این‌رو منابع بر اساس الگوی رفتار کاربر مصرف خواهد شد.

هم‌چنین با الگوی محلی‌سازی، سرورهایی که بیشتر با هم کار دارند می‌توانند نزدیک هم قرار گیرند تا سرعت پاسخگویی بیشتر و مصرف پهنای باند داخلی کمتر شود. این خلاصه‌ای از  تغییرات هست که پرداختن بیشتر به آن در این مقال نمی‌گنجد.

 

«واحد روابط‌عمومی سروش‌پلاس»