څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونېد sophiagworld لخوا ورک شوی

دا مقاله ځینې عام نمونې لري ترڅو انجینرانو سره د لوی کچې خدماتو سره کار کولو کې مرسته وکړي چې د ملیونونو کاروونکو لخوا ورته لاسرسی کیږي. 

د لیکوال په تجربه کې، دا یو بشپړ لیست ندی، مګر په حقیقت کې اغیزمن مشوره نو، راځئ چې پیل وکړو.

په ملاتړ ژباړل شوی Mail.ru کلاوډ حلونه.

د ننوتلو کچه

لاندې لست شوي اقدامات د پلي کولو لپاره نسبتا ساده دي مګر لوړ اغیز لري. که تاسو مخکې دا هڅه نه ده کړې، نو تاسو به د پام وړ پرمختګونو په اړه حیران شئ.

د کوډ په توګه زیربنا

د مشورې لومړۍ برخه د کوډ په توګه زیربنا پلي کول دي. دا پدې مانا ده چې تاسو باید د ټول زیربنا د ځای په ځای کولو لپاره یو پروګراماتي لاره ولرئ. دا پیچلې ښکاري، مګر موږ واقعیا د لاندې کوډ په اړه خبرې کوو:

د 100 مجازی ماشینونو ځای په ځای کول

  • د اوبنټو سره
  • هر یو 2 GB رام
  • دوی به لاندې کوډ ولري
  • د دې پیرامیټونو سره

تاسو کولی شئ په خپل زیربنا کې بدلونونه تعقیب کړئ او د نسخې کنټرول په کارولو سره دوی ته په چټکۍ سره بیرته راشئ.

ما کې ماډرنیسټ وايي چې تاسو کولی شئ د پورتني ټولو کولو لپاره کوبرنیټس/ډکر وکاروئ ، او هغه سم دی.

سربیره پردې ، تاسو کولی شئ د شیف ، پوپټ یا ټیرفارم په کارولو سره اتومات چمتو کړئ.

دوامداره ادغام او تحویل

د توزیع وړ خدمت رامینځته کولو لپاره ، دا مهمه ده چې د هر پل غوښتنې لپاره د جوړولو او ازموینې پایپ لاین ولرئ. حتی که ازموینه خورا ساده وي ، دا به لږترلږه ډاډ ترلاسه کړي چې هغه کوډ چې تاسو یې ځای په ځای کوئ تالیف کوي.

هر ځل په دې مرحله کې تاسو دې پوښتنې ته ځواب ورکوئ: ایا زما مجلس به تالیف او ازموینې پاس کړي، ایا دا اعتبار لري؟ دا ممکن د ټیټ بار په څیر ښکاري، مګر دا ډیری ستونزې حل کوي.

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
د دې ټیکونو لیدلو څخه بل هیڅ ښکلی ندی

د دې ټیکنالوژۍ لپاره تاسو کولی شئ د Github، CircleCI یا جینکنز ارزونه وکړئ.

بار بار بیلانسران

نو، موږ غواړو د بار بار بیلانس چلولو لپاره ټرافیک ته لارښوونه وکړو او په ټولو نوډونو کې مساوي بار ډاډمن کړو یا د ناکامۍ په صورت کې خدمت دوام ومومي:

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
د بار بیلنسر معمولا د ترافیک توزیع کولو کې ښه دنده ترسره کوي. غوره عمل دا دی چې ډیر توازن ولرئ ترڅو تاسو د ناکامۍ یو ټکی هم ونه لرئ.

عموما، د بار توازن کونکي په بادل کې ترتیب شوي چې تاسو یې کاروئ.

RayID، د اړیکو ID یا UUID د غوښتنو لپاره

ایا تاسو کله هم د دې په څیر پیغام سره د غوښتنلیک غلطۍ سره مخ شوي یاست: "کومه تیروتنه وشوه. دا ID خوندي کړئ او زموږ د ملاتړ ټیم ته یې واستوئ"?

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
یو ځانګړی پیژندونکی، د ارتباط ID، RayID، یا کوم توپیرونه، یو ځانګړی پیژندونکی دی چې تاسو ته اجازه درکوي د خپل ژوند په اوږدو کې غوښتنه تعقیب کړئ. دا تاسو ته اجازه درکوي په لاګونو کې د غوښتنې ټوله لاره تعقیب کړئ.

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
کاروونکي سیسټم A ته غوښتنه کوي، بیا A د B سره اړیکه لري، کوم چې له C سره اړیکه لري، په X کې ذخیره کوي، او بیا غوښتنه A ته بیرته راستنیږي.

که تاسو په لیرې توګه د مجازی ماشینونو سره وصل شئ او د غوښتنې لاره موندلو هڅه وکړئ (او په لاسي ډول اړیکه ونیسئ کوم چې تلیفونونه کیږي) ، تاسو به لیونی شئ. د یو ځانګړي پیژندونکي درلودل ژوند خورا اسانه کوي. دا یو له ساده شیانو څخه دی چې تاسو یې کولی شئ د وخت خوندي کولو لپاره ترسره کړئ ځکه چې ستاسو خدمت وده کوي.

