Տաքսու ագրեգատորի վեբ հավելված
Միավորեցինք տաքսու մի քանի ծառայություններ և ավտոմատացրինք պատվերների բաշխումը
Նախագծի մասին
Հաճախորդն աշխատում է միանգամից մի քանի տաքսոպարկերի և ծառայությունների հետ։ Պատվերները գալիս էին տարբեր աղբյուրներից և մշակվում էին կամ ձեռքով, կամ առանձին համակարգերում։ Դրա պատճառով առաջանում էին ուշացումներ, խառնաշփոթ և փոխադրողների ծանրաբեռնվածության անհավասարակշռություն։ Չկար մեկ վայր, որտեղից հնարավոր լիներ կառավարել բոլոր պատվերները։
Տեխնոլոգիաների ստեկ
Առաջադրանք
Ստեղծել համակարգ, որը միավորում է տարբեր ծառայություններ մեկ ինտերֆեյսում. օգտատերը ձևակերպում է ուղևորությունը՝ առանց կոնկրետ փոխադրող ընտրելու։ Պատվերներն ավտոմատ բաշխվում են՝ հաշվի առնելով վարորդների հասանելիությունը, հեռավորությունը և աշխատանքային պայմանները։
Սահմանափակումներ
Միացվող բոլոր ծառայություններն ունեն տարբեր API և աշխատանքի տրամաբանություն։ Համակարգը պետք է արագ մշակի պատվերները պիկային ժամերին և կատարողին ընտրելիս հաշվի առնի մի քանի պարամետր։ Խափանումներն անթույլատրելի են. համակարգն ուղղակիորեն ազդում է ուղևորությունների կատարման վրա։
Լուծում
Ստեղծեցինք վեբ հավելված՝ միասնական ինտերֆեյսով։ Ներսում համակարգը ագրեգացնում է տարբեր տաքսոպարկերի տվյալները՝ բերելով դրանք միասնական ձևաչափի։ Հիմնական տարրը բաշխման մոդուլն է, որն ավտոմատ նշանակում է պատվերը՝ հաշվի առնելով հասանելիությունը, հեռավորությունը, սակագները և առաջնահերթությունները։ Իրականացրինք նաև պատվերների մոնիթորինգ և ադմինիստրատիվ մաս՝ կանոնների կարգավորման և փոխադրողների կառավարման համար։
Դժվարություններ և լուծումներ
Արտաքին ծառայությունների հետ աշխատանքի համար ստեղծեցինք առանձին ինտեգրացիոն շերտ, որը նորմալացնում է տվյալները և թաքցնում API-ների տարբերությունները։ Բաշխման տրամաբանությունն իրականացրինք որպես կարգավորելի ալգորիթմ՝ առաջնահերթություններով և ծանրաբեռնվածության հավասարակշռմամբ։ Ավելացրինք սխալների մշակում և պահուստային սցենարներ. պատվերները չեն կորչում նույնիսկ առանձին փոխադրողների խափանումների դեպքում։
Հետագա զարգացում
Գործարկումից հետո հաճախորդը զարգացնում է համակարգը դինամիկ գնագոյացման և փոխադրողների արդյունավետության վերլուծության ուղղությամբ։
Արդյունք
Արագացրինք պատվերների մշակումը և նվազեցրինք օպերատորների ծանրաբեռնվածությունը. աշխատանքի մեծ մասը կատարվում է ավտոմատ։ Պատվերները բաշխվում են ավելի հավասարաչափ, իսկ օգտատերերը ստացան ուղևորության ձևակերպման պարզ և հասկանալի գործընթաց։
