tgoop.com/terminal_stuff/3094
Last Update:
به بهانه کنسرت علیرضا قربانی و داون شدن سایت فروش بلیط، مسأله سیستم دیزاین امشب:
فرض کنید یه سایت فروش بلیت رو میخوایم طراحی کنیم که توانایی هندل کردن لود زیاد به شکل bursty رو داشته باشه، مثلاً سر ساعتی که فروش بلیط باز میشه.
فلوی رزرو هم به این صورته که هر کاربر می تونه نمایی از صندلی های پر و خالی رو ببینه و تا یه تعداد محدودی رو رزرو کنه.
از زمانی که رزرو شد پنج دقیقه فرصت داره پرداخت کنه که سفارش نهایی بشه وگرنه صندلی ها به حالت آزاد برمی گردن.
فرض کنید این ویژگی رو هم داریم که لیست صندلی های خالی با Polling آپدیت بشه، ولی همچنان کاربر موقعی که می خواد رزرو کنه باز سرور باید چک کنه که همه ى صندلی های انتخاب شده خالی باشن.
۱- تحليل تون از تعداد کاربر همزمان و RPS در زمان پیک برای همین کنسرت که در تهران قراره برگزار بشه چقدره؟
۲- توی راه حلتون چه اجزایی و چه تکنیکهایی استفاده می کنید؟ مثلا کش و دیتابیس و صف و ... اگر از تکنولوژی خاصی استفاده می کنید که کمک می کنه هم بگید.
۳- با توجه به اینکه لود همیشگی نیست و یه بار پیش میاد، چطوری می شه این معماری رو لود تست کرد تا مطمئن باشیم در روز موعود سیستم نمی افته. هرچی تست کامل تر باشه بهتر مثلا شامل این هم بشه که لود بالانسرها درست لود رو بتونن هندل کنن و gateway timeout ندیم. دیتابیس پر نشه و ...
۴- شاید در عمل دغدغه مهمی نباشه ولی چطور می شه برای زمان هایی که لود کمه، با کمترین تفییر، سیستم رو به حالتی رسوند که منابع کمتری مصرف کنه چون همیشه اون load رو نداریم. فرض کنید لود قابل پیش بینی هست و نیاز نیست خودکار scale بشه.
BY نوشتههای ترمینالی
Share with your friend now:
tgoop.com/terminal_stuff/3094