AWS Spot Instances تي اسڪيلبل API جي تعمير

هيلو سڀ! منهنجو نالو Kirill آهي، مان Adapty تي CTO آهيان. اسان جو گهڻو فن تعمير AWS تي آهي، ۽ اڄ مان ڳالهائيندس ته ڪيئن اسان سرور جي قيمتن کي 3 ڀيرا گھٽايو هڪ پيداوار واري ماحول ۾ اسپاٽ مثالن کي استعمال ڪندي، ۽ انهي سان گڏ انهن جي آٽو اسڪيلنگ کي ڪيئن ترتيب ڏيو. پهرين اتي هڪ جائزو هوندو ته اهو ڪيئن ڪم ڪري ٿو، ۽ پوء شروع ڪرڻ لاء تفصيلي هدايتون.

اسپاٽ مثال ڇا آهن؟

جاءِ مثال ٻين AWS صارفين جا سرور آهن جيڪي في الحال بيڪار آهن، ۽ اهي انهن کي وڏي رعايت تي وڪڻن ٿا (ايمازون 90٪ تائين لکي ٿو، اسان جي تجربي ۾ ~ 3x، علائقي، AZ ۽ مثال جي قسم جي لحاظ کان مختلف آهي). انهن جو بنيادي فرق باقاعده ماڻهن کان اهو آهي ته اهي ڪنهن به وقت بند ڪري سگهن ٿا. تنهن ڪري، هڪ ڊگهي وقت تائين اسان اهو سمجهندا هئاسين ته انهن کي ڪنوار ماحول لاءِ استعمال ڪرڻ، يا ڪنهن شيءِ جي ڳڻپ ڪرڻ جي ڪمن لاءِ، وچولي نتيجن سان گڏ S3 يا ڊيٽابيس ۾ محفوظ ڪيو ويو، پر سيلز لاءِ نه. اتي ٽئين پارٽي حل آهن جيڪي توهان کي پيداوار تي اسپاٽ استعمال ڪرڻ جي اجازت ڏين ٿا، پر اسان جي ڪيس لاءِ ڪيترائي ڪچرا آهن، تنهنڪري اسان انهن تي عمل نه ڪيو آهي. مضمون ۾ بيان ڪيل طريقو مڪمل طور تي معياري AWS ڪارڪردگي جي اندر ڪم ڪري ٿو، بغير اضافي اسڪرپٽ، تاج، وغيره.

هيٺيان ڪجھ اسڪرين شاٽ آھن جيڪي ڏيکارين ٿا قيمت جي تاريخ جڳھ جي مثالن لاءِ.

m5.large eu-west-1 (آئرلينڊ) علائقي ۾. قيمت 3 مهينن لاء گهڻو ڪري مستحڪم ٿي چڪي آهي، في الحال 2.9x بچايو.

AWS Spot Instances تي اسڪيلبل API جي تعمير

m5.large in us-east-1 علائقي (N. ورجينيا). قيمت مسلسل 3 مهينن دوران تبديل ٿي رهي آهي، في الحال بچت 2.3x کان 2.8x تائين دستيابي زون جي لحاظ سان.

AWS Spot Instances تي اسڪيلبل API جي تعمير

t3.small in us-east-1 علائقي (N. ورجينيا). قيمت 3 مهينن لاءِ مستحڪم ٿي چڪي آهي، في الحال 3.4x بچايو.

AWS Spot Instances تي اسڪيلبل API جي تعمير

خدمت جي فن تعمير

خدمت جو بنيادي فن تعمير جنهن بابت اسان هن مضمون ۾ ڳالهائينداسين هيٺ ڏنل آريگرام ۾ ڏيکاريل آهي.

AWS Spot Instances تي اسڪيلبل API جي تعمير

ايپليڪيشن لوڊ بيلنس → EC2 ٽارگيٽ گروپ → لچڪدار ڪنٽينر سروس

ايپليڪيشن لوڊ بيلنسر (ALB) هڪ بيلنس جي طور تي استعمال ڪيو ويو آهي، جيڪو EC2 ٽارگيٽ گروپ (TG) ڏانهن درخواستون موڪلي ٿو. TG ALBs جي مثالن تي بندرگاهن کي کولڻ ۽ انهن کي لچڪدار ڪنٽينر سروس (ECS) ڪنٽينرز جي بندرگاهن سان ڳنڍڻ جو ذميوار آهي. ECS AWS ۾ ڪبرنيٽس جو هڪ اينالاگ آهي، جيڪو ڊڪر ڪنٽينرز کي منظم ڪري ٿو.

ھڪڙي مثال ۾ ساڳيا بندرگاھن سان ڪيترائي هلندڙ ڪنٽينر ٿي سگھن ٿا، تنھنڪري اسان انھن کي مقرر ڪري سگھون ٿا. ECS TG کي ٻڌائي ٿو ته اهو هڪ نئون ڪم شروع ڪري رهيو آهي (Kubernetes جي اصطلاحن ۾ هن کي پوڊ سڏيو ويندو آهي)، اهو مثال طور تي مفت بندرگاهن جي جانچ ڪري ٿو ۽ انهن مان هڪ کي شروع ڪيل ڪم لاءِ تفويض ڪري ٿو. TG پڻ باقاعده چيڪ ڪري ٿو ته ڇا مثال ۽ API صحت جي چڪاس استعمال ڪندي ان تي ڪم ڪري رهيا آهن، ۽ جيڪڏهن اهو ڪو مسئلو ڏسي ٿو، اهو اتي درخواستون موڪلڻ بند ڪري ٿو.

EC2 آٽو اسڪيلنگ گروپس + اي سي ايس ظرفيت فراهم ڪندڙ

مٿي ڏنل ڊراگرام EC2 آٽو اسڪيلنگ گروپس (ASG) سروس نه ڏيکاري ٿو. نالي مان توهان سمجهي سگهو ٿا ته اهو اسڪيلنگ مثالن جو ذميوار آهي. جڏهن ته، تازو تائين، AWS وٽ ECS کان هلندڙ مشينن جي تعداد کي منظم ڪرڻ لاءِ تعمير ٿيل صلاحيت نه هئي. ECS اهو ممڪن ڪيو ته ڪمن جي تعداد کي ماپڻ، مثال طور، سي پي يو استعمال، رام يا درخواستن جو تعداد. پر جيڪڏهن ڪم سڀني مفت مثالن تي قبضو ڪيو، ته پوء نئين مشين خودڪار نه ٺاهيا ويا.

