
هي مضمون ڪجهه عام نمونا مهيا ڪري ٿو جيڪي انجنيئرن کي وڏي پيماني تي خدمتن سان ڪم ڪرڻ ۾ مدد ڪن ٿيون جيڪي لکين استعمال ڪندڙن تائين پهچن ٿيون.
ليکڪ جي تجربي ۾، هي هڪ مڪمل فهرست ناهي، پر اهو ضرور آهي اثرائتو صلاحون. سو، اچو ته شروع ڪريون.
جي مدد سان ترجمو ڪيو ويو .
پهرين ليول
هيٺ ڏنل تدبيرون لاڳو ڪرڻ ۾ نسبتاً آسان آهن پر اهم نتيجا ڏين ٿيون. جيڪڏهن توهان انهن کي اڳ ۾ نه آزمايو آهي، ته توهان اهم بهتري تي حيران ٿي ويندا.
بنيادي ڍانچي جي طور تي ڪوڊ
صلاح جو پهريون حصو انفراسٽرڪچر کي ڪوڊ جي طور تي لاڳو ڪرڻ آهي. ان جو مطلب آهي ته توهان وٽ پوري انفراسٽرڪچر کي ترتيب ڏيڻ لاءِ هڪ پروگراماتي طريقو هجڻ گهرجي. اهو پيچيده لڳي ٿو، پر حقيقت ۾، اسان هيٺ ڏنل ڪوڊ بابت ڳالهائي رهيا آهيون:
100 ورچوئل مشينون لڳائڻ
- с Ubuntu
- هر هڪ 2GB ريم
- انهن وٽ هيٺ ڏنل ڪوڊ هوندو.
- اهڙن پيرا ميٽرز سان
توهان پنهنجي انفراسٽرڪچر ۾ تبديلين کي ٽريڪ ڪري سگهو ٿا ۽ ورزن ڪنٽرول سسٽم استعمال ڪندي انهن ڏانهن جلدي واپس وڃي سگهو ٿا.
مون ۾ جديديت پسند چوي ٿو ته توهان مٿيان سڀ ڪجهه ڪرڻ لاءِ ڪبرنيٽس/ڊاڪر استعمال ڪري سگهو ٿا، ۽ هو صحيح آهي.
اضافي طور تي، شيف، پپٽ، يا ٽيرافارم استعمال ڪندي آٽوميشن حاصل ڪري سگهجي ٿو.
مسلسل انضمام ۽ پهچائڻ
هڪ اسڪيليبل سروس ٺاهڻ لاءِ، هر پل درخواست لاءِ هڪ بلڊ پائپ لائن ۽ هڪ ٽيسٽ هجڻ ضروري آهي. جيتوڻيڪ ٽيسٽ تمام سادو آهي، اهو گهٽ ۾ گهٽ يقيني بڻائي ٿو ته توهان جيڪو ڪوڊ لڳايو ٿا اهو مرتب ڪري ٿو.
هر دفعي هن مرحلي تي توهان سوال جو جواب ڏيو ٿا: ڇا منهنجو بلڊ ڪمپائل ٿيندو ۽ ٽيسٽ پاس ڪندو، ڇا اهو صحيح آهي؟ هي شايد گهٽ بار وانگر لڳي، پر اهو گهڻن مسئلن کي حل ڪري ٿو.

انهن چيڪ مارڪن کي ڏسڻ کان وڌيڪ خوبصورت ڪجهه به ناهي.
هن ٽيڪنالاجي لاءِ، توهان Github، CircleCI، يا Jenkins چيڪ ڪري سگهو ٿا.
لوڊ بيلنسرز
تنهن ڪري، اسان ٽرئفڪ کي ريڊائريڪٽ ڪرڻ لاءِ لوڊ بيلنسر هلائڻ چاهيون ٿا ۽ ناڪامي جي صورت ۾ سڀني نوڊس يا سروس آپريشن تي برابر لوڊ کي يقيني بڻائڻ چاهيون ٿا:

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

هڪ منفرد سڃاڻپ ڪندڙ، رابطي جي سڃاڻپ، RayID، يا ان جي ڪنهن به قسم، هڪ منفرد سڃاڻپ ڪندڙ آهي جيڪو هڪ درخواست کي ان جي سڄي زندگي جي چڪر ۾ ٽريڪ ڪرڻ جي اجازت ڏئي ٿو. هي توهان کي لاگ ۾ پوري درخواست جي رستي کي ٽريڪ ڪرڻ جي اجازت ڏئي ٿو.

