شخصی‌سازی بلادرنگ در ابعاد بزرگ

پیرو پاسخگویی به نیاز‌های متعالی مشتریان recommender.ir که از بهترین کسب‌و‌کار‌های آنلاین ایران هستند،‌ به سمت توسعه سرویس‌های جانبی و تکمیلی و اصلاحاتی بر معماری پیش رفتیم.  API خدمات ما، در ساعات پیک بازدید چند‌میلیون فراخوانی در ساعت را پاسخگویی می‌کند. تمام این مدت زمان پاسخگویی سرویس‌های ما می‌بایست کمتر از ۱۰۰ میلی‌ثانیه باقی بماند. کنترل چنین بار کاری متغیری نیازمند توسعه ابزار‌هایی قابل اعتماد و سازگار با اکوسیستم خدمات ما بود.
از سویی خرابی در تجهیزات سخت‌افزاری، شبکه و زیرساخت نرم‌افزاری امری غیر قابل اجتناب است. لذا می‌بایست برای بازیابی از خطا روش‌هایی منطبق با استاندارد‌های بالای ارائه دهندگان خدمات ارائه می‌کردیم.

همچنین از آنجا که هر ماه ریلیز جدید ارائه می‌کنیم (recommender.ir هر سال ۱۲ نسخه جدید در پایان هر ماه شمسی ارائه می‌کند) می‌بایست به روزآوری‌ مکرر سرویس‌های متعدد مشتریان را بدون توقف و به صورت پیوسته و آرام انجام می‌دادیم. و چنین نیازمندی‌هایی ما را به سمت طراحی و توسعه معماری جدید و توسعه ابزار‌هایی تکمیلی جدید راهنمایی کرد.

توزیع‌شدگی (Distribution) و مقیاس‌پذیری خطی (Linear Scalability) راهکاری مدرن و متداول در پاسخگویی به چنین نیاز‌هایی‌ست.

recommender.ir از ابتدا (سال ۱۳۹۱) مبتنی بر معماری ریزسرویس (Microservices) توسعه یافته است. در آخرین نسخه‌های recommender.ir نیز از طیف متنوعی از ریز‌سرویس‌ها برای برپایی ارکستری بزرگ متشکل از ده‌ها(بدون محدودیت) ماشین و مقادیر بیشتری ریزسرویس‌های متنوع بهره می‌بریم.

انواع ریزسرویس‌هایی که توسط تیم توسعه recommender.ir توسعه یافته‌ عبارتند از:

  1. ریزسرویس‌های رکامندر (‌recommender.ir) در سه کلاس طلایی، نقره‌ای و برنزی، و دو گروه کلی تجارت‌الکترونیک و ارائه محتوا که هر دو گروه از API خارجی یکسان بهره‌ می‌برند
  2. ریزسرویس‌های کامنتوم (commentum.ir) که وظیفه تحلیل بلادرنگ متن کامنت‌های محاوره‌ای کاربران فارسی زبان و همچنین اسختراج کلید‌واژه ها را بر عهده دارد
  3. ریز‌سرویس‌های هلیو (helio.ir) که قادر به شناسایی شکل‌گیری پدیده‌های گوناگون و آنومالی در انبوه داده‌های دیگر سرویس‌ها هستند
  4. ریز‌سرویس‌ هایپراسپیس (hyperspace.ir) که وظیفه نمایه‌سازی(Data Visualization) از داده‌های دیگر سرویس‌ها را بر عهده دارد
  5. ریزسرویس‌های پراکسی (Proxy) ، و کش (API-Cache)
  6. ریز‌سرویس تنظیم بار (Load Balancer) که به برقراری توازن و کشسانی کمک می‌کند
  7. ریزسرویس تکثیر (Replicator) برای کپی داده‌ها و انتقال به سامانه‌های ذخیره‌سازی یا ساخت مدل رپلیکیشن
  8. ریز سرویس کانوکس (convex.ir) که در حال توسعه است و به کمک موارد ۱و ۲ به ارائه برخی تحلیل‌های شخصی از محتوا می‌پردازد

تمامی ریزسرویس‌های یاد شده به تناسب نیاز مشتری همچون قطعات لگو (Lego) در یکدیگر پلاگ شده و سرویس مورد نیاز مشتری در حوزه شخصی‌سازی تامین می‌گردد.

این خدمات در بهترین ترکیب قادر به ارائه کیفیت مطلوب (فارغ از ابعاد بار) و فراهم ساختن نهایت قابلیت دسترسی (High Availability) هستند. همچنین به روز آوری بدون توقف کارکرد سرویس را برای فراهم ساختن سطحی بسیار متعالی از هوشمندی و شخصی‌سازی خدمات در ابعاد بزرگ، ممکن می‌سازند.

تصویر زیر به چگونگی تبادل اطلاعات بین برخی از ریز‌سرویس‌های یاد شده در مدل‌های ‌‌B2B و  B2C اشاره می‌کند‌(سرویس‌های زیرساخت داده و شبکه نمایش داده نشده‌اند):

allprojects

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

screen-shot-2016-11-19-at-10-03-13-pm

 

در مجموع آنچه در معماری نوین recommender.ir برای کسب‌و‌کارهای آنلاین بسیار بزرگ (با الکسای زیر ده) طراحی نموده‌ایم (و آزموده شده است) در کنار تمامی قابلیت‌های شخصی‌سازی و یادگیری‌ماشین که به ارزش آفرینی در کسب‌و‌کار منتهی می‌شود، ویژگی‌های متعالی زیر را نیز در اختیار مشتریان قرار می‌دهد:

zerosecondupgradetime

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