ECS Capacity Providers (ECS CP) جي اچڻ سان ھي تبديلي آئي آھي. ھاڻي ECS ۾ ھر ھڪ خدمت ASG سان جڙيل ٿي سگھي ٿي، ۽ جيڪڏھن ڪم ھلندڙ مثالن تي مناسب نه ھجن، ته پوءِ نوان اٿاريا ويندا (پر قائم ڪيل ASG حدن اندر). اهو پڻ مخالف طرف ۾ ڪم ڪري ٿو، جيڪڏهن ECS CP ڪمن کان سواء بيڪار مثالن کي ڏسي، پوء اهو ASG حڪم ڏيندو انهن کي بند ڪرڻ لاء. اي سي ايس سي پي مثالي لوڊ جي ٽارگيٽ فيصد کي بيان ڪرڻ جي صلاحيت رکي ٿو، انهي ڪري ته مشينن جو هڪ خاص تعداد هميشه جلدي اسڪيلنگ جي ڪمن لاءِ مفت آهي؛ مان ان بابت ٿوري دير بعد ڳالهائيندس.

EC2 لانچ ٽيمپليٽ

آخري خدمت جنهن بابت مان ڳالهائيندس تفصيل ۾ وڃڻ کان اڳ هن انفراسٽرڪچر ٺاهڻ بابت آهي EC2 لانچ ٽيمپليٽس. اهو توهان کي هڪ ٽيمپليٽ ٺاهڻ جي اجازت ڏئي ٿو جنهن جي مطابق سڀ مشينون شروع ٿينديون، جيئن ته هر دفعي شروع کان هن کي ٻيهر نه ڏيو. هتي توهان شروع ڪرڻ لاء مشين جو قسم چونڊيو، سيڪيورٽي گروپ، ڊسڪ تصوير ۽ ٻيا ڪيترائي پيٽرولر. توھان پڻ وضاحت ڪري سگھوٿا صارف ڊيٽا جيڪا سڀني لانچ ٿيل مثالن تي اپلوڊ ڪئي ويندي. توھان استعمال ڪري سگھوٿا اسڪرپٽ استعمال ڪندڙ ڊيٽا ۾، مثال طور، توھان ھڪڙي فائل جي مواد کي تبديل ڪري سگھو ٿا ECS ايجنٽ ٺاھ جوڙ.

هن آرٽيڪل لاءِ سڀ کان اهم تشڪيل جي ماپن مان هڪ آهي ECS_ENABLE_SPOT_INSTANCE_DRAINING= سچ. جيڪڏهن هي پيٽرول فعال آهي، ته پوءِ جيئن ئي ECS هڪ سگنل وصول ڪري ٿو ته هڪ جڳهه جو مثال هٽايو پيو وڃي، اهو سڀني ڪمن کي منتقل ڪري ٿو جيڪي ان تي ڪم ڪن ٿا ڊريننگ اسٽيٽس تي. ھن مثال لاءِ ڪو به نئون ڪم نه لڳايو ويندو؛ جيڪڏھن اھي ڪم آھن جيڪي ھاڻي ان تي ھلائڻ چاھين ٿا، اھي منسوخ ڪيا ويندا. بيلنس کان درخواستون به اچڻ بند آهن. مثال ختم ڪرڻ جي اطلاع اصل واقعي کان 2 منٽ اڳ اچي ٿي. تنهن ڪري، جيڪڏهن توهان جي خدمت 2 منٽن کان وڌيڪ ڪمن کي انجام نه ڏئي ٿي ۽ ڊسڪ ۾ ڪجهه به محفوظ نه آهي، ته پوء توهان ڊيٽا کي وڃائڻ کان سواء اسپاٽ مثال استعمال ڪري سگهو ٿا.

ڊسڪ جي حوالي سان - AWS تازو ڪيو اهو ممڪن آهي ته لچڪدار فائل سسٽم (EFS) ECS سان گڏ؛ هن اسڪيم سان، ڊسڪ به رڪاوٽ نه آهي، پر اسان اها ڪوشش نه ڪئي آهي، ڇاڪاڻ ته اصول ۾ اسان کي رياست کي ذخيرو ڪرڻ لاء ڊسڪ جي ضرورت ناهي. ڊفالٽ طور، SIGINT حاصل ڪرڻ کان پوءِ (موڪليو ويو جڏهن ڪو ڪم ڊريننگ اسٽيٽس ڏانهن منتقل ڪيو ويو)، سڀ هلندڙ ڪم 30 سيڪنڊن کان پوءِ بند ڪيا ويندا، جيتوڻيڪ اهي اڃا مڪمل نه ٿيا آهن؛ توهان هن وقت کي تبديل ڪري سگهو ٿا پيٽرول استعمال ڪندي ECS_CONTAINER_STOP_TIMEOUT. مکيه شيء ان کي مقرر ڪرڻ لاء نه آهي 2 منٽ کان وڌيڪ اسپاٽ مشينن لاء.

هڪ خدمت ٺاهڻ

اچو ته بيان ڪيل خدمت ٺاهڻ لاء اڳتي وڌو. عمل ۾، مان اضافي طور تي بيان ڪندس ڪيترن ئي مفيد نقطي جيڪي مٿي ذڪر نه ڪيا ويا آهن. عام طور تي، هي هڪ قدم قدم جي هدايت آهي، پر مان ڪجهه بنيادي يا، ان جي ابتڙ، تمام خاص ڪيسن تي غور نه ڪندس. سڀئي ڪارناما AWS بصري ڪنسول ۾ ڪيا ويندا آهن، پر CloudFormation يا Terraform استعمال ڪندي پروگرام جي طور تي ٻيهر پيدا ڪري سگهجي ٿو. Adapty تي اسان Terraform استعمال ڪندا آهيون.

EC2 لانچ ٽيمپليٽ

هي خدمت مشينن جي هڪ ترتيب ٺاهي ٿي جيڪا استعمال ڪئي ويندي. ٽيمپليٽس EC2 -> مثالن -> لانچ ٽيمپليٽ سيڪشن ۾ منظم ڪيا ويا آهن.

Amazon مشين تصوير (AMI) - ڊسڪ تصوير جي وضاحت ڪريو جنهن سان سڀئي مثال شروع ڪيا ويندا. ECS لاء، اڪثر ڪيسن ۾ اهو استعمال ڪرڻ جي قابل آهي Amazon کان بهتر ڪيل تصوير. اهو باقاعدي طور تي اپڊيٽ ڪيو ويندو آهي ۽ ECS ڪم ڪرڻ لاءِ ضروري هر شي تي مشتمل آهي. موجوده تصوير جي ID کي ڳولڻ لاء، صفحي ڏانھن وڃو Amazon ECS-Optimized AMIs، منتخب ڪريو علائقو جيڪو توھان استعمال ڪري رھيا آھيو ۽ ان لاءِ AMI ID ڪاپي ڪريو. مثال طور، us-east-1 علائقي لاءِ، لکڻ جي وقت موجوده ID آهي ami-00c7c1cf5bdc913ed. هن ID کي شامل ڪيو وڃي مخصوص قدر جي شين ۾.