استعمال ڪندڙ سسٽم A کي درخواست ڪري ٿو، پوءِ A B سان رابطو ڪري ٿو، جيڪو C سان رابطو ڪري ٿو، ان کي X ۾ محفوظ ڪري ٿو، ۽ پوءِ درخواست A ڏانهن واپس اچي ٿي.
جيڪڏهن توهان پنهنجي ورچوئل مشينن سان پري کان ڳنڍجي وڃو ۽ درخواست جي رستي کي ٽريڪ ڪرڻ جي ڪوشش ڪريو (۽ دستي طور تي ڪهڙيون ڪالون ڪيون ويون هيون انهن سان لاڳاپيل ڪريو)، ته توهان چريو ٿي ويندا. هڪ منفرد سڃاڻپ ڪندڙ هجڻ زندگي کي تمام آسان بڻائي ٿو. اهو هڪ آسان ترين شيءِ آهي جيڪا توهان وقت بچائڻ لاءِ ڪري سگهو ٿا جيئن توهان جي خدمت وڌندي آهي.
وچولي سطح
هتي ڏنل صلاحون اڳئين کان وڌيڪ پيچيده آهن، پر صحيح اوزار ڪم کي آسان بڻائين ٿا، ننڍن ۽ وچولي درجي جي ڪاروبارن لاءِ به سيڙپڪاري تي واپسي کي يقيني بڻائين ٿا.
مرڪزي لاگنگ
مبارڪون هجن! توهان 100 ورچوئل مشينون استعمال ڪيون آهن. ٻئي ڏينهن، سي اي او اچي ٿو ۽ سروس جي جانچ دوران هڪ غلطي جي شڪايت ڪري ٿو. هو مٿي ذڪر ڪيل لاڳاپيل ID مهيا ڪري ٿو، پر توهان کي ناڪامي جو سبب بڻجندڙ هڪ کي ڳولڻ لاءِ 100 مشينن جي لاگ کي ڇڪڻو پوندو. ۽ توهان کي سڀاڻي جي پيشڪش کان اڳ ان کي ڳولڻ جي ضرورت آهي.
جڏهن ته هي هڪ مزيدار ايڊونچر وانگر لڳي ٿو، اهو بهتر آهي ته پڪ ڪريو ته توهان وٽ هڪ جاءِ تي پنهنجا سڀئي لاگ ڳولڻ جي صلاحيت آهي. مون ELK اسٽيڪ جي بلٽ ان ڪارڪردگي کي استعمال ڪندي لاگ کي مرڪزي ڪرڻ جي مسئلي کي حل ڪيو: اهو ڳولا لائق لاگ مجموعي کي سپورٽ ڪري ٿو. اهو واقعي هڪ مخصوص لاگ ڳولڻ جي مسئلي کي حل ڪرڻ ۾ مدد ڪري ٿو. بونس جي طور تي، توهان چارٽ ۽ ٻيون مزيدار شيون ٺاهي سگهو ٿا.

ELK اسٽيڪ ڪارڪردگي
نگراني ڪندڙ ايجنٽ
هاڻي جڏهن ته توهان جي سروس شروع ٿي چڪي آهي، توهان کي پڪ ڪرڻ جي ضرورت آهي ته اها آساني سان هلي رهي آهي. اهو ڪرڻ جو بهترين طريقو ڪجهه هلائڻ آهي ايجنٽ، جيڪي متوازي طور تي هلن ٿا ۽ چيڪ ڪن ٿا ته اهو ڪم ڪري ٿو ۽ بنيادي آپريشن ڪيا وڃن ٿا.
هن مرحلي تي توهان چيڪ ڪريو ته هلندڙ تعمير سٺي محسوس ٿئي ٿي ۽ ٺيڪ ڪم ڪري ٿي..
ننڍن ۽ وچولي سائيز جي منصوبن لاءِ، مان API مانيٽرنگ ۽ دستاويزن لاءِ پوسٽ مين جي سفارش ڪريان ٿو. پر مجموعي طور تي، توهان کي صرف اهو پڪ ڪرڻ جي ضرورت آهي ته توهان وٽ هڪ طريقو آهي ته توهان کي خبر پوي ته ڪڏهن بندش ٿئي ٿي ۽ بروقت الرٽ حاصل ڪري سگهو ٿا.
لوڊ جي لحاظ کان خودڪار اسڪيلنگ
اهو تمام سادو آهي. جيڪڏهن توهان وٽ هڪ ورچوئل مشين درخواستن جي خدمت ڪري رهي آهي ۽ اها 80٪ ميموري استعمال جي ويجهو اچي رهي آهي، ته توهان يا ته ان جا وسيلا وڌائي سگهو ٿا يا ڪلسٽر ۾ وڌيڪ ورچوئل مشينون شامل ڪري سگهو ٿا. انهن آپريشنن کي خودڪار طريقي سان انجام ڏيڻ لوڊ هيٺ گنجائش کي لچڪدار طور تي اسڪيل ڪرڻ لاءِ بهترين آهي. پر توهان کي هميشه محتاط رهڻ گهرجي ته توهان ڪيترو خرچ ڪيو ٿا ۽ مناسب حدون مقرر ڪريو.