منځمهاله کچه

دلته مشوره د پخوانیو په پرتله خورا پیچلې ده، مګر سم وسایل دا کار اسانه کوي، حتی د وړو او منځنیو شرکتونو لپاره د پانګونې بیرته راستنیدنه چمتو کوي.

مرکزي ننوتل

مبارک شه! تاسو 100 مجازی ماشینونه ځای په ځای کړي دي. بله ورځ، اجراییه رییس راځي او د یوې غلطۍ په اړه شکایت کوي چې هغه د خدماتو ازموینې پرمهال ترلاسه کړی. دا د اړونده ID راپور ورکوي چې موږ یې پورته په اړه خبرې وکړې، مګر تاسو باید د 100 ماشینونو لاګونه وګورئ ترڅو هغه ومومئ چې د حادثې لامل شوی. او دا باید د سبا پریزنټشن دمخه وموندل شي.

پداسې حال کې چې دا د ساتیرۍ ساہسک په څیر ښکاري، دا غوره ده چې ډاډ ترلاسه کړئ چې تاسو په یو ځای کې د ټولو مجلو لټون کولو وړتیا لرئ. ما د ELK سټیک جوړ شوي فعالیت په کارولو سره د لاګونو مرکزي کولو ستونزه حل کړه: دا د لټون وړ لاګ راټولولو ملاتړ کوي. دا به واقعیا د ځانګړي ژورنال موندلو ستونزې حل کولو کې مرسته وکړي. د بونس په توګه، تاسو کولی شئ چارټونه او د دې په څیر نور ساتیري شیان جوړ کړئ.

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
د ELK سټیک فعالیت

د څارنې استازي

اوس چې ستاسو خدمت پورته او روان دی، تاسو اړتیا لرئ ډاډ ترلاسه کړئ چې دا په اسانۍ سره پرمخ ځي. د دې کولو غوره لاره د څو چلول دي اجنټان، کوم چې په موازي توګه کار کوي او وګوري چې دا کار کوي او لومړني عملیات ترسره کیږي.

په دې وخت کې تاسو دا وګورئ روان جوړونه ښه احساس کوي او ښه کار کوي.

د کوچنیو او منځنیو پروژو لپاره، زه د APIs د څارنې او مستند کولو لپاره پوسټ مین وړاندیز کوم. مګر په عموم کې ، تاسو یوازې غواړئ ډاډ ترلاسه کړئ چې تاسو د پوهیدو لپاره لاره لرئ کله چې یو بند پیښ شوی وي او په وخت سره خبر شئ.

د بار په اساس اتومات اندازه کول

دا خورا ساده دی. که تاسو د VM خدمت کولو غوښتنې لرئ او دا د 80٪ حافظې کارولو ته نږدې کیږي ، تاسو کولی شئ یا یې سرچینې زیاتې کړئ یا کلسټر ته نور VMs اضافه کړئ. د دې عملیاتو اتوماتیک اجرا کول د بار لاندې د لچک لرونکي بریښنا بدلونونو لپاره خورا ښه دي. مګر تاسو باید تل د دې په اړه محتاط اوسئ چې څومره پیسې مصرف کوئ او مناسب حدونه وټاکئ.

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
د ډیری کلاوډ خدماتو سره ، تاسو کولی شئ دا د ډیرو سرورونو یا ډیر ځواکمن سرورونو په کارولو سره په اتوماتیک پیمانه تنظیم کړئ.

د تجربې سیسټم

په خوندي ډول د تازه معلوماتو رامینځته کولو لپاره یوه ښه لاره دا ده چې د یو ساعت لپاره د 1٪ کاروونکو لپاره یو څه ازموینه وکړئ. تاسو، البته، په عمل کې دا ډول میکانیزمونه لیدلي دي. د مثال په توګه، فیسبوک د لیدونکو برخې مختلف رنګ ښیي یا د فونټ اندازه بدلوي ترڅو وګوري چې کاروونکي څنګه بدلونونه درکوي. دې ته د A/B ټیسټینګ ویل کیږي.

حتی د نوي فیچر خوشې کول د تجربې په توګه پیل کیدی شي او بیا ټاکل کیږي چې دا څنګه خوشې کړي. تاسو د "یاد" کولو وړتیا هم ترلاسه کوئ یا په الوتنه کې د هغه فعالیت پراساس تشکیلات بدل کړئ چې ستاسو په خدمت کې د تخریب لامل کیږي.

پرمختللې کچه

دلته لارښوونې دي چې پلي کول خورا ستونزمن دي. تاسو شاید یو څه نورو سرچینو ته اړتیا ولرئ، نو یو کوچنی یا منځنی شرکت به د دې اداره کولو کې سخت وخت ولري.

نیلي - شنه ځای پرځای کول

