اسان ڪئين دور کان x10 لوڊ ۾ تيز واڌ کان بچياسين ۽ اسان ڪهڙا نتيجا ڪڍيا

هيلو، حبر! اسان گذريل ٻن مهينن کان هڪ تمام دلچسپ صورتحال ۾ رهي رهيا آهيون ۽ مان چاهيان ٿو ته اسان جي انفراسٽرڪچر اسڪيلنگ ڪهاڻي شيئر ڪرڻ. هن عرصي دوران، SberMarket آرڊر ۾ 4 ڀيرا واڌارو ڪيو ۽ 17 نون شهرن ۾ سروس شروع ڪئي. گروسري جي ترسيل جي طلب ۾ ڌماڪيدار واڌ اسان کي اسان جي انفراسٽرڪچر کي ماپڻ جي ضرورت آهي. ڪٽ جي هيٺان سڀ کان وڌيڪ دلچسپ ۽ مفيد نتيجن بابت پڙهو.

اسان ڪئين دور کان x10 لوڊ ۾ تيز واڌ کان بچياسين ۽ اسان ڪهڙا نتيجا ڪڍيا

منهنجو نالو Dima Bobylev آهي، مان SberMarket جو ٽيڪنيڪل ڊائريڪٽر آهيان. جيئن ته هي اسان جي بلاگ تي پهرين پوسٽ آهي، مان پنهنجي ۽ ڪمپني بابت ڪجهه لفظ چوندس. آخري زوال مون نوجوان رنٽ اڳواڻن جي مقابلي ۾ حصو ورتو. مقابلي لاءِ I هڪ مختصر ڪهاڻي لکي اسان SberMarket تي ڪيئن ٿا ڏسون ٿا اندروني ڪلچر ۽ سروس ڊولپمينٽ جو طريقو. ۽ جيتوڻيڪ مان مقابلو کٽڻ جو انتظام نه ڪري سگهيو آهيان، مون پنهنجي لاءِ IT ماحولياتي نظام جي ترقي لاءِ بنيادي اصول ٺاهيا آهن.

جڏهن هڪ ٽيم کي منظم ڪندي، اهو ضروري آهي ته سمجھڻ ۽ هڪ توازن ڳولڻ جي وچ ۾ ڪاروبار جي ضرورتن ۽ هر فرد ڊولپر جي ضرورتن جي وچ ۾. هاڻي SberMarket سال ۾ 13 ڀيرا وڌي رهيو آهي، ۽ اهو پيداوار کي متاثر ڪري ٿو، ان کي مسلسل ترقي جي حجم ۽ رفتار کي وڌائڻ جي ضرورت آهي. ان جي باوجود، اسان ڊولپرز کي ابتدائي تجزيو ۽ معيار جي ڪوڊنگ لاءِ ڪافي وقت مختص ڪريون ٿا. ٺهيل طريقي سان نه رڳو ڪم ڪندڙ پيداوار ٺاهڻ ۾ مدد ڪري ٿي، پر ان جي وڌيڪ اسڪيلنگ ۽ ترقي ۾ پڻ. هن ترقي جي نتيجي ۾، SberMarket اڳ ۾ ئي گروسري پهچائڻ جي خدمتن ۾ هڪ اڳواڻ بڻجي چڪو آهي: اسان هر روز تقريبا 18 هزار آرڊر فراهم ڪندا آهيون، جيتوڻيڪ فيبروري جي شروعات ۾ اٽڪل 3500 هئا.

اسان ڪئين دور کان x10 لوڊ ۾ تيز واڌ کان بچياسين ۽ اسان ڪهڙا نتيجا ڪڍيا
هڪ ڏينهن، هڪ گراهڪ هڪ SberMarket ڪوريئر کان پڇيو ته هن کي سامان پهچائڻ لاءِ بغير رابطي جي - ساڄي بالڪوني ڏانهن

