یک شرکت فروش بلیت سینما، سه شنبهها درخواستهای زیادی برای فروش بلیت دریافت میکند. از همین رو تصمیم گرفته است که برای پاسخگو بودن به نیاز کاربران خود چندین نمونه از برنامه خود را بر روی سرورهایی مختلف با ظرفیت متفاوت اجرا کند.
شما به عنوان یک برنامهنویس تصمیم گرفتهاید تا یک سیستم طراحی کنید که هر درخواست دریافت شده را به ترتیب برای یکی از سرورها در صورت داشتن ظرفیت ارسال کند. این سیستم که قرار است شما طراحی کنید لود بالانسر نامیده میشود.
برای این منظور، شما یک کلاس به نام LoadBalancer
ایجاد کنید که توانایی تخصیص درخواستها به سرورهای مختلف را داشته باشد. هر سرور دارای ظرفیت مشخصی است و امکان دارد ظرفیتش تمام شود.
برنامه شما به صورت عادلانه درخواستها را بین سرویسها با استفاده از الگوریتم Round Robin
توزیع میکند، و به صورت چرخشی بعد از رسیدن به آخرین سرور، به ابتدای لیست برمیگردد.
Exception
خواهیم داشت. Exception
خواهیم داشت. شما باید کد تابع Request
از کلاس LoadBalancer
و تابع ToExecute
از کلاس Service
را تکمیل کنید.
به طور ساده، لود بالانسر یک سرویس است که به سیستم کمک میکند تا هنگامی که تعداد زیادی درخواست به سرویسها میرسد، همه درخواستها به صورت متوازی و به تساوی بین منابع موجود بر اساس ظرفیتشان توزیع شوند.