مثال جو قسم - مثال جو قسم ڏيکاريو. ھڪڙو چونڊيو جيڪو توھان جي ڪم لاء بھترين مناسب آھي.

ڪي جوڙو (لاگ ان) - هڪ سرٽيفڪيٽ بيان ڪريو جنهن سان توهان مثال سان ڳنڍي سگهو ٿا SSH ذريعي، جيڪڏهن ضروري هجي.

نيٽورڪ سيٽنگون - نيٽ ورڪ پيٽرولر بيان ڪريو. نيٽ ورڪنگ پليٽ فارم اڪثر ڪيسن ۾ هڪ مجازي پرائيويٽ ڪلائوڊ (VPC) هجڻ گهرجي. سيڪيورٽي گروپ - توهان جي مثالن لاء سيڪيورٽي گروپ. جيئن ته اسان مثالن جي سامهون هڪ بيلنس استعمال ڪنداسين، آئون هتي هڪ گروپ جي وضاحت ڪرڻ جي صلاح ڪريان ٿو جيڪو صرف بيلنسر کان ايندڙ ڪنيڪشن جي اجازت ڏئي ٿو. اهو آهي، توهان وٽ 2 سيڪيورٽي گروپ هوندا، هڪ بيلنس لاء، جيڪو بندرگاهن 80 (http) ۽ 443 (https) تي ڪٿي به انبائونڊ ڪنيڪشن جي اجازت ڏئي ٿو، ۽ ٻيو مشينن لاء، جيڪو بيلنسر گروپ مان ڪنهن به بندرگاهن تي ايندڙ ڪنيڪشن جي اجازت ڏئي ٿو. . ٻنهي گروپن ۾ ٻاهران ڪنيڪشن کولڻ گهرجن TCP پروٽوڪول استعمال ڪندي سڀني بندرگاهن کي سڀني پتي تي. توهان ٻاهرين ڪنيڪشن لاءِ بندرگاهن ۽ ايڊريس کي محدود ڪري سگهو ٿا، پر پوءِ توهان کي مسلسل نگراني ڪرڻ جي ضرورت آهي ته توهان بند بندرگاهه تي ڪنهن شيءِ تائين رسائي حاصل ڪرڻ جي ڪوشش نه ڪري رهيا آهيو.

اسٽوريج (حجم) - مشينن لاءِ ڊسڪ پيٽرول بيان ڪريو. ڊسڪ جي سائيز AMI ۾ بيان ڪيل کان گھٽ نه ٿي سگھي؛ ECS Optimized لاءِ اھو 30 GiB آھي.

ترقي يافته تفصيل - اضافي پيٽرولر بيان ڪريو.

خريداري جا اختيار - ڇا اسان اسپاٽ مثالن کي خريد ڪرڻ چاهيون ٿا. اسان چاهيون ٿا، پر اسان هن باڪس کي هتي چيڪ نه ڪنداسين؛ اسان ان کي آٽو اسڪيلنگ گروپ ۾ ترتيب ڏينداسين، اتي وڌيڪ اختيار آهن.

IAM مثالي پروفائل - ان ڪردار کي ظاھر ڪيو جنھن سان مثال شروع ڪيا ويندا. مثالن لاءِ ECS ۾ هلائڻ لاءِ، انهن کي اجازتن جي ضرورت آهي، جيڪي عام طور تي ڪردار ۾ مليون آهن ecsInstanceRole. ڪجهه حالتن ۾ اهو ٺاهي سگهجي ٿو، جيڪڏهن نه، پوء هتي دستياب اهو ڪيئن ڪجي. ٺاھڻ کان پوء، اسان ان کي ٽيمپليٽ ۾ اشارو ڪيو.
اڳيون ڪيترائي پيٽرولر آھن، بنيادي طور تي توھان ڇڏي سگھو ٿا ڊفالٽ قدر ھر جڳھ تي، پر انھن مان ھر ھڪ واضح بيان آھي. آئون هميشه EBS-آپٽمائزڊ مثال ۽ T2/T3 لامحدود اختيارن کي فعال ڪريان ٿو جيڪڏهن استعمال ڪيو وڃي ڦاٽڻ لائق مثال.

استعمال ڪندڙ جو ڊيٽا - استعمال ڪندڙ ڊيٽا کي ظاهر ڪريو. اسان فائل کي ايڊٽ ڪنداسين /etc/ecs/ecs.config، جنهن ۾ ECS ايجنٽ جي تشڪيل شامل آهي.
مثال طور استعمال ڪندڙ ڊيٽا ڪهڙي طرح نظر اچن ٿا:

#!/bin/bash
echo ECS_CLUSTER=DemoApiClusterProd >> /etc/ecs/ecs.config
echo ECS_ENABLE_SPOT_INSTANCE_DRAINING=true >> /etc/ecs/ecs.config
echo ECS_CONTAINER_STOP_TIMEOUT=1m >> /etc/ecs/ecs.config
echo ECS_ENGINE_AUTH_TYPE=docker >> /etc/ecs/ecs.config
echo "ECS_ENGINE_AUTH_DATA={"registry.gitlab.com":{"username":"username","password":"password"}}" >> /etc/ecs/ecs.config

ECS_CLUSTER=DemoApiClusterProd - پيٽرولر ظاهر ڪري ٿو ته مثال ڏنل نالي سان ڪلستر سان تعلق رکي ٿو، اهو آهي، هي ڪلستر هن سرور تي پنهنجي ڪمن کي رکڻ جي قابل هوندو. اسان اڃان ڪلسٽر نه ٺاهيو آهي، پر ان کي ٺاهڻ وقت هي نالو استعمال ڪنداسين.

ECS_ENABLE_SPOT_INSTANCE_DRAINING=true - پيٽرولر بيان ڪري ٿو ته جڏهن هڪ سگنل موصول ٿئي ٿو ته هڪ جڳهه مثال کي بند ڪرڻ لاء، ان تي سڀني ڪمن کي ڊريننگ اسٽيٽس ڏانهن منتقل ڪيو وڃي.

ECS_CONTAINER_STOP_TIMEOUT=1m - پيٽرولر بيان ڪري ٿو ته هڪ SIGINT سگنل حاصل ڪرڻ کان پوء، سڀني ڪمن کي قتل ٿيڻ کان پهريان 1 منٽ آهي.

ECS_ENGINE_AUTH_TYPE=docker - پيٽرولر ظاهر ڪري ٿو ته ڊڪر اسڪيم کي اختيار ڪرڻ واري ميڪانيزم طور استعمال ڪيو ويندو آهي