پر اچو ته تفصيل ڏانهن وڃو. گذريل ڪجھ مھينن ۾، اسان فعال طور تي پنھنجي ڪمپني جي انفراسٽرڪچر کي اسڪيل ڪري رھيا آھيون. اها ضرورت خارجي ۽ اندروني عنصر جي وضاحت ڪئي وئي هئي. ڪسٽمر بنياد جي توسيع سان گڏ، ڳنڍيل اسٽورن جو تعداد سال جي شروعات ۾ 90 کان وڌي 200 کان وڌيڪ ٿي ويو مئي جي وچ تائين. اسان، يقينا، تيار ڪيا ويا، بنيادي زيربناء کي محفوظ ڪيو، ان سان گڏ اسان Yandex ڪلائوڊ ۾ ميزباني ڪيل سڀني ورچوئل مشينن جي عمودي ۽ افقي اسڪيلنگ جي امڪان تي شمار ڪيو. بهرحال، مشق ڏيکاريو ويو آهي: "هر شيء جيڪا غلط ٿي سگهي ٿي، غلط ٿي ويندي." ۽ اڄ آئون سڀ کان وڌيڪ دلچسپ حالتون حصيداري ڪرڻ چاهيان ٿو جيڪي انهن هفتن ۾ ٿي چڪا آهن. مون کي اميد آهي ته اسان جو تجربو توهان لاء مفيد ٿيندو.

غلام مڪمل جنگ جي تياري ۾ آهي

ايستائين جو وبائي مرض جي شروعات کان اڳ ، اسان کي اسان جي پس منظر سرورز تي درخواستن جي تعداد ۾ واڌ سان منهن ڏيڻو پيو. گھر جي ترسيل لاءِ پسارڪو سامان آرڊر ڪرڻ جو رجحان زور وٺڻ لڳو، ۽ COVID-19 جي ڪري پهرين خود اڪيلائي جي قدمن جي تعارف سان، لوڊ سڄو ڏينهن ڊرامائي طور تي وڌي ويو. مکيه ڊيٽابيس جي ماسٽر سرورز کي جلدي لوڊ ڪرڻ ۽ ريپليڪا سرورز (غلام) ڏانهن ڪجهه پڙهيل درخواستن کي منتقل ڪرڻ جي ضرورت هئي.

اسان اڳ ۾ ئي هن قدم لاء تيار ڪيو، ۽ 2 غلام سرور اڳ ۾ ئي شروع ڪيا ويا آهن اهڙي چال لاء. اهي خاص طور تي بيچ جا ڪم استعمال ڪندا هئا معلومات فيڊ ٺاهڻ لاءِ ڀائيوارن سان ڊيٽا جي مٽاسٽا لاءِ. انهن عملن هڪ اضافي بوجھ پيدا ڪيو ۽ ڪجهه مهينا اڳ مساوات مان صحيح طور تي ڪڍيا ويا. 

جيئن ته نقل Slave تي واقع ٿي، اسان ان تصور تي عمل ڪيو ته ايپليڪيشنون صرف انهن سان صرف پڙهڻ واري موڊ ۾ ڪم ڪري سگهن ٿيون. آفت جي بحالي واري منصوبي فرض ڪيو ته آفت جي صورت ۾، اسان صرف غلام کي ماسٽر جي جاء تي سوار ڪري سگھون ٿا ۽ غلام کي سڀني لکڻ ۽ پڙهڻ جي درخواستن کي تبديل ڪري سگھون ٿا. بهرحال، اسان اينالائيٽڪس ڊپارٽمينٽ جي ضرورتن لاءِ replicas پڻ استعمال ڪرڻ چاهيون ٿا، تنهن ڪري سرورز کي صرف اسٽيٽس پڙهڻ لاءِ مڪمل طور تي تبديل نه ڪيو ويو، پر هر ميزبان وٽ پنهنجي استعمال ڪندڙن جو هڪ سيٽ هوندو هو، ۽ ڪجهه کي وچولي حساب جي نتيجن کي بچائڻ لاءِ لکڻ جا حق حاصل هوندا هئا.

هڪ خاص لوڊ ليول تائين، اسان وٽ ڪافي ماسٽر هئا لکڻ ۽ پڙهڻ ٻنهي لاءِ جڏهن http درخواستن تي عمل ڪيو وڃي. مارچ جي وچ ۾، صرف جڏهن Sbermarket مڪمل طور تي ريموٽ ڪم تي سوئچ ڪرڻ جو فيصلو ڪيو، اسان جي RPS تيزي سان وڌڻ شروع ڪيو. اسان جا وڌيڪ ۽ وڌيڪ گراهڪ خود اڪيلائي ۾ ويا يا گهر کان ڪم ڪيو، جنهن اسان جي ڪم لوڊ اشارن کي متاثر ڪيو.

