توییتر چطور کار می‌کند

جام جم آنلاین: پیوستن اخیر توییتر به بنیاد لینوکس برای خیلی‌ها عجیب بود، اما نشان ‌داد بدون فناوری نرم‌افزارهای منبع‌باز توییت‌کردن درباره شام، آخرین بازی‌ها یا اخبار و شایعات ممکن نیست.

کریس انیژک، مدیر منبع‌باز توییتر درباره شیوه فعالیت توییتر در زمینه منبع‌باز و لینوکس به کنفرانس سالانه بنیاد لینوکس آمد و توضیحاتی ارائه کرد.

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

گفته می‌شود بیشتر نرم‌افزارهای توسعه یافته توییتر که منبع‌باز بوده، تحت محور آپاچی ۰/۲ قابل دسترسی بوده و مستندسازی آنها با مجوز CC 3.0 منتشر شده است.

هر کسی می‌تواند مستندات، کدهای منبع یا مثال‌های پروژه‌های توییتر را ذیل موارد معرفی شده در این مجوزها تغییر بدهد و بازنشر کند. همچنین لازم است اشاره شود بخش عمده‌ای از این کدها تحت وب‌سایت GitHub در حال توسعه است.

استفاده از این کدها برای همه آزاد است و انیژک همه را تشویق می‌کند تا از این کدها استفاده کنند و بسترهای جدیدی روی آن قرار دهند.

توییتر به‌دلیل استفاده از Ruby on Rails شهرت بسیاری برای خودش دست و پا کرده است. با وجود این انیژک اعلام کرد توییتر به جاوا منتقل شده و فهرست برنامه‌های منبع‌باز این سیستم طولانی است.

اگر یونیکس و لینوکس را سیستم‌های‌عاملی در نظر بگیریم که از بسیاری از برنامه‌های نسبتا مرتبط با یکدیگر تولید شده‌اند، توییتر قطعا شبکه‌ای اجتماعی است که از بسیاری از برنامه‌های منبع‌باز نسبتا مرتبط تشکیل شده است.

سیستم‌عامل اصلی توییتر، لینوکس ۲٫۶٫۳۹ است و برای دیتابیس خود از MySQL استفاده می‌کند. این سیستم برای مدیریت کدهای خود از Git استفاده می‌کند که فرزند دیگر لینوس تروالدز، خالق لینوکس است.

بیایید ببینیم هنگام توییت‌کردن چه اتفاقی می‌افتد؟

اگر تابه‌حال از توییتر استفاده نکرده‌اید، باید بگوییم هر توییت پیامی ۱۴۰ کاراکتری یا به‌عبارت دیگر ۲۰۰ بایتی است.

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

هر ساله حدود ۲٫۸ میلیارد توییت ارسال می‌شود که به‌طور متوسط هر ثانیه رقمی معادل ۵۰۰۰ خواهد بود. انیژک معتقد است اوضاع همواره روی میزان متوسط باقی نمی‌ماند و مثلا وقتی یکی از افراد مشهور به فعالیت در توییتر اقدام می‌کند یا اتفاقی عجیب رخ می‌دهد، ترافیک تا ۸۸۰۰ توییت در ثانیه بالا می‌رود.

به‌عنوان مثال در رویدادهای ورزشی بسیار مهم، میزان توییت حتی تا ۱۲هزار توییت بر ثانیه نیز بالا می‌رود. حتی میزان توییت‌های در ثانیه گاهی اوقات به ۲۵ هزار توییت نیز می‌رسد و کار را بسیار دشوار می‌کند.

هر یک از این توییت‌ها به‌عنوان به‌روزرسانی وضعیت ثبت می‌شود، سپس با کمک برنامه‌ای به‌نام Snowflake به‌هر کدام از اینها یک شناسه منحصربه فرد داده می‌شود سپس اطلاعات GeoLocation (محل جغرافیایی) آنها توسط برنامه‌ای به‌نام Rockdove، که هنوز منبع‌باز نشده است، ثبت می‌شود.

هر توییت سپس توسط آدرس کوتاه‌کن و بررسی‌کننده اسپم t.co چک می‌شود. بعد از این مرحله، هر توییت از طریق Gizzard در MySQL ذخیره می‌شود.

گیزارد برای مدیریت دیتابیس‌های توزیع‌شده استفاده می‌شود و تنها در این لحظه است که سیگنال HTTP 200 ارسال می‌شود و مرورگر وب درمی‌یابد همه چیز طبق برنامه پیش رفته است.

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

این رویه را FlockDB انجام می‌دهد؛ دیتابیس گراف منبع‌بازی که روی گیزارد نصب می‌شود و داده‌ها را از MySQL دریافت می‌کند. FlockDB شامل تمام کاربران و ارتباطاتشان با دیگر کاربران است.

این زمان حدود ۳۵۰ میلی ثانیه به‌طول می‌انجامد و برای سیستمی که با بار ۵۰۰۰ توییت در ثانیه کار می‌کند، رقم خوبی است.

هر چند توییتر بخشی از این کارها را به رقبای تجاری خود سپرده اما معتقد است فناوری منبع‌باز باعث شده این شرکت در ارائه سرویس بسیار موفق باشد. (جام جم – ضمیمه کلیک)

محمدرضا قربانی


jamejamonline.ir – 22 – RSS Version

نظرتان را در مورد مطلب فوق بنویسید. نشانی ایمیل شما منتشر نخواهد شد.