گهڻيون ڪلائوڊ سروسز توهان کي وڌيڪ سرورز يا وڌيڪ طاقتور سرورز استعمال ڪندي خودڪار اسڪيلنگ سيٽ اپ ڪرڻ جي اجازت ڏين ٿيون.
تجرباتي نظام
محفوظ طريقي سان اپڊيٽس کي رول آئوٽ ڪرڻ جو هڪ سٺو طريقو اهو آهي ته 1٪ استعمال ڪندڙن تي هڪ ڪلاڪ لاءِ ڪجهه ٽيسٽ ڪيو وڃي. توهان يقيني طور تي اهڙي ميڪانيزم کي عمل ۾ ڏٺو هوندو. مثال طور، فيس بڪ هڪ مختلف رنگ ڏيکاري ٿو يا سامعين جي هڪ ذيلي سيٽ تي فونٽ جي سائيز کي تبديل ڪري ٿو ته ڏسو ته صارف تبديلين تي ڪيئن رد عمل ظاهر ڪن ٿا. ان کي A/B ٽيسٽنگ چئبو آهي.
هڪ نئين خصوصيت کي جاري ڪرڻ کي به هڪ تجربي جي طور تي لانچ ڪري سگهجي ٿو، ۽ پوءِ توهان اهو طئي ڪري سگهو ٿا ته ان کي ڪيئن جاري ڪجي. توهان کي "ياد ڪرڻ" يا ترتيب کي فوري طور تي تبديل ڪرڻ جي صلاحيت پڻ ملي ٿي ان خصوصيت جي بنياد تي جيڪا توهان جي خدمت کي خراب ڪري رهي آهي.
اعليٰ ليول
انهن صلاحن تي عمل ڪرڻ ڪافي مشڪل آهي. انهن کي شايد ڪجهه وڌيڪ وسيلن جي ضرورت پوندي، تنهنڪري هڪ ننڍڙي يا وچولي سائيز جي ڪمپني انهن سان جدوجهد ڪري سگهي ٿي.
نيرو-سائي رنگ جي تعیناتيون
هي اهو آهي جنهن کي مان "ايرلانگ" ڊيپلائيمينٽ جو طريقو سڏيان ٿو. ايرلانگ وڏي پيماني تي استعمال ٿيڻ لڳو جڏهن ٽيليفون ڪمپنيون ظاهر ٿيون. سافٽ ويئر سوئچز کي فون ڪالز کي روٽ ڪرڻ لاءِ استعمال ڪرڻ شروع ڪيو ويو. انهن سافٽ ويئر سوئچز جو مکيه ڪم اهو يقيني بڻائڻ هو ته سسٽم اپ گريڊ دوران ڪالون نه ڊرپ ٿين. ايرلانگ وٽ پوئين ماڊل کي ڪريش ڪرڻ کان سواءِ نئين ماڊل کي لوڊ ڪرڻ جو هڪ بهترين طريقو آهي.
هي قدم لوڊ بيلنس جي موجودگي تي منحصر آهي. تصور ڪريو ته توهان وٽ توهان جي سافٽ ويئر جو ورجن N آهي، ۽ پوءِ توهان ورجن N+1 کي ترتيب ڏيڻ چاهيو ٿا.
توهان ڪري سگهي ٿو بس سروس بند ڪريو ۽ ايندڙ ورزن کي اهڙي وقت تي ترتيب ڏيو جيڪو توهان جي استعمال ڪندڙن لاءِ مناسب هجي، ۽ ڪجهه ڊائون ٽائيم حاصل ڪريو. پر فرض ڪريو ته توهان وٽ آهي حقيقت آهي سخت SLA شرطون. مثال طور، 99,99٪ جي SLA جو مطلب آهي ته توهان آف لائن ٿي سگهو ٿا. صرف هر سال 52 منٽ.
جيڪڏهن توهان واقعي انهن انگن کي حاصل ڪرڻ چاهيو ٿا، ته توهان کي هڪ ئي وقت ٻه تعیناتيون جي ضرورت آهي:
- جيڪو هاڻي آهي (ن)؛
- ايندڙ نسخو (N+1).
توهان لوڊ بيلنس ڪندڙ کي چئو ٿا ته ٽرئفڪ جو هڪ سيڪڙو نئين ورزن (N+1) ڏانهن ريڊائريڪٽ ڪري، جڏهن ته توهان فعال طور تي ريگريشن جي نگراني ڪندا آهيو.