"ماسٽر" جي ڪارڪردگي هاڻي ڪافي نه هئي، تنهنڪري اسان نقل ڪرڻ لاء ڪجهه وڏيون پڙهيل درخواستون منتقل ڪرڻ شروع ڪيو. شفاف طريقي سان ماسٽر ڏانهن درخواستون لکڻ ۽ غلام کي درخواستون پڙهڻ لاء، اسان استعمال ڪيو روبي گيم "آسٽريليا" اسان _readonly پوسٽ فڪس لکڻ جي حقن کان سواءِ هڪ خاص صارف ٺاهيو. پر ميزبانن مان هڪ جي ترتيب ۾ غلطي جي ڪري، ڪجهه لکڻ جي درخواستن کي غلام سرور ڏانهن ويو هڪ صارف جي طرفان، جنهن جا مناسب حق هئا.

مسئلو پاڻ کي فوري طور تي ظاهر نه ڪيو، ڇاڪاڻ ته ... وڌايل لوڊ غلامن جي دير کي وڌايو. ڊيٽا جي تضاد صبح جو دريافت ڪيو ويو، جڏهن، رات جي واردات کان پوء، غلامن کي ماسٽر سان "پڪڙ" نه ڪيو ويو. اسان هن کي منسوب ڪيو آهي اعلي لوڊ سروس تي خود ۽ درآمد سان لاڳاپيل نئين اسٽورن جي شروعات سان. پر گهڻن ڪلاڪن جي دير سان ڊيٽا موڪلڻ ناقابل قبول هو، ۽ اسان پروسيس کي ٻئي تجزياتي غلام ڏانهن تبديل ڪيو، ڇاڪاڻ ته ان ۾ هڪоوڏا وسيلا ۽ پڙهيل درخواستن سان لوڊ نه ڪيو ويو (جيڪو اسان پاڻ کي وضاحت ڪيو ته نقل جي وقفي جي کوٽ).

جڏهن اسان مکيه غلام جي "پکڙيل" جي سببن جو اندازو لڳايو، ته تجزياتي هڪ ئي سبب اڳ ۾ ئي ناڪام ٿي چڪو هو. ٻن اضافي سرورن جي موجودگي جي باوجود جنهن ۾ اسان ماسٽر ناڪامي جي صورت ۾ لوڊ کي منتقل ڪرڻ جي منصوبابندي ڪئي هئي، هڪ بدقسمتي غلطي جي ڪري اهو ظاهر ٿيو ته نازڪ لمحن ۾ ڪو به موجود نه هو.

پر جيئن ته اسان نه رڳو ڊيٽابيس کي ڊمپ ڪيو (ان وقت جي بحالي ۾ تقريبا 5 ڪلاڪ لڳن ٿا)، پر ماسٽر سرور جو هڪ سنيپ شاٽ پڻ، اسان 2 ڪلاڪن اندر ريپليڪا لانچ ڪرڻ ۾ منظم ڪيو. سچ، ان کان پوء اسان کي هڪ ڊگهي وقت تائين ريپليڪشن لاگ رولنگ سان منهن ڏيڻو پيو (ڇاڪاڻ ته اهو عمل سنگل ٿريڊ موڊ ۾ هلندو آهي، پر اهو هڪ مڪمل طور تي مختلف ڪهاڻي آهي).

نتيجو: اهڙي واقعي کان پوء، اهو واضح ٿي ويو ته اهو ضروري آهي ته استعمال ڪندڙن جي لکڻين کي محدود ڪرڻ جي رواج کي ڇڏي ۽ سڄي سرور کي صرف پڙهڻ جو اعلان ڪيو وڃي. هن طريقي سان، ان ۾ ڪو شڪ ناهي ته نقلون نازڪ وقتن تي دستياب ٿي وينديون.

هڪ بھاري سوال کي بھتر ڪرڻ سان ڊيٽابيس کي زندگي ڏانھن واپس آڻي سگھي ٿو