ECS_ENGINE_AUTH_DATA=... - ڪنيڪشن جا پيرا ميٽر پرائيويٽ ڪنٽينر رجسٽري سان، جتي توهان جي ڊاڪر تصويرون محفوظ ٿيل آهن. جيڪڏهن اهو عوامي آهي، ته توهان کي ڪجهه به بيان ڪرڻ جي ضرورت ناهي.

هن آرٽيڪل جي مقصدن لاءِ، مان استعمال ڪندس عوامي تصوير Docker Hub کان، تنهن ڪري وضاحت ڪريو پيٽرول ECS_ENGINE_AUTH_TYPE и ECS_ENGINE_AUTH_DATA ضرورت ناهي.

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

EC2 آٽو اسڪيلنگ گروپ

آٽو اسڪيلنگ گروپ شروعاتي ۽ اسڪيلنگ مثالن جو ذميوار آهي. گروپس EC2 -> آٽو اسڪيلنگ -> آٽو اسڪيلنگ گروپس سيڪشن ۾ منظم ڪيا ويا آھن.

ٽيمپليٽ لانچ ڪريو - اڳوڻي قدم ۾ ٺهيل ٽيمپليٽ چونڊيو. اسان ڊفالٽ ورزن کي ڇڏي ڏيو.

خريداري جا اختيار ۽ مثال جا قسم - ڪلستر لاء مثالن جا قسم بيان ڪريو. Adhere to launch template استعمال ڪري ٿو مثال جو قسم لانچ ٽيمپليٽ مان. خريداري جي اختيارن کي گڏ ڪريو ۽ مثال جا قسم توهان کي لچڪدار طريقي سان ترتيب ڏيڻ جي اجازت ڏئي ٿو مثال جي قسمن. اسان ان کي استعمال ڪنداسين.

اختياري تي-مطالبو بنياد - باقاعده، غير جڳهه مثالن جو تعداد جيڪو هميشه ڪم ڪندو.

تي-مطالبو سيڪڙو مٿي بنيادي - باقاعده ۽ اسپاٽ مثالن جو تناسب، 50-50 برابر طور تي ورهايو ويندو، 20-80 هر باقاعده مثال لاء 4 اسپاٽ وارن کي وڌايو ويندو. هن مثال جي مقصدن لاء، مان ظاهر ڪندس 50-50، پر حقيقت ۾ اسين اڪثر ڪريون ٿا 20-80، ڪن حالتن ۾ 0-100.

مثال جا قسم - هتي توھان بيان ڪري سگھوٿا اضافي قسمن جا مثال جيڪي ڪلستر ۾ استعمال ڪيا ويندا. اسان ان کي ڪڏھن به استعمال نه ڪيو آھي ڇو ته مان اصل ۾ ڪھاڻي جي معنيٰ نه ٿو سمجھان. ٿي سگهي ٿو اهو خاص قسم جي مثالن تي حدن جي ڪري، پر انهن کي آساني سان مدد ذريعي وڌائي سگهجي ٿو. جيڪڏهن توهان اپليڪيشن کي ڄاڻو ٿا، آئون ان کي تبصرن ۾ پڙهڻ لاء خوش ٿيندس)

AWS Spot Instances تي اسڪيلبل API جي تعمير

نيٽ ورڪ - نيٽ ورڪ سيٽنگون، چونڊيو VPC ۽ مشينن لاءِ سبنيٽس، اڪثر ڪيسن ۾ توھان کي چونڊڻ گھرجي سڀ موجود سبنيٽس.

توازن کي وڌايو - بيلنس سيٽنگون، پر اسان اهو الڳ الڳ ڪنداسين، اسان هتي ڪنهن به شيء کي هٿ نه ڪنداسين. صحت جي چڪاس پڻ بعد ۾ ترتيب ڏني ويندي.

گروپ جي ماپ - اسان ڪلستر ۾ مشينن جي تعداد تي حدون ۽ شروع ۾ مشينن جي گهربل تعداد جي نشاندهي ڪريون ٿا. ڪلستر ۾ مشينن جو تعداد ڪڏھن به گھٽ نه ھوندو گھٽ ۾ گھٽ بيان ڪيل ۽ وڌ کان وڌ کان وڌيڪ، جيتوڻيڪ ماپن جي حساب سان اسڪيلنگ ٿيڻ گھرجي.

اسڪيلنگ پاليسين - اسڪيلنگ جا پيرا ميٽر، پر اسان هلندڙ ECS ڪمن جي بنياد تي ماپ ڪنداسين، تنهنڪري اسان بعد ۾ اسڪيلنگ کي ترتيب ڏينداسين.

مثال طور پيماني تي تحفظ - ختم ٿيڻ کان مثالن جو تحفظ جڏهن اسڪيل هيٺ. اسان ان کي فعال ڪريون ٿا ته جيئن ASG مشين کي ختم نه ڪري جنهن ۾ هلندڙ ڪم آهن. ECS ظرفيت فراهم ڪندڙ ان مثالن لاءِ تحفظ کي غير فعال ڪندو جن وٽ ڪم نه آهن.

ٽيگ شامل ڪريو - توھان مثالن لاءِ ٽيگ بيان ڪري سگھو ٿا (ھن لاءِ، ٽيگ نئين مثالن جي چيڪ بڪس کي چيڪ ڪيو وڃي). مان سفارش ڪريان ٿو نالي جي ٽيگ جي وضاحت ڪريو، پوءِ سڀئي مثال جيڪي گروپ ۾ شروع ڪيا ويا آهن انهن جو نالو ساڳيو هوندو، ۽ انهن کي ڪنسول ۾ ڏسڻ آسان آهي.

AWS Spot Instances تي اسڪيلبل API جي تعمير

گروپ ٺاھڻ کان پوءِ ان کي کوليو ۽ Advanced configurations سيڪشن ڏانھن وڃو ڇو نه سڀ آپشنز ٺاھڻ واري مرحلي تي ڪنسول ۾ نظر اچن ٿا.

ختم ڪرڻ واري پاليسي - ضابطا جيڪي حساب ۾ رکيا ويندا آهن جڏهن مثالن کي حذف ڪرڻ. اهي ترتيب ۾ لاڳو ڪيا ويا آهن. اسان عام طور تي هيٺ ڏنل تصوير ۾ استعمال ڪندا آهيون. سڀ کان پهريان، سڀ کان پراڻي لانچ ٽيمپليٽ سان مثالن کي ختم ڪيو ويو آهي (مثال طور، جيڪڏهن اسان AMI کي اپڊيٽ ڪيو، اسان هڪ نئون ورزن ٺاهيو، پر سڀني مثالن کي ان کي تبديل ڪرڻ ۾ منظم ڪيو ويو). پوءِ اهي مثال جيڪي ايندڙ بلنگ ڪلاڪ جي ويجهو آهن چونڊيا ويا آهن. ۽ پوءِ پراڻا چونڊيل آھن لانچ جي تاريخ جي بنياد تي.