هتي اسان وٽ هڪ سائي ڊيپلائيمينٽ N آهي، جيڪو ٺيڪ ڪم ڪري ٿو. اسان هن ڊيپلائيمينٽ جي ايندڙ ورزن ڏانهن وڃڻ جي ڪوشش ڪري رهيا آهيون.
پهرين، اسان هڪ تمام ننڍڙو ٽيسٽ موڪليندا آهيون ته ڏسو ته ڇا اسان جي N+1 ڊيپلائيمينٽ ٿوري ٽرئفڪ سان ڪم ڪري ٿي:

آخرڪار، اسان وٽ خودڪار چڪاسن جو هڪ سيٽ آهي جيڪو اسان آخرڪار هلون ٿا جيستائين اسان جي تعیناتي مڪمل نه ٿئي. جيڪڏهن توهان تمام گهڻو محتاط رهو، توهان خراب ريگريشن جي صورت ۾ جلدي رول بيڪ لاءِ پنهنجي N ڊيپلائيمينٽ کي هميشه لاءِ محفوظ ڪري سگهو ٿا:

جيڪڏهن توهان شين کي اڃا به وڌيڪ ترقي يافته سطح تي وٺي وڃڻ چاهيو ٿا، ته نيري-سائي ڊيپلائيمينٽ ۾ هر شيءِ کي خودڪار طريقي سان ٿيڻ ڏيو.
بي ضابطگي جي ڳولا ۽ خودڪار گھٽتائي
ڏنو ويو آهي ته توهان وٽ مرڪزي لاگنگ ۽ سٺو لاگ ڪليڪشن آهي، توهان اعليٰ مقصد مقرر ڪري سگهو ٿا. مثال طور، ناڪامين جي اڳڪٿي ڪريو. مانيٽر ۽ لاگ ڪمن کي ٽريڪ ڪن ٿا ۽ مختلف ڊاگرام ٺاهين ٿا، توهان کي اڳڪٿي ڪرڻ جي اجازت ڏين ٿا ته ڇا غلط ٿي سگهي ٿو:

هڪ ڀيرو غير معمولي شيون معلوم ٿي وڃن، ته پوءِ توهان سروس پاران مهيا ڪيل اشارن جي جانچ ڪرڻ شروع ڪري سگهو ٿا. مثال طور، سي پي يو لوڊ ۾ واڌ شايد هارڊ ڊرائيو جي ناڪامي جو اشارو ڏئي سگهي ٿي، جڏهن ته درخواستن ۾ واڌ شايد پيماني جي ضرورت کي ظاهر ڪري سگهي ٿي. هن قسم جا انگ اکر سروس کي فعال بڻائڻ جي اجازت ڏين ٿا.
هن بصيرت حاصل ڪرڻ سان، توهان ڪنهن به طول و عرض ۾ پيماني تي ڪري سگهو ٿا، مشينن، ڊيٽابيس، ڪنيڪشن، ۽ ٻين وسيلن جي خاصيتن کي فعال ۽ رد عمل سان تبديل ڪري سگهو ٿا.
اهو ئي سڀ ڪجهه آهي!
جيڪڏهن توهان ڪلائوڊ سروس قائم ڪري رهيا آهيو ته هي ترجيحي فهرست توهان کي تمام گهڻي تڪليف کان بچائيندي.
اصل مضمون جو ليکڪ پڙهندڙن کي تبصرا ڇڏڻ ۽ ترميم ڪرڻ جي دعوت ڏئي ٿو. هي مضمون اوپن سورس طور ورهايو ويو آهي؛ ليکڪ کان درخواستون موجود آهن. .
موضوع تي ٻيو ڇا پڙهو:
جو ذريعو: www.habr.com