جيتوڻيڪ اسان مسلسل سائيٽ تي ڪيٽلاگ کي اپڊيٽ ڪندا آهيون، درخواستون جيڪي اسان غلام سرور ڏانهن موڪليا آهن ماسٽر کان ٿوري دير جي اجازت ڏني وئي. اهو وقت جنهن دوران اسان غلامن جي مسئلي کي دريافت ڪيو ۽ ختم ڪيو ”اوچتو فاصلو ڇڏڻ“ اهو ”نفسياتي رڪاوٽ“ کان وڌيڪ ڊگهو هو (هن وقت دوران قيمتون اپڊيٽ ٿي سگهن ها ، ۽ گراهڪ پراڻي ڊيٽا کي ڏسن ها) ۽ اسان کي مجبور ڪيو ويو. سڀني درخواستن کي مين ڊيٽابيس سرور ڏانھن تبديل ڪريو. نتيجي طور، سائيٽ سست هئي ... پر گهٽ ۾ گهٽ اهو ڪم ڪيو. ۽ جڏهن غلام بحال ٿي رهيو هو، اسان وٽ ڪو به اختيار نه هو پر اصلاح. 

جڏهن غلام سرور بحال ٿي رهيا هئا، منٽ دير سان گذري ويا، ماسٽر اوورلوڊ ٿي ويو، ۽ اسان "Pareto اصول" جي مطابق فعال ڪمن کي بهتر ڪرڻ ۾ پنهنجون سموريون ڪوششون اڇلائي ڇڏيون: اسان انهن TOP درخواستن کي چونڊيو جيڪي اڪثريت جي لوڊ ٺاهي ۽ ٽيوننگ شروع ڪيو. . اهو صحيح پرواز تي ڪيو ويو.

هڪ دلچسپ اثر اهو هو ته MySQL، ظرفيت تي ڀريل، عملن ۾ معمولي بهتري جو جواب ڏنو. ڪجھ سوالن کي بهتر ڪرڻ جيڪي مجموعي لوڊ جو صرف 5٪ پيدا ڪن ٿا اڳ ۾ ئي قابل ذڪر CPU لوڊ ڏيکاريو ويو آھي. نتيجي طور، اسان ماسٽر لاءِ ڊيٽابيس سان ڪم ڪرڻ ۽ ريپليڪس کي بحال ڪرڻ لاءِ ضروري وقت حاصل ڪرڻ لاءِ وسيلن جي قابل قبول فراهمي مهيا ڪرڻ جي قابل ٿي ويا. 

نتيجو: جيتوڻيڪ هڪ ننڍڙي اصلاح توهان کي ڪيترن ئي ڪلاڪن تائين اوورلوڊ هيٺ ”زنده رهڻ“ جي اجازت ڏئي ٿي. اهو صرف اسان لاءِ ڪافي هو سرورن کي ريپليڪس سان بحال ڪرڻ لاءِ. رستي ۾، اسان هيٺ ڏنل پوسٽن مان هڪ ۾ سوال جي اصلاح جي ٽيڪنيڪل پاسي تي بحث ڪنداسين. تنهن ڪري مهرباني ڪري اسان جي بلاگ جي رڪنيت حاصل ڪريو جيڪڏهن توهان اهو مفيد محسوس ڪيو.

پارٽنر خدمتن جي ڪارڪردگي جي نگراني کي منظم ڪريو

اسان گراهڪن کان آرڊر تي عمل ڪندا آهيون، ۽ تنهن ڪري اسان جون خدمتون مسلسل ٽئين پارٽي APIs سان لهه وچڙ ۾ آهن - اهي ايس ايم ايس موڪلڻ جا گيٽ ويز، ادائگي جي پليٽ فارم، روٽنگ سسٽم، جيوڪوڊر، فيڊرل ٽيڪس سروس ۽ ٻيا ڪيترائي سسٽم آهن. ۽ جڏهن لوڊ تيزيءَ سان وڌڻ لڳو، اسان پنهنجي پارٽنر خدمتن جي API حدن ۾ هلڻ شروع ڪيو، جن بابت اسان اڳ ۾ سوچيو به نه هو.

غير متوقع طور تي پارٽنر خدمتن جي ڪوٽا کان وڌيڪ توهان جي پنهنجي وقت جي وقت کي ختم ڪري سگهي ٿي. ڪيتريون ئي APIs بند ڪن ٿيون ڪلائنٽ جيڪي حد کان وڌي وڃن ٿا، ۽ ڪجهه حالتن ۾، تمام گهڻيون درخواستون پارٽنر جي پيداوار کي اوور لوڊ ڪري سگهن ٿيون. 