AWS Spot Instances تي اسڪيلبل API جي تعمير

ڄاڻڻ لاء: هڪ ڪلستر ۾ سڀني مشينن کي تازه ڪاري ڪرڻ لاء، استعمال ڪرڻ آسان مثال ريفريش. جيڪڏهن توهان هن کي گڏ ڪيو ٿا Lambda فنڪشن سان پوئين قدم کان، توهان وٽ هوندو هڪ مڪمل خودڪار مثال جي تازه ڪاري سسٽم. سڀني مشينن کي اپڊيٽ ڪرڻ کان پهريان، توهان کي لازمي طور تي غير فعال ڪرڻ گهرجي مثال اسڪيل-ان تحفظ گروپ ۾ سڀني مثالن لاءِ. گروپ ۾ ترتيب نه، پر پاڻ کي مشينن کان تحفظ، اهو ڪيو ويندو آهي مثالي انتظام ٽئب تي.

ايپليڪيشن لوڊ بيلنس ۽ EC2 ٽارگيٽ گروپ

بيلنسر سيڪشن EC2 → لوڊ بيلنسنگ → لوڊ بيلنسرز ۾ ٺاهيو ويو آهي. اسان استعمال ڪنداسين ايپليڪيشن لوڊ بيلنس؛ مختلف قسمن جي بيلنسرز جو مقابلو پڙهي سگهجي ٿو خدمت صفحو.

ٻڌائيندڙ - اهو سمجهه ۾ اچي ٿو ته بندرگاهن 80 ۽ 443 ٺاهڻ ۽ 80 کان 443 تائين ريڊائريڪٽ ڪرڻ بعد ۾ بيلنس قاعدن کي استعمال ڪندي.

موجودگيءَ واريون علائقا - اڪثر ڪيسن ۾، اسان هر ڪنهن لاءِ رسائي جا علائقا چونڊون ٿا.

سيڪيورٽي سيٽنگون ترتيب ڏيو - بيلنسر لاءِ SSL سرٽيفڪيٽ هتي اشارو ڪيو ويو آهي، سڀ کان وڌيڪ آسان اختيار آهي هڪ سرٽيفڪيٽ ٺاهيو ACM ۾. اختلافن جي باري ۾ سيڪيورٽي پاليسي ۾ پڙهي سگهجي ٿو دستاويز، توھان ڇڏي سگھوٿا ان کي ڊفالٽ طور چونڊيو ELBSecurityPolicy-2016-08. بيلنس ٺاهڻ کان پوء، توهان ان کي ڏسندا ڊي اين ايس جو نالو، جنهن کي توهان کي پنهنجي ڊومين لاءِ CNAME ترتيب ڏيڻ جي ضرورت آهي. مثال طور، هي اهو ڪيئن آهي Cloudflare ۾.

AWS Spot Instances تي اسڪيلبل API جي تعمير

سيڪيورٽي گروپ - بيلنسر لاءِ سيڪيورٽي گروپ ٺاهيو يا چونڊيو، مون ان بابت وڌيڪ لکيو صرف مٿي EC2 لانچ ٽيمپليٽ → نيٽورڪ سيٽنگون سيڪشن ۾.

ھدف وارو گروپ - اسان ھڪڙو گروپ ٺاھيو آھي جيڪو بيلنس کان مشينن جي درخواستن کي روٽ ڪرڻ جو ذميوار آھي ۽ انھن جي دستيابي کي جانچڻ لاءِ انھن کي مسئلن جي صورت ۾ تبديل ڪرڻ لاءِ. ھدف جو قسم مثال هجڻ گهرجي، پروٽوڪول и پورٽ ڪو به، جيڪڏهن توهان بيلنسر ۽ مثالن جي وچ ۾ رابطي لاءِ HTTPS استعمال ڪريو ٿا، ته پوءِ توهان کي انهن ڏانهن هڪ سرٽيفڪيٽ اپ لوڊ ڪرڻ جي ضرورت آهي. هن مثال جي مقصدن لاء، اسان اهو نه ڪنداسين، اسان صرف بندرگاهه 80 کي ڇڏي ڏينداسين.

صحت جي چڪاس - خدمت جي ڪارڪردگي کي جانچڻ لاءِ پيرا ميٽر. حقيقي خدمت ۾، اها هڪ الڳ درخواست هجڻ گهرجي جيڪا ڪاروباري منطق جي اهم حصن کي لاڳو ڪري ٿي؛ هن مثال جي مقصدن لاءِ، مان ڊفالٽ سيٽنگون ڇڏي ڏيندس. اڳيون، توھان چونڊي سگھو ٿا درخواست جو وقفو، وقت ختم، ڪاميابيءَ جا ڪوڊ، وغيره. اسان جي مثال ۾، اسين ظاھر ڪنداسين ڪامياب ڪوڊ 200-399، ڇاڪاڻ ته ڊاڪر جي تصوير جيڪا استعمال ڪئي ويندي 304 ڪوڊ موٽائي ٿي.

AWS Spot Instances تي اسڪيلبل API جي تعمير

ھدف رجسٽر ڪريو - هتي گروپ لاءِ ڪارون چونڊيل آهن، پر اسان جي صورت ۾ اهو ڪيو ويندو ECS، تنهنڪري اسان صرف هن قدم کي ڇڏي ڏيون ٿا.

ڄاڻڻ لاء: بيلنس جي سطح تي توهان لاگ ان کي فعال ڪري سگهو ٿا جيڪي S3 ۾ محفوظ ڪيا ويندا هڪ خاص فارميٽ. اتان کان اهي تجزياتي لاءِ ٽئين پارٽي جي خدمتن ڏانهن برآمد ڪري سگھجن ٿا، يا توهان سڌو سنئون S3 ۾ ڊيٽا تي SQL سوال ڪري سگهو ٿا. Athena استعمال ڪندي. اهو آسان آهي ۽ بغير ڪنهن اضافي ڪوڊ جي ڪم ڪري ٿو. مان هڪ مخصوص وقت کان پوءِ S3 بالٽ مان لاگز کي هٽائڻ جي سيٽنگ ڪرڻ جي صلاح ڏيان ٿو.

ECS ٽاسڪ جي تعريف

پوئين مرحلن ۾، اسان خدمت جي بنيادي ڍانچي سان لاڳاپيل سڀڪنھن شيء کي پيدا ڪيو؛ ھاڻي اسان اڳتي وڌون ٿا بيان ڪرڻ لاءِ ڪنٽينرز جيڪي اسان لانچ ڪنداسين. اهو ECS → Task Definitions سيڪشن ۾ ڪيو ويندو آهي.

لانچ قسم جي مطابقت - EC2 چونڊيو.

