ٹنڈر کا اقدام کبیرنیٹس

تحریری: کرس او برائن ، انجینئرنگ مینیجر | کرس تھامس ، انجینئرنگ مینیجر | جیانونگ لی ، سینئر سافٹ ویئر انجینئر | ترمیم شدہ: کوپر جیکسن ، سافٹ ویئر انجینئر

کیوں؟

تقریبا دو سال پہلے ، ٹنڈر نے اپنا پلیٹ فارم کبرنیٹس میں منتقل کرنے کا فیصلہ کیا تھا۔ کبرنیٹس نے ہمیں ٹنڈر انجینئرنگ کو کنٹینرائزیشن اور کم رابطے کے عمل کی طرف چلانے کا موقع فراہم کیا۔ درخواست کی تعمیر ، تعیناتی ، اور بنیادی ڈھانچے کو کوڈ کی تعریف کی جائے گی۔

ہم پیمانے اور استحکام کے چیلنجوں سے نمٹنے کے لئے بھی غور کر رہے تھے۔ جب اسکیلنگ ناگزیر ہوگئی ، تو ہم اکثر EC2 کی نئی مثالوں کے آن لائن آنے کے منتظر کئی منٹ انتظار کرتے رہے۔ منٹ کے برعکس سیکنڈ کے اندر اندر کنٹینروں کا ٹائم شیڈول کرنے اور خدمات انجام دینے کا خیال ہمارے لئے اپیل کرتا تھا۔

یہ آسان نہیں تھا۔ 2019 کے اوائل میں ہماری ہجرت کے دوران ، ہم اپنے کبرنیٹس کلسٹر کے اندر بڑے پیمانے پر پہنچ گئے اور ٹریفک کے حجم ، کلسٹر سائز اور ڈی این ایس کی وجہ سے مختلف چیلنجوں کا سامنا کرنا شروع کیا۔ ہم نے 200 خدمات کو منتقل کرنے اور ایک ہزار نوڈس ، 15،000 پھلیوں اور 48،000 چلانے والے کنٹینرز پر پیمانے پر ایک کبیرنیس کلسٹر چلانے کے ل interesting دلچسپ چیلنجوں کو حل کیا۔

کیسے

جنوری 2018 سے ، ہم نے نقل مکانی کی کوششوں کے مختلف مراحل سے گزرتے ہوئے اپنا کام کیا۔ ہم نے اپنی ساری خدمات کو کنٹینرائز کرکے اور انہیں کیبرنیٹ کے میزبان اسٹیجنگ ماحول کے سلسلے میں متعین کرکے شروع کیا۔ اکتوبر کے آغاز سے ، ہم نے اپنی تمام ترقیمتی خدمات کو مبنی طور پر کبرنیٹس میں منتقل کرنا شروع کیا۔ اگلے سال مارچ تک ، ہم نے اپنی ہجرت کو حتمی شکل دے دی اور ٹنڈر پلیٹ فارم اب خصوصی طور پر کبرنیٹس پر چلتا ہے۔

کبرنیٹس کے لئے امیجنگ بلڈنگ

مائکرو سروسز کے لئے 30 سے ​​زیادہ سورس کوڈ ریپوزٹری ہیں جو کبرنیٹس کلسٹر میں چل رہی ہیں۔ ان ذخیروں میں موجود کوڈ مختلف زبانوں میں لکھا ہوا ہے (جیسے نوڈ.جے ، جاوا ، سکالا ، گو) ایک ہی زبان کے ایک سے زیادہ رن ٹائم ماحول کے ساتھ۔

بلڈ سسٹم کو ہر مائکروسروائس کے لئے مکمل طور پر تخصیص بخش "بلڈ سیاق و سباق" پر کام کرنے کے لئے ڈیزائن کیا گیا ہے ، جو عام طور پر ڈاکفائرائل اور شیل کمانڈز کی ایک سیریز پر مشتمل ہوتا ہے۔ اگرچہ ان کے مندرجات مکمل طور پر حسب ضرورت ہیں ، لیکن یہ تعمیراتی سیاق و سباق ایک معیاری شکل کی پیروی کرتے ہوئے لکھے گئے ہیں۔ بلڈ سیاق و سباق کی معیاری کاری سے ایک واحد بل buildڈ سسٹم کو تمام مائکرو سروسز کو سنبھالنے کی اجازت ملتی ہے۔