مثال طور، جڏهن ترسيل جي تعداد ۾ اضافو ٿيو، گڏوگڏ خدمتون انهن کي ورهائڻ ۽ رستن جو تعين ڪرڻ جي ڪم کي منهن نه ڏئي سگهيا. نتيجي طور، اهو ظاهر ٿيو ته آرڊر ڪيا ويا، پر خدمت جيڪا رستي ٺاهي وئي ڪم نه ڪيو. اهو ضرور چيو وڃي ٿو ته اسان جي لوجسٽن انهن حالتن ۾ تقريبا ناممڪن ڪيو، ۽ ٽيم جي واضح رابطي کي عارضي سروس جي ناڪامي جي معاوضي ۾ مدد ڪئي. پر اهو غير حقيقي آهي آرڊر جي اهڙي مقدار کي هر وقت دستي طور تي عمل ڪرڻ، ۽ ڪجهه وقت کان پوءِ اسان کي آرڊر ۽ انهن جي عمل جي وچ ۾ هڪ ناقابل قبول فرق سان منهن ڏيڻو پوندو. 

ڪيترائي تنظيمي اپاءَ ورتا ويا ۽ ٽيم جي چڱيءَ طرح هموار ٿيل ڪم وقت حاصل ڪرڻ ۾ مدد ڪئي جڏهن ته اسان نون حالتن تي اتفاق ڪيو ۽ ڪجهه ڀائيوارن کان خدمتن جي جديديت جو انتظار ڪيو. ٻيا APIs آهن جيڪي اعلي ٽريفڪ جي صورت ۾ اعلي برداشت ۽ غير معمولي شرحن تي فخر ڪن ٿا. مثال طور، شروعات ۾ اسان استعمال ڪيو هڪ مشهور ميپنگ API جو پتو لڳائڻ لاءِ ترسيل پوائنٽ. پر مهيني جي آخر ۾ اسان کي 2 ملين روبل لاء هڪ صاف بل ملي. ان کان پوء، اهي تڪڙو ان کي تبديل ڪرڻ جو فيصلو ڪيو. مان اشتهارن ۾ مشغول نه ٿيندس، پر مان اهو چوندس ته اسان جا خرچ تمام گهڻو گهٽجي ويا آهن.
اسان ڪئين دور کان x10 لوڊ ۾ تيز واڌ کان بچياسين ۽ اسان ڪهڙا نتيجا ڪڍيا

نتيجو: اهو ضروري آهي ته سڀني پارٽنر خدمتن جي آپريٽنگ حالتن جي نگراني ڪرڻ ۽ انهن کي ذهن ۾ رکو. جيتوڻيڪ اڄ اهو لڳي ٿو ته اهي توهان لاء "وڏي مارجن سان" آهن، ان جو مطلب اهو ناهي ته سڀاڻي اهي ترقي جي رڪاوٽ نه بڻجي ويندا. ۽، يقينا، اهو بهتر آهي ته اڳ ۾ خدمت لاء وڌندڙ درخواستن جي مالي شرطن تي متفق ٿيڻ. 

ڪڏهن ڪڏهن ائين به ٿيندو آهي ته ”وڌيڪ سون جي ضرورت آهي"(c) مدد نٿو ڪري

اسان مکيه ڊيٽابيس ۾ يا ايپليڪيشن سرورز تي ”گگس“ ڪرڻ لاءِ استعمال ڪيا ويا آهيون، پر جڏهن اسڪيلنگ، مشڪلاتون ظاهر ٿي سگهن ٿيون جتي انهن جي توقع نه هئي. سائيٽ تي مڪمل متن جي ڳولا لاءِ، اسان Apache Solr انجڻ استعمال ڪندا آهيون. جيئن ته لوڊ وڌي ويو، اسان جوابي وقت ۾ گهٽتائي نوٽ ڪيو، ۽ سرور پروسيسر لوڊ اڳ ۾ ئي 100٪ تائين پهچي ويو. ڇا آسان ٿي سگهي ٿو - اچو ته ڪنٽينر کي سولر سان وڌيڪ وسيلن سان ڏيو.

متوقع ڪارڪردگي جي بدران، سرور صرف "مري ويو". اهو فوري طور تي 100٪ تي لوڊ ڪيو ۽ اڃا به وڌيڪ سست جواب ڏنو. شروعات ۾ اسان وٽ 2 ڪور ۽ 2 GB جي رام هئي. اسان اهو ڪرڻ جو فيصلو ڪيو جيڪو عام طور تي مدد ڪري ٿو - اسان سرور ڏنو 8 ڪور ۽ 32 GB. سڀ ڪجھ وڌيڪ خراب ٿي ويو (اسان توهان کي ٻڌائينداسين ته ڪيئن ۽ ڇو هڪ الڳ پوسٽ ۾). 