ٽاسڪ جي عملدرآمد IAM ڪردار - چونڊيو ecsTaskExecutionRole. ان کي استعمال ڪندي، لاگ لکيا ويا آهن، رازداري متغير تائين رسائي ڏني وئي آهي، وغيره.

Container Definitions سيڪشن ۾، Container شامل ڪريو تي ڪلڪ ڪريو.

تصوير - پروجيڪٽ ڪوڊ سان تصوير سان ڳنڍيو؛ هن مثال لاءِ آئون ڊڪر هب مان عوامي تصوير استعمال ڪندس bitnami/node-example:0.0.1.

ياداشت جون حدون - ڪنٽينر لاءِ ياداشت جي حد. سخت حد - سخت حد، جيڪڏهن ڪنٽينر مقرر ڪيل قيمت کان ٻاهر نڪري وڃي، ڊاکر مارڻ واري حڪم تي عمل ڪيو ويندو، ڪنٽينر فوري طور تي مري ويندو. نرم حد - نرم حد، ڪنٽينر مقرر ڪيل قيمت کان ٻاهر ٿي سگهي ٿو، پر اهو پيٽرولر حساب ۾ رکيو ويندو جڏهن مشينن تي ڪم رکڻ. مثال طور، جيڪڏهن هڪ مشين ۾ 4 GiB RAM آهي، ۽ هڪ ڪنٽينر جي نرم حد 2048 MiB آهي، ته پوءِ هن مشين ۾ هن ڪنٽينر سان وڌ ۾ وڌ 2 هلندڙ ڪم ٿي سگهن ٿا. حقيقت ۾، 4 GiB RAM 4096 MiB کان ٿورو گھٽ آھي، اھو ڪلستر ۾ ECS Instances ٽيب تي ڏسي سگھجي ٿو. نرم حد سخت حد کان وڌيڪ نه ٿي سگهي. اهو سمجهڻ ضروري آهي ته جيڪڏهن هڪ ڪم ۾ ڪيترائي ڪنٽينر آهن، ته پوء انهن جي حدن جو خلاصو آهي.

پورٽ ميپنگ - اندر ميزبان پورٽ اسان 0 جي نشاندهي ڪريون ٿا، ان جو مطلب آهي ته بندرگاهن کي متحرڪ طور تي لڳايو ويندو ۽ ٽارگيٽ گروپ جي نگراني ڪئي ويندي. ڪنٽينر پورٽ - اهو بندرگاهه جنهن تي توهان جي ايپليڪيشن هلندي آهي اڪثر ڪري execution ڪمانڊ ۾ بيان ڪئي ويندي آهي، يا توهان جي ايپليڪيشن ڪوڊ، Dockerfile وغيره ۾ تفويض ڪئي ويندي آهي. اسان جي مثال لاءِ اسان 3000 استعمال ڪنداسين ڇاڪاڻ ته اهو درج ٿيل آهي Dockerfile استعمال ٿيل تصوير.

صحت جي چڪاس - ڪنٽينر جي صحت جي چڪاس جا پيرا ميٽر، ٽارگيٽ گروپ ۾ ترتيب ڏنل هڪ سان پريشان نه ٿيڻ.

ماحول - ماحولياتي سيٽنگون. سي پي يو يونٽ - ميموري جي حدن وانگر، صرف پروسيسر بابت. هر پروسيسر ڪور 1024 يونٽ آهي، تنهنڪري جيڪڏهن سرور وٽ ڊبل-ڪور پروسيسر آهي ۽ ڪنٽينر 512 تي سيٽ ڪيو ويو آهي، ته پوء هن ڪنٽينر سان 4 ڪم هڪ سرور تي شروع ڪري سگهجن ٿيون. سي پي يو يونٽ هميشه ڪور جي تعداد سان ملن ٿا؛ انهن مان ٿورڙو گهٽ نه ٿي سگهي، جيئن ياداشت جي صورت ۾ آهي.

حڪم - هڪ ڪنٽينر اندر خدمت شروع ڪرڻ لاءِ هڪ حڪم، سڀئي پيرا ميٽرز ڪاما سان الڳ ٿيل آهن. اهو ٿي سگهي ٿو gunicorn، npm، وغيره. جيڪڏهن بيان نه ڪيو ويو آهي، Dockerfile مان CMD هدايت جي قيمت استعمال ڪئي ويندي. اسان اشارو ڪريون ٿا npm,start.

ماحولياتي تبديليون - ڪنٽينر ماحوليات متغير. اهو ٿي سگهي ٿو يا ته سادي متن ڊيٽا يا ڳجھي variables کان رازداري مينيجر يا پيرا ميٽر اسٽور.

اسٽوريج ۽ لاگنگ - هتي اسان CloudWatch لاگس ۾ لاگنگ قائم ڪنداسين (AWS کان لاگس لاءِ هڪ خدمت). هن کي ڪرڻ لاء، صرف خودڪار ترتيب ڏيڻ CloudWatch لاگ چيڪ باڪس کي فعال ڪريو. ٽاسڪ جي تعريف ٺاھڻ کان پوء، لاگز جو ھڪڙو گروپ خودڪار طور تي CloudWatch ۾ ٺاھيو ويندو. ڊفالٽ طور، لاگ ان ۾ ذخيرو ٿيل آهن اڻڄاتل طور تي؛ مان سفارش ڪريان ٿو برقرار رکڻ واري مدت کي تبديل نه ڪريو Never Expire کان گهربل مدت تائين. اهو ڪيو ويو آهي CloudWatch لاگ گروپن ۾، توهان کي موجوده دور تي ڪلڪ ڪرڻ جي ضرورت آهي ۽ هڪ نئون چونڊيو.

AWS Spot Instances تي اسڪيلبل API جي تعمير

ECS ڪلستر ۽ ECS ظرفيت فراهم ڪندڙ

ڪلستر ٺاهڻ لاءِ ECS → ڪلستر سيڪشن ڏانھن وڃو. اسان EC2 Linux + Networking کي ٽيمپليٽ طور چونڊيو.

ڪلستر جو نالو - تمام ضروري، اسان هتي ساڳيو نالو ٺاهيو جيئن لانچ ٽيمپليٽ پيراميٽر ۾ بيان ڪيو ويو آهي ECS_CLUSTERاسان جي صورت ۾ - DemoApiClusterProd. چيڪ ڪريو هڪ خالي ڪلستر ٺاهيو چيڪ باڪس. اختياري طور تي، توهان CloudWatch ۾ خدمتن لاءِ ميٽرڪس ڏسڻ لاءِ ڪنٽينر جي بصيرت کي فعال ڪري سگهو ٿا. جيڪڏھن توھان سڀ ڪجھ صحيح ڪيو، ته پوءِ ECS Instances سيڪشن ۾ توھان ڏسندا مشينون جيڪي ٺاھيون ويون آٽو اسڪيلنگ گروپ ۾.