دا هغه څه دي چې زه یې د افشا کولو "ارنګ" لاره بولم. ایرلنګ په پراخه کچه کارول کیده کله چې د تلیفون شرکتونه څرګند شول. سافټ سویچونه د تلیفون زنګ وهلو لپاره کارول پیل شول. په دې سویچونو کې د سافټویر اصلي هدف دا و چې د سیسټم نوي کولو پرمهال تلیفونونه ونه درول شي. ایرلانګ د پخوانی ماډل له مینځه وړلو پرته د نوي ماډل بارولو ښه لاره لري.

دا مرحله د بار بار توازن شتون پورې اړه لري. راځئ تصور وکړو چې تاسو د خپل سافټویر نسخه N لرئ، او بیا تاسو غواړئ چې نسخه N + 1 ځای په ځای کړئ. 

ولې موږ به و کولای شو یوازې خدمت بند کړئ او راتلونکی نسخه په داسې وخت کې راوباسئ چې ستاسو د کاروونکو لپاره کار کوي او یو څه ځنډ ترلاسه کړئ. مګر فرض کړئ چې تاسو یې لرئ رښتیا د SLA سخت شرایط. نو، SLA 99,99٪ پدې مانا ده چې تاسو کولی شئ آفلاین لاړ شئ یوازې په کال کې 52 دقیقې.

که تاسو واقعیا غواړئ دا ډول شاخصونه ترلاسه کړئ، تاسو په ورته وخت کې دوه ګومارنې ته اړتیا لرئ: 

  • هغه چې همدا اوس دی (N);
  • بل نسخه (N+1). 

تاسو د بار توازن کونکي ته ووایاست چې نوې نسخه (N+1) ته د ترافیک سلنه ریډائریټ کړئ پداسې حال کې چې تاسو په فعاله توګه د راجسټریشن نظارت کوئ.

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
دلته موږ شنه N ګمارنه لرو چې ښه کار کوي. موږ هڅه کوو چې د دې ګمارنې بلې نسخې ته لاړ شو

لومړی موږ واقعیا کوچنۍ ازموینه لیږو ترڅو وګورو چې ایا زموږ د N+1 ګمارنه د لږ مقدار ترافیک سره کار کوي:

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
په نهایت کې ، موږ د اتوماتیک چیکونو سیټ لرو چې موږ په نهایت کې تر هغه وخته پورې چلوو چې زموږ ګمارنه بشپړه شي. که تاسو ډیر ډیر محتاط اوسئ، تاسو کولی شئ د خراب راجستر کیدو په صورت کې د ګړندي رول بیک لپاره د تل لپاره خپل N ګمارنه خوندي کړئ:

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
که تاسو غواړئ حتی پرمختللي کچې ته لاړشئ ، اجازه راکړئ هرڅه په نیلي شنه ګمارنه کې په اوتومات ډول پرمخ بوځي.

د بې نظمۍ کشف او اتوماتیک کمول

د دې په پام کې نیولو سره چې تاسو مرکزي لوګینګ او د لاګ ښه راټولول لرئ، تاسو کولی شئ مخکې له مخکې لوړ اهداف وټاکئ. د مثال په توګه، په فعاله توګه د ناکامیو وړاندوینه. دندې په مانیټرونو او لاګونو کې تعقیب شوي او مختلف ډیاګرامونه جوړ شوي - او تاسو دمخه وړاندوینه کولی شئ چې څه به غلط شي:

څنګه په آرامۍ سره خوب وکړئ کله چې تاسو د بادل خدمت ولرئ: لومړني معماري لارښوونې
یوځل چې ګډوډي وموندل شي ، تاسو د ځینې نښو معاینه کول پیل کوئ چې خدمت چمتو کوي. د مثال په توګه ، د CPU بار کې سپک کیدی شي دا په ګوته کړي چې هارډ ډرایو ناکام دی ، پداسې حال کې چې په غوښتنو کې سپک کیدی شي دا په ګوته کړي چې تاسو اندازه کولو ته اړتیا لرئ. دا ډول احصایوي ډاټا تاسو ته اجازه درکوي چې خدمت فعال کړي.

د دې بصیرت سره، تاسو کولی شئ په هر اړخ کې اندازه کړئ او په فعاله توګه او په فعاله توګه د ماشینونو، ډیټابیسونو، اړیکو او نورو سرچینو ځانګړتیاوې بدل کړئ.

بس نور څه نه!

د لومړیتوبونو دا لیست به تاسو ډیری ستونزې خوندي کړي که تاسو د بادل خدمت پورته کوئ.

د اصلي مقالې لیکوال لوستونکو ته بلنه ورکوي چې خپل نظر پریږدي او بدلون راولي. مقاله د خلاصې سرچینې په توګه توزیع شوې ، د لیکوال لخوا غوښتنې غوښتنه په ګیتوب کې مني.

په موضوع کې نور څه ولولئ:

  1. لاړ شه او CPU کیچ
  2. Kubernetes د پلي کولو لپاره د یوې نمونې سره د سمندري غلو په روح کې
  3. زموږ چینل په ټیلیګرام کې د کوبرنیټس شاوخوا

سرچینه: www.habr.com

Add a comment