ڪجھ ڏينهن جي دوران، اسان هن مسئلي جي پيچيدگي کي ڳولي ورتو ۽ 8 ڪور ۽ 32 GB سان بهتر ڪارڪردگي حاصل ڪئي. هي تشڪيل اسان کي اڄ لوڊ وڌائڻ جاري رکڻ جي اجازت ڏئي ٿو، جيڪو تمام ضروري آهي، ڇاڪاڻ ته ترقي نه رڳو گراهڪن ۾، پر ڳنڍيل اسٽورن جي تعداد ۾ پڻ - 2 مهينن ۾ انهن جو تعداد ٻيڻو ٿي چڪو آهي. 

نتيجو: معياري طريقا جهڙوڪ "وڌيڪ لوهه شامل ڪريو" هميشه ڪم نه ڪندا آهن. تنهن ڪري جڏهن ڪنهن به خدمت کي اسڪيل ڪيو وڃي، توهان کي سٺي سمجهڻ جي ضرورت آهي ته اهو ڪيئن وسيلن کي استعمال ڪري ٿو ۽ اڳ ۾ ئي نئين حالتن ۾ ان جي آپريشن کي جانچيو. 

اسٽيٽ بيس آسان افقي اسڪيلنگ جي ڪنجي آهي

عام طور تي، اسان جي ٽيم هڪ مشهور طريقي جي پيروي ڪري ٿي: خدمتن کي اندروني حالت (بي رياست) نه هجڻ گهرجي ۽ عملدرآمد جي ماحول کان آزاد ٿيڻ گهرجي. هي اسان کي صرف افقي اسڪيلنگ ذريعي لوڊ وڌائڻ سان منهن ڏيڻ جي اجازت ڏني. پر اسان وٽ هڪ استثناءَ جي خدمت هئي - ڊگهي پس منظر جي ڪمن لاءِ هڪ سنڀاليندڙ. هو اي ميل ۽ ايس ايم ايس موڪلڻ، واقعن جي پروسيسنگ، فيڊ پيدا ڪرڻ، قيمتون ۽ اسٽاڪ درآمد ڪرڻ، ۽ تصويرن جي پروسيسنگ ۾ ملوث هو. اهو ائين ٿيو آهي ته اهو مقامي فائل اسٽوريج تي منحصر هو ۽ هڪ واحد ڪاپي ۾ هو. 

جڏهن پروسيسر جي قطار ۾ ڪمن جو تعداد وڌايو ويو (۽ اهو قدرتي طور تي آرڊر جي تعداد ۾ اضافو ٿيو)، ميزبان جي ڪارڪردگي جنهن تي پروسيسر ۽ فائل اسٽوريج واقع هئا هڪ محدود عنصر بڻجي ويو. نتيجي طور، ترتيب ۽ قيمتن کي اپڊيٽ ڪرڻ، صارفين کي اطلاع موڪلڻ، ۽ ٻيا ڪيترائي نازڪ ڪم جيڪي قطار ۾ بيٺا هئا بند ٿي ويا. Ops ٽيم جلدي فائل اسٽوريج کي S3 وانگر نيٽ ورڪ اسٽوريج ڏانهن منتقل ڪيو، ۽ هن اسان کي اجازت ڏني ته ڪيترن ئي طاقتور مشينن کي وڌائڻ لاء پس منظر ٽاسڪ پروسيسر کي ماپڻ لاء.

نتيجو: غير رياستي ضابطو لازمي طور تي سڀني حصن لاءِ بغير ڪنهن استثنا جي مشاهدو ڪيو وڃي، جيتوڻيڪ اهو لڳي ٿو ته ”اسان يقيناً هتي مزاحمت نه ڪري سگهنداسين. اهو بهتر آهي ته تمام سسٽم جي آپريشن کي صحيح طريقي سان ترتيب ڏيڻ تي ٿورو وقت خرچ ڪرڻ بجاءِ جلدي ڪوڊ کي ٻيهر لکڻ ۽ اوور لوڊ ٿيل سروس کي درست ڪرڻ.

گھڻي ترقي لاء 7 اصول