شکل 1-1 بلڈر کنٹینر کے ذریعے تعمیراتی عمل کو معیاری بنائیں

رن ٹائم ماحول کے درمیان زیادہ سے زیادہ مستقل مزاجی کے حصول کے ل the ، اسی تعمیراتی عمل کو ترقی اور جانچ کے مرحلے کے دوران استعمال کیا جا رہا ہے۔ جب ایک پلیٹ فارم میں مستقل تعمیراتی ماحول کی ضمانت کے لئے کوئی راستہ وضع کرنے کی ضرورت پڑ گئی تو اس نے ایک انوکھا چیلنج عائد کردیا۔ اس کے نتیجے میں ، تمام "بلڈر" کنٹینر کے اندر تعمیراتی عمل کو انجام دے دیا جاتا ہے۔

بلڈر کنٹینر کے نفاذ کے لئے متعدد جدید ڈوکر تکنیکوں کی ضرورت تھی۔ یہ بلڈر کنٹینر مقامی صارف شناخت اور راز (جیسے ، SSH کلید ، AWS اسناد ، وغیرہ) وراثت میں حاصل کرتا ہے جیسے ٹنڈر نجی ذخیروں تک رسائی حاصل کرنے کی ضرورت ہے۔ اس میں مقامی ڈائریکٹریوں کو ماخذ کوڈ پر مشتمل نقشوں پر چڑھایا گیا ہے تاکہ تعمیراتی نوادرات کو ذخیرہ کرنے کا قدرتی طریقہ ہو۔ اس نقطہ نظر سے کارکردگی بہتر ہوتی ہے ، کیوں کہ یہ بلڈر کنٹینر اور میزبان مشین کے مابین تعمیر شدہ نوادرات کو کاپی کرتا ہے۔ ذخیرہ اندوزی کے نمونے اگلی بار مزید تشکیل کے بغیر دوبارہ استعمال کیے جاتے ہیں۔

کچھ خدمات کے ل we ، وقت سازی کے ماحول کو مرتب کرنے کے لئے بلڈر کے اندر ہمیں ایک اور کنٹینر بنانے کی ضرورت تھی (مثال کے طور پر ، Node.js bcrypt لائبریری کا انسٹال کرنا پلیٹ فارم سے مخصوص بائنری نمونے تیار کرتا ہے)۔ مرتب وقت کی ضروریات خدمات میں مختلف ہوسکتی ہیں اور آخری مکم Dل مکم onل پر مشتمل ہے۔

کبرنیٹس کلسٹر فن تعمیر اور ہجرت

کلسٹر سیزنگ

ہم نے فیصلہ کیا ہے کہ ایمیزون ای سی 2 مثالوں پر خودکار کلسٹر فراہمی کے لئے کیوب اوس استعمال کریں۔ ابتدائی طور پر ، ہم ایک عام نوڈ پول میں سب کچھ چلا رہے تھے۔ ہم نے وسائل کا بہتر استعمال کرنے کے ل work ، کام کے بوجھ کو مختلف سائز اور اقسام کی اقسام میں الگ کرنے کی ضرورت کی جلد شناخت کی۔ استدلال یہ تھا کہ کم تھریڈڈ پوڈس کو ایک ساتھ چلانے سے ہمارے لئے کارکردگی کے زیادہ امکانات سامنے آئے ہیں اس سے زیادہ کہ وہ واحد تھریڈڈ پوڈوں کی ایک بڑی تعداد کے ساتھ مخلوط رہیں۔

ہم اس پر بس گئے:

  • نگرانی کے لئے m5.4xlarge (Prometheus)
  • c5.4xlarge for Node.js ورک بوجھ (ایک ہی تھریڈڈ ورک بوجھ)
  • جاوا اور گو کے لئے c5.2xlarge (ملٹی تھریڈڈ ورک بوجھ)
  • کنٹرول طیارے کے لئے c5.4xlarge (3 نوڈس)

ہجرت