AWS Spot Instances تي اسڪيلبل API جي تعمير

ٽيب ڏانھن وڃو ظرفيت فراهم ڪندڙ ۽ هڪ نئون ٺاهيو. مون کي توهان کي ياد ڏيارڻ جي ضرورت آهي ته مشينن جي ٺاھڻ ۽ بند ڪرڻ کي ڪنٽرول ڪرڻ جي ضرورت آھي ECS ڪمن جي تعداد تي منحصر آھي. اهو نوٽ ڪرڻ ضروري آهي ته هڪ فراهم ڪندڙ صرف هڪ گروپ کي تفويض ڪري سگهجي ٿو.

خودڪار اسڪيلنگ گروپ - اڳ ۾ ٺهيل گروپ چونڊيو.

منظم اسڪيلنگ - ان کي فعال ڪريو ته جيئن مهيا ڪندڙ خدمت کي ماپ ڪري سگھي.

ھدف جي گنجائش٪ - ڪمن سان ڀريل مشينن جو ڪيترو سيڪڙو اسان کي گهرجي. جيڪڏھن توھان 100٪ بيان ڪريو، پوء سڀ مشينون ھميشه ھلندڙ ڪمن سان مصروف رھنديون. جيڪڏهن توهان 50٪ بيان ڪيو، ته اڌ ڪارٽون هميشه مفت هونديون. انهي صورت ۾، جيڪڏهن لوڊ ۾ تيز ٽپو آهي، نوان ٽيڪسي فوري طور تي مفت ڪارن تائين پهچي ويندا آهن، بغير مثالن جو انتظار ڪرڻ جي بغير.

منظم ختم ٿيڻ جي حفاظت - فعال ڪريو، ھي پيٽرول مهيا ڪندڙ کي اجازت ڏئي ٿو ته ختم ٿيڻ کان مثالن جي تحفظ کي ختم ڪري. اهو تڏهن ٿئي ٿو جڏهن مشين تي ڪو به فعال ڪم نه آهي ۽ ٽارگيٽ جي گنجائش٪ جي اجازت ڏئي ٿو.

اي سي ايس سروس ۽ اسڪيلنگ سيٽ اپ

آخري قدم :) هڪ خدمت ٺاهڻ لاء، توهان کي وڃڻ جي ضرورت آهي اڳ ۾ ٺهيل ڪلستر تي سروسز ٽيب.

لانچ جو قسم - توھان کي ڪلڪ ڪرڻ جي ضرورت آھي سوئچ ڏانھن ظرفيت فراهم ڪرڻ واري حڪمت عملي ۽ اڳ ۾ ٺاھيل مهيا ڪندڙن کي چونڊيو.

AWS Spot Instances تي اسڪيلبل API جي تعمير

ڪم جي تعريف - اڳ ۾ ٺهيل ٽاسڪ جي تعريف ۽ ان جي نظرثاني کي چونڊيو.

سروس جو نالو - مونجهاري کان بچڻ لاءِ، اسان ھميشه ساڳيءَ طرح ٽاسڪ ڊيفينيشن جو اشارو ڪندا آھيون.

خدمت جو قسم - هميشه نقل.

ڪمن جو تعداد - خدمت ۾ فعال ڪمن جو گهربل تعداد. هي پيٽرول اسڪيلنگ ذريعي ڪنٽرول ڪيو ويندو آهي، پر اڃا تائين بيان ڪيو وڃي.

گھٽ ۾ گھٽ صحتمند سيڪڙو и وڌ ۾ وڌ سيڪڙو - مقرري دوران ڪمن جي رويي جو اندازو لڳايو. ڊفالٽ ويلز 100 ۽ 200 آهن، ظاهر ڪن ٿا ته ڊيپلائيمينٽ جي وقت ڪمن جو تعداد ڪيترائي ڀيرا وڌي ويندو، ۽ پوءِ مطلوب قدر ڏانھن موٽندو. جيڪڏهن توهان وٽ 1 ٽاسڪ هلندڙ آهي، منٽ = 0، ۽ وڌ ۾ وڌ = 100، پوءِ ڊيپلائيمينٽ دوران ان کي ماريو ويندو، ۽ ان کان پوءِ هڪ نئون اٿاريو ويندو، اهو آهي، اهو وقت ختم ٿي ويندو. جيڪڏهن 1 ڪم هلي رهيو آهي، منٽ = 50، وڌ ۾ وڌ = 150، ته پوءِ ڊيپلائيمينٽ بلڪل به نه ٿيندي، ڇو ته 1 ڪم کي اڌ ۾ ورهائي يا اڌ ڀيرا وڌائي نٿو سگهجي.

لڳائڻ جو قسم - ڇڏي ڏيو رولنگ اپڊيٽ.

جڳھ جا نمونا - مشينن تي ڪم رکڻ جا ضابطا. ڊفالٽ آهي AZ بيلنسڊ اسپريڊ - هن جو مطلب آهي ته هر نئين ڪم کي نئين مثال تي رکيو ويندو جيستائين مشينون سڀني دستيابي علائقن ۾ اڀريون. اسان عام طور تي BinPack - CPU ۽ Spread - AZ ڪندا آهيون؛ هن پاليسي سان، ڪم هڪ مشين في سي پي يو تي جيترو ممڪن ٿي سگهي رکيا ويندا آهن. جيڪڏهن اهو ضروري آهي ته هڪ نئين مشين ٺاهڻ لاء، اهو هڪ نئين دستيابي زون ۾ پيدا ڪيو ويو آهي.

AWS Spot Instances تي اسڪيلبل API جي تعمير

لوڊ بيلنس جو قسم - چونڊيو ايپليڪيشن لوڊ بيلنس.

خدمت IAM ڪردار - چونڊيو ecsServiceRole.

لوڊ بيلنس جو نالو - اڳ ۾ ٺهيل بيلنس چونڊيو.

صحت جي چڪاس جي مدت - نئين ڪم کي رول آئوٽ ڪرڻ کان پوءِ صحت جي چڪاس ڪرڻ کان اڳ روڪيو، اسان عام طور تي ان کي 60 سيڪنڊن تي سيٽ ڪيو.

بيلنس لوڊ ڪرڻ لاءِ ڪنٽينر - ٽارگيٽ گروپ جو نالو آئٽم ۾، اڳ ۾ ٺهيل گروپ چونڊيو، ۽ هر شيء خودڪار طريقي سان ڀريو ويندو.

AWS Spot Instances تي اسڪيلبل API جي تعمير

خدمت خودڪار اسڪيلنگ - خدمت اسڪيلنگ پيٽرولر. پنهنجي خدمت جي گهربل ڳڻپ کي ترتيب ڏيڻ لاءِ خدمت خودڪار اسڪيلنگ ترتيب ڏيو چونڊيو. اسان ڪمن جو گھٽ ۾ گھٽ ۽ وڌ ۾ وڌ تعداد مقرر ڪيو جڏھن اسڪيلنگ.

سروس آٽو اسڪيلنگ لاءِ IAM ڪردار - چونڊيو AWSServiceRoleForApplicationAutoScaling_ECSService.

خودڪار ڪم اسڪيلنگ پاليسين - ماپڻ جا ضابطا. اتي 2 قسم آهن:

  1. ٽارگيٽ ٽريڪنگ - ٽريڪنگ ٽارگيٽ ميٽرڪ (سي پي يو / رام استعمال يا هر ڪم لاء درخواستن جو تعداد). مثال طور، اسان چاهيون ٿا ته اوسط پروسيسر لوڊ 85٪ هجي، جڏهن اهو وڌيڪ ٿيندو، نوان ڪم شامل ڪيا ويندا جيستائين اهو ٽارگيٽ ويل تائين پهچي. جيڪڏهن لوڊ گهٽ آهي، ته پوءِ ڪم ختم ڪيا ويندا، ان جي برعڪس، جيستائين اسڪيلنگ جي خلاف تحفظ کي فعال نه ڪيو وڃي (اسڪيل ان کي بند ڪريو).
  2. قدم ماپڻ - هڪ خودمختيار واقعي جو ردعمل. هتي توهان ڪنهن به واقعي جي رد عمل کي ترتيب ڏئي سگهو ٿا (CloudWatch الارم)، جڏهن اهو ٿئي ٿو، توهان ڪمن جي مخصوص تعداد کي شامل يا ختم ڪري سگهو ٿا، يا ڪمن جو صحيح تعداد بيان ڪري سگهو ٿا.

ھڪڙي خدمت ۾ ڪيترائي اسڪيلنگ ضابطا آھن، اھو ڪارائتو ٿي سگھي ٿو، بنيادي شيء يقيني بڻائڻ آھي ته اھي ھڪ ٻئي سان تڪرار نه ڪن.

ٿڪل

جيڪڏهن توهان هدايتن تي عمل ڪيو ۽ ساڳيو ڊاکر تصوير استعمال ڪيو، توهان جي خدمت کي هن وانگر هڪ صفحو واپس ڪرڻ گهرجي.

AWS Spot Instances تي اسڪيلبل API جي تعمير

  1. اسان هڪ ٽيمپليٽ ٺاهيو آهي جنهن جي مطابق سروس ۾ سڀ مشينون شروع ڪيون ويون آهن. اسان اهو پڻ سکيو ته مشين کي ڪيئن تازه ڪاري ڪجي جڏهن ٽيمپليٽ تبديل ٿئي ٿي.
  2. اسان اسپاٽ انسٽنٽ اسٽاپ سگنل جي پروسيسنگ کي ترتيب ڏنو آھي، تنھنڪري ان کي حاصل ڪرڻ کان پوءِ ھڪ منٽ اندر، سڀ ھلندڙ ڪم مشين مان ھٽايا وڃن ٿا، تنھنڪري ڪجھ به نه وڃائجي يا رڪاوٽ ٿئي.
  3. اسان بيلنس کي وڌايو ته جيئن مشينن ۾ لوڊ کي ورهايو وڃي.
  4. اسان هڪ خدمت ٺاهي آهي جيڪا جڳهه تي هلندي آهي، جيڪا مشين جي قيمت گھٽائي ٿي 3 ڀيرا.
  5. اسان ٻنھي طرفن ۾ آٽو اسڪيلنگ کي ترتيب ڏنو آھي وڌايل ڪم لوڊ کي سنڀالڻ لاءِ بغير وقت جي خرچن جي.
  6. اسان ظرفيت فراهم ڪندڙ کي استعمال ڪندا آهيون ته جيئن ايپليڪيشن انفراسٽرڪچر (مشين) کي منظم ڪري ۽ نه ٻئي طرف.
  7. اسان عظيم آهيون.

جيڪڏهن توهان وٽ لوڊشيڊنگ ۾ اڳڪٿيون اسپيڪس آهن، مثال طور توهان وڏي اي ميل مهم ۾ اشتهار ڏئي رهيا آهيو، توهان ترتيب ڏئي سگهو ٿا اسڪيلنگ ٽائيم ٽيبل.

توھان پڻ ماپ ڪري سگھوٿا ڊيٽا جي بنياد تي توھان جي سسٽم جي مختلف حصن مان. مثال طور، اسان وٽ ڪارڪردگي آهي انفرادي پروموشنل آڇون موڪلڻ موبائل ايپليڪيشن جا استعمال ڪندڙ. ڪڏهن ڪڏهن هڪ مهم 1M+ ماڻهن ڏانهن موڪلي ويندي آهي. اهڙي ورڇ کان پوء، اتي هميشه API جي درخواستن ۾ هڪ وڏو اضافو آهي، ڇاڪاڻ ته ڪيترن ئي صارفين هڪ ئي وقت ۾ درخواست ۾ لاگ ان ٿيندا آهن. تنهن ڪري جيڪڏهن اسان ڏسون ٿا ته خاص طور تي وڌيڪ معياري اشارا آهن قطار ۾ پروموشنل پش نوٽيفڪيشن موڪلڻ لاءِ، اسان فوري طور تي لوڊ ڪرڻ لاءِ تيار ٿيڻ لاءِ ڪيترائي اضافي مشينون ۽ ڪم شروع ڪري سگهون ٿا.

مون کي خوشي ٿيندي جيڪڏهن توهان مون کي تبصرن ۾ ٻڌايو ته دلچسپ ڪيس استعمال ڪرڻ جا موقعا مثال ۽ اي سي ايس يا اسڪيلنگ بابت ڪجهه.

جلد ئي اتي آرٽيڪل هوندا ته اسان ڪئين هزارين تجزياتي واقعن کي في سيڪنڊ تي پروسيس ڪريون ٿا بنيادي طور تي سرور کان سواءِ اسٽيڪ (پئسن سان) ۽ GitLab CI ۽ Terraform Cloud استعمال ڪندي خدمتن جي ڊيپلائيمينٽ ڪيئن ڪم ڪري ٿي.

اسان جي رڪنيت حاصل ڪريو، اهو دلچسپ ٿيندو!

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

ڇا توھان پيداوار ۾ جڳھ جا مثال استعمال ڪندا آھيو؟

  • 22,2٪ها 6

  • 66,7٪نمبر 18

  • 11,1٪مون انهن جي باري ۾ هڪ آرٽيڪل مان سکيو ۽ انهن کي استعمال ڪرڻ جو منصوبو 3

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

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

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