اضافي گنجائش جي دستيابي جي باوجود، اسان ترقي جي عمل ۾ ڪيترن ئي غلطين تي قدم رکيو آهي. هن عرصي دوران، آرڊر جو تعداد 4 ڀيرا وڌيڪ وڌي ويو. هاڻي اسان اڳ ۾ ئي 17 شهرن ۾ روزانو 000،62 کان وڌيڪ آرڊر فراهم ڪري رهيا آهيون ۽ جغرافيائي کي اڃا به وڌيڪ وڌائڻ جو منصوبو آهي - 2020 جي پهرين اڌ ۾ سروس سڄي روس ۾ شروع ٿيڻ جي اميد آهي. وڌندڙ ڪم جي لوڊشيڊنگ کي منهن ڏيڻ لاءِ، اسان جي اڳ ۾ ئي مڪمل ڪنز کي نظر ۾ رکندي، اسان مسلسل ترقي جي حالتن ۾ ڪم ڪرڻ لاءِ 7 بنيادي اصول ٺاهيا آهن:

  1. حادثي جو انتظام. اسان جهيرا ۾ هڪ بورڊ ٺاهيو، جتي هر واقعي کي ٽڪيٽ جي صورت ۾ ظاهر ڪيو ويو آهي. اهو واقعي واقعي سان لاڳاپيل ڪمن کي ترجيح ڏيڻ ۽ عمل ڪرڻ ۾ مدد ڏيندو. سڀ کان پوء، حقيقت ۾، غلطي ڪرڻ خوفناڪ نه آهي، پر ساڳئي موقعي تي ٻه ڀيرا غلطي ڪرڻ خوفناڪ آهي. انهن حالتن لاءِ جتي واقعا سبب جي درست ٿيڻ کان اڳ ٻيهر ٿين ٿا، عمل لاءِ هدايتون تيار هئڻ گهرجن، ڇاڪاڻ ته ڳري بار جي وقت ۾ اهو ضروري آهي ته روشنيءَ جي رفتار سان رد عمل ڪيو وڃي.
  2. مانيٽرنگ بغير استثنا جي سڀني بنيادي ڍانچي جي عناصر لاء گهربل. اهو هن جي مهرباني هئي ته اسان لوڊ جي واڌ جي اڳڪٿي ڪرڻ جي قابل ٿي چڪا هئاسين ۽ صحيح طور تي "مشڪلات" کي ترجيح ڏيڻ لاء چونڊيو. گهڻو ڪري، وڏي لوڊ هيٺ، هر شيء جنهن بابت توهان ڪڏهن به نه سوچيو هو ڀڄي ويندو يا سست ٿيڻ شروع ٿي ويندو. تنهن ڪري، اهو بهتر آهي ته پهرين واقعن کان پوء فوري طور تي نوان الرٽ ٺاهي انهن جي نگراني ۽ اڳڪٿي ڪرڻ لاء.
  3. درست خبرداري بس ضروري آهي جڏهن لوڊ تيزيء سان وڌي وڃي. پهرين، انهن کي رپورٽ ڪرڻ گهرجي ته ڇا واقعي ڀڄي ويو آهي. ٻيو، ته گھڻا الرٽ نه ھجن، ڇو ته غير نازڪ الرٽ جي گھڻائي سڀني خبردارين کي مڪمل طور تي نظرانداز ڪرڻ جو سبب بڻجي ٿي.
  4. درخواستون بي رياست هجڻ گهرجن. اسان يقين رکون ٿا ته هن قاعدي ۾ ڪابه استثنا نه هجڻ گهرجي. اسان کي رن ٽائيم ماحول کان مڪمل آزادي جي ضرورت آهي. هن کي ڪرڻ لاء، توهان هڪ ڊيٽابيس ۾ حصيداري ڪيل ڊيٽا محفوظ ڪري سگهو ٿا، يا مثال طور، سڌو سنئون S3 ۾. اڃا بهتر، ضابطن جي پيروي ڪريو. https://12factor.net. وقت ۾ تيز واڌ جي دوران، ڪوڊ کي بهتر ڪرڻ جو ڪو به طريقو ناهي، ۽ توهان کي سڌو سنئون ڪمپيوٽنگ وسيلن ۽ افقي اسڪيلنگ کي وڌائڻ سان لوڊ کي منهن ڏيڻو پوندو.
  5. ڪوٽا ۽ خارجي خدمتن جي ڪارڪردگي. تيز رفتاري سان، هڪ مسئلو پيدا ٿي سگهي ٿو نه رڳو توهان جي انفراسٽرڪچر ۾، پر هڪ خارجي خدمت ۾ پڻ. سڀ کان وڌيڪ ڏکوئيندڙ شيء اها آهي جڏهن اهو ٿئي ٿو ناڪامي جي ڪري، پر ڪوٽا يا حد تائين پهچڻ جي ڪري. تنھنڪري بيروني خدمتن کي ماپڻ گھرجي جيئن توھان ڪندا آھيو. 
  6. الڳ الڳ عمل ۽ قطار. اهو تمام گهڻو مدد ڪري ٿو جڏهن گيٽ ويز مان هڪ تي رڪاوٽ آهي. اسان کي ڊيٽا جي منتقلي ۾ دير نه ٿئي ها جيڪڏهن مڪمل ايس ايم ايس موڪلڻ واري قطار معلومات جي سسٽم جي وچ ۾ اطلاعن جي بدلي ۾ مداخلت نه ڪري ها. ۽ اهو آسان ٿي ويندو ته ڪارڪنن جو تعداد وڌائڻ لاء جيڪڏهن اهي الڳ الڳ ڪم ڪن.
  7. مالي حقيقتون. جڏهن ڊيٽا جي وهڪري ۾ هڪ ڌماڪيدار ترقي آهي، اتي ٽريف ۽ سبسڪرپشن بابت سوچڻ جو وقت ناهي. پر توهان کي انهن کي ياد رکڻ جي ضرورت آهي، خاص طور تي جيڪڏهن توهان هڪ ننڍڙي ڪمپني آهيو. ڪنهن به API جو مالڪ، انهي سان گڏ توهان جي هوسٽنگ فراهم ڪندڙ، هڪ وڏو بل ادا ڪري سگهي ٿو. تنهنڪري توهان کي احتياط سان معاهدو پڙهڻ جي ضرورت آهي.