ہمارے لیراسی انفراسٹرکچر سے کبرنیٹس میں ہجرت کے لئے تیاری کے ایک اقدامات میں موجودہ سروس ٹو سروس مواصلات کو تبدیل کرنا تھا جو ایک نئے ورچوئل پرائیویٹ کلاؤڈ (وی پی سی) سب نیٹ میں تشکیل دیئے گئے نئے لچکدار بوجھ بیلنسرز (ای ایل بی) کی طرف اشارہ کرنے کے لئے حاضر سروس ٹو سروس مواصلات کو تبدیل کرنا تھا۔ یہ سب نیٹ ورک Kubernetes VPC کو ملاحظہ کیا گیا تھا۔ اس سے ہمیں خدمت کے انحصار کے لئے مخصوص ترتیب دینے سے قطع نظر ماڈیولوں کو گرانے کے ساتھ ہجرت کرنے کی اجازت مل گئی۔

یہ اختتامی مقامات وزنی ڈی این ایس ریکارڈ سیٹوں کا استعمال کرتے ہوئے بنائے گئے تھے جس میں ہر نئے ای ایل بی کی طرف اشارہ کرنے والا ایک سی این ایم تھا۔ کٹ اوور کے ل we ، ہم نے ایک نیا ریکارڈ شامل کیا ، جس نے 0 نئے وزن کے ساتھ ، نئی کبرنیٹس سروس ELB کی طرف اشارہ کیا ، پھر ہم نے ریکارڈ ٹائم پر رہنا کے لئے ٹائم ٹو لائیو (ٹی ٹی ایل) مرتب کیا۔ 0 پرانے اور نئے وزن کو آہستہ آہستہ ایڈجسٹ کیا گیا آخر میں نئے سرور پر 100٪ کے ساتھ اختتام پذیر ہوتا ہے۔ کٹ اوور مکمل ہونے کے بعد ، ٹی ٹی ایل کو کچھ معقول حد تک متعین کردیا گیا تھا۔

ہمارے جاوا ماڈیولز نے کم DNS TTL کا احترام کیا ، لیکن ہماری نوڈ ایپلی کیشنز نے ایسا نہیں کیا۔ ہمارے ایک انجینئر نے کنیکٹر پول کوڈ کا ایک حصہ دوبارہ لکھا تاکہ اسے کسی مینیجر میں لپیٹ دیا جا سکے جو تالابوں کو ہر 60 میں تازہ کردے۔ اس نے ہمارے لئے قابل تعریف کارکردگی کا مظاہرہ نہیں کیا۔

سیکھنا

نیٹ ورک تانے بانے کی حدود

8 جنوری ، 2019 کو صبح کے اوائل میں ، ٹنڈر کے پلیٹ فارم کو مستقل طور پر بندش کا سامنا کرنا پڑا۔ صبح سے پہلے پلیٹ فارم میں تاخیر میں غیر متعلقہ اضافے کے جواب میں ، پوسٹر اور نوڈ کا شمار کلسٹر پر کیا گیا تھا۔ اس کے نتیجے میں ہمارے تمام نوڈس پر اے آر پی کیشے ختم ہوگئے۔

اے آر پی کیشے سے متعلق لینکس کی تین اقدار ہیں۔

کریڈٹ

gc_thresh3 ایک مشکل ٹوپی ہے۔ اگر آپ "پڑوسی ٹیبل اوور فلو" لاگ انٹریز حاصل کر رہے ہیں تو ، اس سے یہ اشارہ ملتا ہے کہ اے آر پی کیشے کے ہم وقت ساز کوڑے دان جمع کرنے (جی سی) کے بعد بھی ، پڑوسی کے داخلے کو ذخیرہ کرنے کے لئے کافی گنجائش نہیں تھی۔ اس صورت میں ، دانا صرف پیکٹ کو پوری طرح گراتا ہے۔

ہم نےبلنٹس میں فلالین کو اپنے نیٹ ورک کے تانے بانے کے طور پر استعمال کیا ہے۔ پیکٹ VXLAN کے ذریعے آگے بھیج دیئے جاتے ہیں۔ VXLAN ایک پرت 3 نیٹ ورک پر ایک پرت 2 اوورلے اسکیم ہے۔ یہ لیئر 2 نیٹ ورک طبقات کو بڑھانے کے لئے ایک ذریعہ فراہم کرنے کے لئے میک ایڈریس ان یوزر ڈیٹاگرام پروٹوکول (میک ان ان یو ڈی پی) انکپسولیشن کا استعمال کرتا ہے۔ فزیکل ڈیٹا سینٹر نیٹ ورک پر ٹرانسپورٹ پروٹوکول IP پلس UDP ہے۔

چترا 2-1 فلالین آریھ (کریڈٹ)

چترا 2-2 VXLAN پیکٹ (کریڈٹ)

ہر کبرنیٹ ورکر نوڈ اپنے / 24 ورچوئل ایڈریس اسپیس کی ایک بڑی / 9 بلاک سے مختص کرتا ہے۔ ہر نوڈ کے ل this ، اس کے نتیجے میں 1 روٹ ٹیبل انٹری ، 1 اے آر پی ٹیبل انٹری (فلالین 1 انٹرفیس پر) ، اور 1 فارورڈنگ ڈیٹا بیس (ایف ڈی بی) انٹری ہوتی ہے۔ جب کارکن نوڈ پہلے شروع ہوتا ہے یا ہر نیا نوڈ دریافت ہوتا ہے تو ان کو شامل کیا جاتا ہے۔

اس کے علاوہ ، نوڈ ٹو پوڈ (یا پوڈ سے پوڈ) مواصلات بالآخر اخلاقیات انٹرفیس (جس میں اوپر فلالین ڈایاگرام میں دکھایا گیا ہے) پر بہتی ہے۔ اس کے نتیجے میں ہر نوڈ ماخذ اور نوڈ منزل کے لئے اے آر پی ٹیبل میں اضافی اندراج ہوگا۔

ہمارے ماحول میں ، اس طرح کی بات چیت بہت عام ہے۔ ہمارے کبرنیٹ سروس سروس کے ل an ، ایک ELB تیار کیا جاتا ہے اور Kubernetes ہر نوڈ کو ELB کے ساتھ رجسٹر کرتا ہے۔ ELB پوڈ آگاہ نہیں ہے اور منتخب کردہ نوڈ پیکٹ کی آخری منزل نہیں ہوسکتا ہے۔ اس کی وجہ یہ ہے کہ جب نوڈ ELB سے پیکٹ وصول کرتا ہے ، تو وہ خدمت کے ل its اپنے iptables اصولوں کا اندازہ کرتا ہے اور تصادفی طور پر کسی اور نوڈ پر پھلی کا انتخاب کرتا ہے۔

بندش کے وقت ، کلسٹر میں 605 نوڈس تھے۔ مذکورہ وجوہات کی بناء پر ، یہ پہلے سے طے شدہ gc_thresh3 قدر کو گرہن لگانے کے لئے کافی تھا۔ ایک بار ایسا ہونے کے بعد ، نہ صرف پیکٹ گرا رہے ہیں ، بلکہ پوری فلالین / 24s ورچوئل ایڈریس اسپیس اے آر پی ٹیبل سے غائب ہے۔ نوڈ ٹو پوڈ مواصلات اور DNS تلاش ناکام ہوجاتی ہے۔ (ڈی این ایس کلسٹر میں رہائش پذیر ہے ، جیسا کہ بعد میں اس مضمون میں زیادہ تفصیل سے بیان کیا جائے گا۔)

حل کرنے کے لئے ، gc_thresh1 ، gc_thresh2 ، اور gc_thresh3 قدریں اٹھائی گئیں اور لاپتہ نیٹ ورکس کو دوبارہ رجسٹر کرنے کے لئے فلالین کو دوبارہ شروع کرنا ہوگا۔

اسکیل پر غیر متوقع طور پر DNS چل رہا ہے

اپنی منتقلی کو ایڈجسٹ کرنے کے ل we ، ہم نے اپنی خدمات کے ل leg میراث سے کبرنیٹس تک ٹریفک کی تشکیل اور اضافی کٹ اوور کی سہولت کے ل D ڈی این ایس کا بہت زیادہ فائدہ اٹھایا۔ ہم نے منسلک روٹ 53 ریکارڈسیٹس پر نسبتا5 کم ٹی ٹی ایل قدریں مرتب کیں۔ جب ہم نے EC2 مثال کے طور پر اپنا میراثی ڈھانچہ چلایا تو ، ہماری حل طلب ترتیب نے ایمیزون کے ڈی این ایس کی طرف اشارہ کیا۔ ہم نے اسے قبول کیا اور ہماری خدمات اور ایمیزون کی خدمات (جیسے ڈائنومو ڈی بی) کے لئے نسبتا low کم ٹی ٹی ایل کی قیمت پر کسی کا دھیان نہیں رہا۔

جیسے ہی ہم نے کبرنیٹس کو زیادہ سے زیادہ خدمات حاصل کیں ، ہم نے خود کو ایک ڈی این ایس سروس چلایا جو 250،000 درخواستوں کا فی سیکنڈ میں جواب دے رہی تھی۔ ہم اپنی درخواستوں میں وقفے وقفے سے اور DNS تلاش کے موثر وقت کا سامنا کر رہے ہیں۔ یہ ٹیوننگ کی ایک مکمل کوشش اور DNS فراہم کنندہ کور ڈی این ایس تعیناتی میں سوئچ کرنے کے باوجود ہوا ہے کہ ایک وقت میں 120 کورز استعمال کرنے والے 1،000 پوڈوں پر پہنچ گئے۔

دوسرے ممکنہ اسباب اور حل کی تحقیق کرتے ہوئے ، ہمیں ایک مضمون ملا جس میں ریس ریس کی حالت بیان کی گئی ہے جس میں لینکس پیکٹ فلٹرنگ فریم ورک نیٹ فیلٹر کو متاثر کیا گیا ہے۔ ہم جس ڈی این ایس ٹائم آؤٹ کو دیکھ رہے تھے ، اس کے ساتھ ساتھ فلل انٹرفیس میں اضافے والے انٹریٹ_فیلڈ کاؤنٹر کے ساتھ ، مضمون کے نتائج سے ہم آہنگ۔

مسئلہ ماخذ اور منزل مقصود نیٹ ورک ایڈریس ٹرانسلیشن (SNAT اور DNAT) اور اس کے نتیجے میں کانٹریک ٹیبل میں داخل ہونے کے دوران ہوتا ہے۔ اندرونی طور پر تبادلہ خیال کیا گیا اور برادری کے ذریعہ تجویز کردہ ایک کام کا مقصد DNS کو ورکر نوڈ پر منتقل کرنا تھا۔ اس معاملے میں:

  • SNAT ضروری نہیں ہے ، کیونکہ ٹریفک نوڈ پر مقامی طور پر رہتی ہے۔ اسے اخلاقیات انٹرفیس میں منتقل کرنے کی ضرورت نہیں ہے۔
  • ڈی این اے ٹی ضروری نہیں ہے کیونکہ منزل کا IP نوڈ کے لئے مقامی ہے اور یہ iptables کے قواعد کے مطابق تصادفی منتخب پوڈ نہیں ہے۔

ہم نے اس نقطہ نظر کے ساتھ آگے بڑھنے کا فیصلہ کیا۔ کور ڈی این ایس کوبیرنیٹس میں ڈیمونسیٹ کی حیثیت سے تعینات کیا گیا تھا اور ہم نے نوبل کے مقامی ڈی این ایس سرور کوبلیٹ - کلسٹر - ڈی این ایس کمانڈ پرچم ترتیب دے کر ہر پوڈ کے ریزولیوکونف میں انجکشن لگایا۔ ڈی آر ایس ٹائم آؤٹ آؤٹ کے لئے عملی کارگر موثر تھا۔

تاہم ، ہم اب بھی گرا ہوا پیکٹ اور فلالین انٹرفیس کے داخل_فیل کاؤنٹر انکریمنٹ دیکھتے ہیں۔ مذکورہ بالا مشقت کے بعد بھی یہ برقرار رہے گا کیونکہ ہم صرف DNS ٹریفک کے لئے SNAT اور / یا DNAT سے گریز کرتے ہیں۔ ریس کی حالت اب بھی دوسری قسم کی ٹریفک کے لئے ہوگی۔ خوش قسمتی سے ، ہمارے بیشتر پیکٹ ٹی سی پی کے ہیں اور جب حالت پیدا ہوجاتی ہے تو ، پیکٹ کامیابی کے ساتھ دوبارہ بھیجے جائیں گے۔ ہر قسم کے ٹریفک کے لئے ایک طویل مدتی طے کرنا وہ چیز ہے جس پر ہم ابھی بھی تبادلہ خیال کر رہے ہیں۔

بہتر بوجھ میں توازن حاصل کرنے کے لئے ایلچی کا استعمال کرنا

جب ہم نے اپنی بیک اینڈ سروسز کو کبرنیٹس میں منتقل کیا ، تو ہم پھلیوں کے متوازن بوجھ سے دوچار ہونا شروع ہوگئے۔ ہم نے دریافت کیا کہ ایچ ٹی ٹی پی کیپلائیو کی وجہ سے ، ہر رولنگ کی تعیناتی کے پہلے تیار پھلیوں پر ای ایل بی کنیکشن پھنس گئے ہیں ، لہذا بیشتر ٹریفک دستیاب پھلیوں کی تھوڑی فیصد سے گزرتا ہے۔ ہم نے جو پہلا تخفیف کرنے کی کوشش کی ان میں سے ایک یہ ہے کہ بدترین مجرموں کے لئے نئی تعیناتیوں پر 100٪ میکس سر کا استعمال کیا جائے۔ یہ معمولی طور پر موثر تھا اور کچھ بڑی تعیناتیوں کے ساتھ پائیدار طویل مدتی نہیں تھا۔

ایک اور تخفیف جو ہم استعمال کرتے تھے وہ یہ ہے کہ مصنوعی طور پر اہم خدمات پر وسائل کی درخواستیں مہیا کریں تاکہ متولی پوڈوں کو دوسرے ہیوی پوڈوں کے ساتھ ہیڈ روم مل سکے۔ وسائل کے ضائع ہونے کی وجہ سے یہ طویل عرصے تک قابل عمل بھی نہیں ہونے والا تھا اور ہماری نوڈ ایپلی کیشنز ایک ہی تھریڈ کی گئی تھیں اور اس طرح اس کو موثر انداز میں 1 کور پر محدود کردیا گیا۔ بہتر حل توازن کو بروئے کار لانے کا واحد واضح حل تھا۔

ہم داخلی طور پر ایلچی کا اندازہ لگانے کے خواہاں تھے۔ اس سے ہمیں ایک بہت ہی محدود فیشن میں اسے تعینات کرنے اور فوری طور پر فوائد حاصل کرنے کا موقع ملا۔ ایلچی ایک اوپن سورس ، اعلی کارکردگی والی پرت 7 پراکسی ہے جو بڑے خدمت پر مبنی فن تعمیر کے لئے ڈیزائن کیا گیا ہے۔ یہ خود کار طریقے سے دوبارہ کوششیں کرنے ، سرکٹ توڑنے اور عالمی شرح کو محدود کرنے سمیت اعلی درجے کی بوجھ میں توازن کی تکنیک کو نافذ کرنے کے قابل ہے۔

ہم جس ترتیب کے ساتھ آئے تھے اس میں ہر پھلی کے ساتھ ساتھ ایلچی کے پاس ایک ایلچی رکھنا تھا جس میں مقامی کنٹینر بندرگاہ کو نشانہ بنانے کے لئے ایک راستہ اور کلسٹر تھا۔ ممکنہ جھڑپ کو کم سے کم کرنے اور دھماکے کی ایک چھوٹی سی وسعت برقرار رکھنے کے ل we ، ہم نے فرنٹ پراکسی ایلچی کے پھندے کا بیڑہ استعمال کیا ، ہر خدمت کے لئے ہر ایک دستیابی زون (اے زیڈ) میں ایک تعیناتی۔ انھوں نے ایک چھوٹی سی خدمت کی دریافت کے طریقہ کار کو نشانہ بنایا جس میں ہمارے ایک انجینئر نے ایک ساتھ ڈال دیا جس نے ایک دیئے گئے خدمت کے لs ہر AZ میں پھلیوں کی فہرست آسانی سے واپس کردی۔

اس کے بعد خدمت کے محافظوں نے اس خدمت کی دریافت کے طریقہ کار کو ایک اسٹریم کلسٹر اور روٹ کے ساتھ استعمال کیا۔ ہم نے معقول ٹائم آؤٹ کو تشکیل دیا ، سرکٹ بریکر کی تمام تر ترتیبات کو بڑھاوا دیا ، اور پھر عارضی ناکامیوں اور آسانی سے تعی withن میں مدد کے ل. ایک کم سے کم دوبارہ کوشش میں تشکیل دی۔ ہم نے ان میں سے ہر ایک ایلچی سروس کو ٹی سی پی ای ایل بی سے محاذ آرائی کی۔ یہاں تک کہ اگر ہماری مین فرنٹ پراکسی پرت سے رکنے والا کچھ خاص ایلچی پوڈ پر کھڑا ہوجاتا ہے تو ، وہ بوجھ کو سنبھالنے میں بہت بہتر طور پر کامیاب تھے اور کم از کم_بیان کے ذریعہ پسدید تک متوازن ہونے کے لئے تشکیل شدہ تھے۔

تعیناتیوں کے ل we ، ہم نے ایپلی کیشن اور سیڈیکر پوڈ دونوں پر پری اسٹاپ ہک استعمال کیا۔ اس ہک کو سائڈیکر ہیلتھ چیک فیل ایڈمن ایڈ پوائنٹ کے ساتھ ساتھ ، ایک چھوٹی سی نیند بھی کہا جاتا ہے ، تاکہ انفلائٹ کنکشن کو مکمل ہونے اور نالیوں کو جانے کے لئے کچھ وقت دیا جا.۔

ایک وجہ جس کی وجہ سے ہم اتنی جلدی منتقل ہوسکے تھے اس کی بڑی وجہ میٹرک میٹرکس تھے جس کی وجہ سے ہم آسانی سے اپنے عام پرومیتھس سیٹ اپ کے ساتھ مل سکتے تھے۔ اس سے ہمیں یہ دیکھنے کی اجازت ملی کہ جب ہم ترتیب کی ترتیبات پر تکرار کرتے اور ٹریفک کو ختم کرتے ہیں تو واقعی میں کیا ہو رہا ہے۔

نتائج فوری اور واضح تھے۔ ہم نے انتہائی متوازن خدمات کے ساتھ آغاز کیا اور اس مقام پر یہ ہمارے کلسٹر کی بارہ اہم ترین خدمات کے سامنے چل رہی ہے۔ اس سال ہم جدید سروس کی دریافت ، سرکٹ بریکنگ ، آؤٹ لیئر کا پتہ لگانے ، شرح کو محدود کرنے اور کھوج لگانے کے ساتھ ایک مکمل خدمت میش میں جانے کا ارادہ رکھتے ہیں۔

سفیر کو کٹ اوور کے دوران ایک خدمت کی شکل 3-11 سی پی یو کی تبدیلی

انجام کا نتیجہ

ان سیکھنے اور اضافی تحقیق کے ذریعہ ، ہم نے گھروں میں ایک مضبوط انفراسٹرکچر ٹیم تیار کی ہے جس میں بڑے کیوبرینٹس کلسٹرز کو ڈیزائن ، تعی ،ن کرنے اور ان کو چلانے کے طریقوں پر کافی واقفیت ہے۔ ٹنڈر کی پوری انجینئرنگ تنظیم کے پاس اب اس بات کا علم اور تجربہ ہے کہ ان کی درخواستوں کو کبیرنیٹس میں کنٹینریج اور تعینات کیا جائے۔

ہمارے ورثہ کے بنیادی ڈھانچے پر ، جب اضافی پیمانے کی ضرورت ہوتی تھی ، تو ہم اکثر EC2 کی نئی مثال آن لائن آنے کے منتظر کئی منٹ انتظار کرتے رہے۔ کنٹینر اب منٹ کے مقابلہ میں سیکنڈ کے اندر ٹریفک کا شیڈول اور خدمت کرتے ہیں۔ ایک ہی EC2 مثال کے طور پر ایک سے زیادہ کنٹینروں کا شیڈول کرنا افقی کثافت کو بھی بہتر فراہم کرتا ہے۔ اس کے نتیجے میں ، ہم پچھلے سال کے مقابلہ میں 2019 میں ای سی 2 پر لاگت کی خاطر خواہ بچت پیش کرتے ہیں۔

اس میں تقریبا two دو سال لگے ، لیکن ہم نے مارچ in 2019 in in میں اپنی ہجرت کو حتمی شکل دے دی۔ ٹنڈر پلیٹ فارم خصوصی طور پر ایک کبرنیٹس کلسٹر پر چلتا ہے جس میں 200 خدمات ، ایک ہزار نوڈس ، 15،000 پھلی اور 48،000 چلنے والے کنٹینرز شامل ہیں۔ انفراسٹرکچر کا کام اب ہماری ٹیموں کے لئے مخصوص نہیں ہے۔ اس کے بجائے ، تنظیم کے تمام انجینئر اس ذمہ داری میں شریک ہیں اور اس پر قابو رکھتے ہیں کہ ان کی ایپلی کیشنز کو کس طرح بطور کوڈ ہر چیز کے ساتھ بنایا اور تعینات کیا جاتا ہے۔