ٿڪل

نقصانن کان سواءِ نه، پر اسان هن اسٽيج کان بچي وياسين، ۽ اڄ اسان سڀني اصولن تي عمل ڪرڻ جي ڪوشش ڪريون ٿا، ۽ هر مشين کي آسانيءَ سان x4 ڪارڪردگي وڌائڻ جي صلاحيت آهي ته جيئن ڪجهه غير متوقع واقعن کي منهن ڏئي سگهجي. 

هيٺين پوسٽن ۾، اسان اپاچي سولر ۾ ڪارڪردگي جي خرابي جي تحقيق ۾ اسان جي تجربي کي حصيداري ڪنداسين، ۽ سوال جي اصلاح جي باري ۾ پڻ ڳالهائينداسين ۽ ڪئين وفاقي ٽيڪس سروس سان رابطي سان ڪمپني کي پئسا بچائڻ ۾ مدد ڪري ٿي. اسان جي بلاگ تي رڪنيت حاصل ڪريو ته جيئن توهان ڪجھ به نه وڃايو، ۽ اسان کي ٻڌايو ته تبصرن ۾ جيڪڏهن توهان کي ٽرئفڪ جي واڌ جي دوران ساڳي مشڪلات هئي.

اسان ڪئين دور کان x10 لوڊ ۾ تيز واڌ کان بچياسين ۽ اسان ڪهڙا نتيجا ڪڍيا

صرف رجسٽرڊ استعمال ڪندڙ سروي ۾ حصو وٺي سگهن ٿا. سائن ان ڪريو، توهان جي مهرباني.

ڇا توهان ڪڏهن محسوس ڪيو آهي خدمت ۾ سستي / گهٽتائي سبب لوڊ ۾ تيز اضافو سبب:

  • 55,6٪جلدي ڪمپيوٽنگ وسيلن کي شامل ڪرڻ ۾ ناڪامي10

  • 16,7٪هوسٽنگ فراهم ڪندڙ انفراسٽرڪچر جون حدون 3

  • 33,3٪ٽئين پارٽي APIs جون حدون 6

  • 27,8٪انهن جي درخواستن جي رياستي اصولن جي ڀڃڪڙي 5

  • 88,9٪پنهنجي خدمتن جو غير بهتر ڪوڊ 16

18 صارفين ووٽ ڏنو. 6 استعمال ڪندڙن کي روڪيو ويو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو