د خدمت میش کارولو سناریوګانې

د خدمت میش کارولو سناریوګانې

نوټ. ژباړه: د دې مقالې لیکوال (لوک پرکینز) د CNCF سازمان کې د پراختیا کونکي مدافع وکیل دی ، کوم چې د داسې خلاصې سرچینې پروژې کور دی لکه لینکرډ ، SMI (خدمت میش انٹرفیس) او کوما (په لاره کې ، ایا تاسو هم حیران یاست چې ولې اسټیو دی؟ په دې لیست کې نه دی؟ .) یوځل بیا هڅه کوي د DevOps ټولنې ته د "خدمت میش" په نوم د رجحاني هایپ په اړه ښه پوهاوی راوړي ، هغه د 16 ځانګړتیاو وړتیاو لیست کوي چې دا ډول حلونه چمتو کوي.

نن د خدمت میش - د سافټویر انجینرۍ په برخه کې یو له خورا ګرمو موضوعاتو څخه (او په سمه توګه!). زه فکر کوم چې دا ټیکنالوژي خورا په زړه پوري ده او غواړم وګورم چې دا په پراخه کچه منل شوی (کله چې دا معنی لري ، البته). په هرصورت ، دا لاهم د ډیری خلکو لپاره د اسرار فضا لخوا محاصره دی. په ورته وخت کې، حتی هغه څوک چې ښه پیژندل شوی د دې سره، دا ډیری وختونه ستونزمن وي چې د هغې ګټې بیان کړي او په حقیقت کې دا څه دي (په ریښتیا ستاسو په شمول). پدې مقاله کې به زه هڅه وکړم چې وضعیت د مختلف لیست کولو له لارې سم کړم قضیې کارول "د خدمت میشونه"*.

* یادونه ژباړه: دلته او نور په مقاله کې په سمه توګه دا ژباړه ("خدمت میش") به د نوي اصطلاح خدمت میش لپاره وکارول شي.

مګر لومړی زه غواړم یو څو تبصرې وکړم:

  • ما هیڅکله د خدماتو میشونو سره کار نه دی کړی یا یې زما د زده کړې لپاره پیل شوي پروژې څخه بهر نه دي کارولي. له بلې خوا، زه هغه څوک وم چې په 2015 کې د ټویټر د داخلي خدماتو میش لپاره د اسنادو یوه ډله لیکلې وه (هغه وخت حتی د "خدمت میش" په نوم هم نه و) او د ویب پاڼې په پراختیا او د اسنادو لپاره یې برخه اخیستې وه. لینکرډنو دا یو څه معنی لري.
  • زما لیست تقریبا او نیمګړی دی. ممکن د کارونې قضیې شتون ولري چې ما ته نامعلوم دي، او نوي اختیارونه به د وخت په تیریدو سره رامینځته شي ځکه چې ټیکنالوژي وده کوي او شهرت وده کوي.
  • په ورته وخت کې، د هر موجوده خدمت میش پلي کول د ټولو لیست شوي کارولو قضیو ملاتړ نه کوي. له همدې امله، زما څرګندونې لکه "خدمت میش کولی شي ..." باید د "انفرادي، او شاید ټول مشهور خدمت میش پلي کول ..." په توګه لوستل شي.
  • د مثالونو ترتیب هیڅ توپیر نلري.

لنډ لیست:

  • د خدماتو کشف؛
  • کوډ کول
  • تصدیق او جواز؛
  • د بار توازن؛
  • سرکټ ماتول
  • اتوماتیک کول
  • کانري ځای پرځای کول؛
  • نیلي - شنه ځای پرځای کول؛
  • روغتیا معاینه؛
  • بار بار
  • ترافیک عکسونه؛
  • موصلیت
  • د غوښتنې نرخ محدودیت، بیا هڅه او وخت پای ته رسیدل؛
  • ټیلی میټری
  • پلټنه
  • لید

1. د خدماتو کشف

TL؛ DR: د ساده نومونو په کارولو سره په شبکه کې نورو خدماتو سره وصل شئ.

خدمتونه باید د دې وړ وي چې په اتوماتيک ډول یو بل د مناسب نومونو په کارولو سره "موند" کړي - د مثال په توګه، service.api.production, pets/staging او یا cassandra. د کلاوډ چاپیریال لچک لرونکي دي، او یو واحد نوم کولی شي د خدماتو ډیری مثالونه پټ کړي. دا روښانه ده چې په داسې حالت کې د ټولو IP پتې هارډ کوډ کول په فزیکي توګه ناممکن دي.

برسیره پردې، کله چې یو خدمت بل ومومي، دا باید د دې وړتیا ولري چې دې خدمت ته غوښتنې واستوي پرته له دې چې ویره ولري چې دوی به د مات شوي مثال په داخل کې پای ته ورسیږي. په بل عبارت، د خدماتو میش باید د ټولو خدماتو مثالونو روغتیا څارنه وکړي او د کوربه لیست تر ممکنه حده تازه وساتي.

هر خدمت میش د خدماتو کشف میکانیزم په مختلف ډول پلي کوي. په اوس وخت کې، تر ټولو عام لاره د بهرنیو پروسو لکه Kubernetes DNS ته استازیتوب کول دي. په تیرو وختونو کې په ټویټر کې موږ د دې هدف لپاره د نوم ورکولو سیسټم کارولی فنګل. برسېره پردې، د خدماتو میش ټیکنالوژي دا ممکنه کوي چې د دودیز نومونې میکانیزمونه راڅرګند شي (که څه هم ما تراوسه د داسې فعالیت سره د SM تطبیق ندی لیدلی).

2. کوډ کول

TL؛ DR: د خدماتو تر مینځ د نه کوډ شوي ترافیک څخه ځان خلاص کړئ او دا پروسه اتومات او د توزیع وړ کړئ.

دا ښه ده چې پوه شئ چې برید کونکي نشي کولی ستاسو داخلي شبکې ته ننوځي. فایروالونه پدې کې عالي دنده ترسره کوي. مګر څه پیښیږي که یو هیکر دننه شي؟ ایا هغه به وکولی شي هغه څه وکړي چې د داخلي خدماتو ترافیک سره یې غواړي؟ راځئ هیله مند یو چې وروسته له دې نه پیښیږي. د دې سناریو د مخنیوي لپاره، تاسو باید د صفر باور شبکه پلي کړئ په کوم کې چې د خدماتو ترمنځ ټول ټرافیک کوډ شوی وي. ډیری عصري خدمت میشونه دا د دوه اړخیزو له لارې ترلاسه کوي ټي ایل ایس (متقابل TLS، mTLS). په ځینو حاالتو کې، mTLS په ټولو بادونو او کلسترونو کې کار کوي (زه فکر کوم چې د بین المللي ارتباطاتو به یوه ورځ ورته ترتیب شي).

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

3. تصدیق او اختیار

TL؛ DR: رامینځته کړئ چې غوښتونکی څوک دی او مشخص کړئ چې دوی ته د څه کولو اجازه ورکول کیږي مخکې لدې چې غوښتنه حتی خدمت ته ورسیږي.

خدمتونه اکثرا غواړي پوه شي څوک غوښتنه ترسره کوي (تصدیق)، او د دې معلوماتو په کارولو سره پریکړه کوي چې یو ورکړل شوی ارګان د ترسره کولو اجازه لري (اجازه ورکول). په دې حالت کې، ضمیر "څوک" کولی شي پټ کړي:

  1. نور خدمتونه. دې ته "تصدیق" ویل کیږي ملګری" د مثال په توګه، خدمت web خدمت ته لاسرسی غواړي db. د خدماتو میشونه معمولا دا ډول ستونزې د mTLS په کارولو سره حل کوي: سندونه پدې حالت کې د اړین پیژندونکي په توګه عمل کوي.
  2. ځینې ​​​​انساني کاروونکي. دې ته "تصدیق" ویل کیږي غوښتنه" د مثال په توګه، کارن haxor69 غواړي یو نوی څراغ واخلي. د خدماتو میشونه مختلف میکانیزمونه وړاندې کوي، د بیلګې په توګه د JSON ویب ټوکنونه.

    زموږ څخه ډیری دا د غوښتنلیک کوډ کې ترسره کړي دي. یوه غوښتنه راځي، موږ د میز له لارې ګورو users، کارن ومومئ او پټنوم پرتله کړئ، بیا کالم وګورئ permissions etc د خدمت میش په حالت کې، دا مخکې له دې چې غوښتنه حتی خدمت ته ورسیږي پیښیږي.

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

4. د بار توازن

TL؛ DR: بار د یو ځانګړي نمونې سره سم د خدماتو مثالونو کې توزیع کړئ.

د خدماتو برخه کې "خدمت" ډیری وختونه ډیری ورته مثالونه لري. د مثال په توګه، نن ورځ خدمت cache د 5 نقلونو څخه جوړه ده، او سبا به د دوی شمیر 11 ته لوړ شي. غوښتنې لیږل شوي cache، باید د یو ځانګړي هدف سره سم توزیع شي. د مثال په توګه، ځنډ کم کړئ یا کاري مثال ته د رسیدو احتمال ډیر کړئ. ترټولو عام کارول شوي الګوریتم Round-robin دی، مګر ډیری نور شتون لري - د بیلګې په توګه، وزن لرونکی میتود (وزن شوی) پوښتنې (تاسو کولی شئ غوره موخې وټاکئ)، حلقه ( حلقه ) هش کول (په اپسټریم کوربه کې د دوامداره هش کولو کارول) یا لږترلږه د غوښتنې میتود (د لږو غوښتنو سره مثال ته لومړیتوب ورکول کیږي).

کلاسیک بیلانسونه نورې دندې لري، لکه د HTTP کیشینګ او د DDoS محافظت، مګر دا د ختیځ - لویدیز ټرافيک لپاره خورا اړونده ندي (دا د ډیټا مرکز کې د ټرافیک جریان لپاره - نږدې ژباړونکي.) (د خدماتو میش ځانګړي ساحه). البته، دا اړینه نده چې د بار بیلانس کولو لپاره د خدماتو میش وکاروئ، مګر دا تاسو ته اجازه درکوي د مرکزي کنټرول پرت څخه د هر خدمت لپاره د توازن پالیسي تنظیم او کنټرول کړئ، په دې توګه د شبکې سټیک کې د جلا بار بیلانس چلولو او تنظیم کولو اړتیا له منځه یوسي. .

5. سرکټ ماتول

TL؛ DR: ستونزمن خدمت ته د ترافیک مخه ونیسئ او په بدترین حالتونو کې زیان کنټرول کړئ.

که د کوم دلیل لپاره خدمت نشي کولی د ترافیک سره مقابله وکړي ، د خدماتو میش د دې ستونزې حل کولو لپاره ډیری اختیارونه وړاندې کوي (نور به په مناسبو برخو کې بحث وشي). د سرکټ ماتول د ترافیک څخه د خدماتو منقطع کولو لپاره ترټولو سخت انتخاب دی. په هرصورت، پخپله دا معنی نلري - یو بیک اپ پلان ته اړتیا ده. شاته فشار ورکول کیدی شي (شاته فشار) هغو خدماتو ته چې غوښتنې کوي (یوازې د دې لپاره د خپل خدمت میش ترتیب کول مه هیروئ!)، یا د مثال په توګه، د وضعیت پاڼې سور رنګ کول او کاروونکي د پاڼې بلې نسخې ته د "غورځیدونکي ویل" سره لیږدول ("ټویټر دی ښکته").

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

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

6. اتوماتیک کول

TL؛ DR: د ټاکل شوي معیارونو پراساس د خدماتو مثالونو شمیر زیات یا کم کړئ.

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

د مثال په توګه، Kubernetes د پوډ CPU او د حافظې کارولو پر بنسټ خدمتونه اندازه کوي (زموږ راپور وګورئ"په کبرنیټس کې د اتوماتیک کولو او سرچینو مدیریت"- نږدې ژباړه.)، مګر که تاسو پریکړه وکړئ چې د کوم بل میټریک پراساس اندازه کړئ (زموږ په قضیه کې ، د ترافیک اړوند) ، تاسو به ځانګړي میټریک ته اړتیا ولرئ. مدیریت لکه دغه ښیې چې دا څنګه ترسره کړئ استازي, اسټیټو и Prometheus، مګر پروسه پخپله خورا پیچلې ده. موږ غواړو د خدماتو میش دا ساده کړي ترڅو موږ ته اجازه راکړو چې په ساده ډول شرایط تنظیم کړو لکه "د خدماتو مثالونو شمیر زیات کړئ authکه چیرې د پاتې غوښتنو شمیر په یوه دقیقه کې له حد څخه تیر شي.

7. کانري ځای پرځای کول

TL؛ DR: د کاروونکو په یوه فرعي سیټ کې نوي ځانګړتیاوې یا د خدماتو نسخې ازموینه وکړئ.

راځئ چې ووایو تاسو د SaaS محصول رامینځته کوئ او اراده لرئ چې د هغې نوې نوې نسخه وړاندې کړئ. تاسو دا په سټینګ کې ازموینه وکړه او دا عالي کار وکړ. مګر لاهم په ریښتیني شرایطو کې د هغې د چلند په اړه ځینې اندیښنې شتون لري. په بل عبارت، تاسو اړتیا لرئ چې نوې نسخه د اصلي ستونزو په اړه ازموینه وکړئ پرته له دې چې د کاروونکي باور له خطر سره مخامخ کړي. د کانري ګمارل د دې لپاره عالي دي. دوی تاسو ته اجازه درکوي چې د کاروونکو یوې فرعي برخې ته نوې ځانګړتیا وښیې. دا فرعي برخه ممکن خورا وفادار کارونکي یا هغه کسان ولري چې د محصول وړیا نسخه سره کار کوي ، یا هغه کارونکي چې د "ګیني سور" کیدو هیله یې څرګنده کړې وي.

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

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

TL؛ DR: یو ښه نوی فیچر وړاندې کړئ، مګر چمتو اوسئ چې سمدلاسه هرڅه بیرته واخلئ.

معنی نیلي شنه ځای پرځای کول د نوي "نیلي" خدمت رامینځته کول دي ، دا د زاړه ، "شین" سره موازي پیل کوي. که هر څه په سمه توګه پرمخ ځي او نوی خدمت په ښه توګه ترسره کوي، نو زاړه کولی شي په تدریجي ډول غیر فعال شي. (افسوس، یوه ورځ دا نوی "نیلي" خدمت به د "شنه" برخلیک تکرار کړي او ورک شي ...) نیلي - شنه ځای پرځای کول د کانري څخه توپیر لري پدې کې چې نوي فعالیت پوښي هرڅوک یوځل کاروونکي (نه برخه)؛ دلته ټکی د "خوندي بندر" چمتو کول دي که چیرې یو څه غلط شي.

د خدماتو میشونه د "نیلي" خدمت ازموینې لپاره خورا اسانه لار وړاندې کوي او د ستونزو په صورت کې سمدلاسه کاري "شنه" ته واړوئ. د دې حقیقت یادونه نه کول چې د لارې په اوږدو کې دوی د "نیلي" کار په اړه ډیری معلومات چمتو کوي (لاندې "ټلی میټری" وګورئ) ، کوم چې پدې پوهیدو کې مرسته کوي چې ایا دا د بشپړ عملیاتو لپاره چمتو دی.

نوټ. ژباړه: تاسو کولی شئ په کوبرنیټس کې د مختلف ګمارنې ستراتیژیو په اړه نور معلومات ولولئ (د ذکر شوي کانري په شمول، نیلي/شین او نور) دا مقاله.

9. د روغتیا معاینه

TL؛ DR: تعقیب کړئ چې کوم خدمت مثالونه فعال دي او هغو ته ځواب ووایی چې نور کار نه کوي.

د روغتیا معاینه (روغتیا معاینه) مرسته کوي پریکړه وکړي چې ایا د خدماتو مثالونه د ترافیک منلو او پروسس کولو لپاره چمتو دي. د مثال په توګه، د HTTP خدماتو په صورت کې، د روغتیا معاینه ممکن د پای ټکي ته د GET غوښتنې په څیر ښکاري /health... ځواب 200 OK دا به پدې معنی وي چې مثال صحي دی ، کوم بل - دا چې ترافیک ترلاسه کولو ته چمتو ندي. د خدماتو میشونه تاسو ته اجازه درکوي دواړه طریقې مشخص کړئ چې فعالیت به یې چک شي او فریکونسۍ چې دا چک به ترسره شي. دا معلومات بیا د نورو موخو لپاره کارول کیدی شي - د بیلګې په توګه، د بار توازن او سرکټ ماتولو لپاره.

په دې توګه، د روغتیا معاینه یوازې د کارولو قضیه نه ده، مګر معمولا د نورو اهدافو ترلاسه کولو لپاره کارول کیږي. همچنان ، د روغتیایی معایناتو پایلو پورې اړه لري ، د نورو خدماتو میش اهدافو لپاره بهرنۍ کړنې ممکن اړین وي: د مثال په توګه ، د وضعیت پا pageې تازه کول ، په GitHub کې مسله رامینځته کول ، یا د JIRA ټیکټ ډکول. او د خدماتو میش د دې ټولو اتومات کولو لپاره یو مناسب میکانیزم وړاندې کوي.

10. لوډشیډنګ

TL؛ DR: په کارونې کې د لنډمهاله زیاتوالي په ځواب کې ټرافیک ته لارښوونه وکړئ.

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

11. ترافیک موازي کول / عکس العمل

TL؛ DR: په یوځل کې څو ځایونو ته یوه غوښتنه واستوئ.

ځینې ​​​​وختونه اړتیا شتون لري چې په یوځل کې څو خدماتو ته غوښتنه (یا د غوښتنو ټاکلي انتخاب) واستوئ. یو ځانګړی مثال د تولید ټرافيکي برخه د سټینګ خدمت ته لیږل دي. د اصلي تولید ویب سرور د لاندې سټریم خدمت ته غوښتنه لیږي products.production او یوازې هغه ته. او د خدماتو میش په هوښیارۍ سره دا غوښتنه کاپي کوي او ورته لیږي products.staging، کوم چې د ویب سرور حتی نه پوهیږي.

د اړونده خدماتو میش کارولو قضیه چې د ترافیک موازي کولو په سر کې پلي کیدی شي د راجستریشن ازموینه. پدې کې د خدماتو مختلف نسخو ته ورته غوښتنې لیږل او دا چیک کول شامل دي چې ایا ټولې نسخې ورته چلند کوي. زه لاهم د مدغم ریګریشن ازموینې سیسټم سره د خدماتو میش پلي کولو کې نه یم راغلی لکه توپیر، مګر نظر پخپله هیله مند ښکاري.

12. موصلیت

TL؛ DR: خپل خدمت میش په کوچنیو شبکو کې مات کړئ.

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

برسېره پر دې، ګټې کیدای شي سازماني وي. تاسو ممکن غواړئ خپل خدمتونه د خپل شرکت جوړښت پراساس سبنټ کړئ او پراختیا کونکو ته د ټول خدمت میش په ذهن کې ساتلو لپاره د ادراکي بار څخه خلاص کړئ.

13. د نرخ محدودیت، بیا هڅه کولو او وخت پای ته رسیدو غوښتنه وکړئ

TL؛ DR: تاسو نور اړتیا نلرئ په خپل کوډبیس کې د نایټي - سخت غوښتنې مدیریت دندې شامل کړئ.

دا ټول شیان د کارونې جلا قضیې په پام کې نیول کیدی شي، مګر ما پریکړه وکړه چې دوی د یو عام ځانګړتیا له امله یوځای کړم: دوی د غوښتنې د ژوند دورې مدیریت دندې په غاړه اخلي چې عموما د غوښتنلیک کتابتونونو لخوا اداره کیږي. که تاسو په روبي آن ریلز کې ویب سرور رامینځته کوئ (د خدماتو میش سره نه مدغم شوی) چې له لارې د بیک انډ خدماتو غوښتنه کوي gRPC، غوښتنلیک باید پریکړه وکړي چې څه وکړي که د N غوښتنې ناکام شي. تاسو به دا هم ومومئ چې دا خدمات به د ځانګړي کتابتون په کارولو سره دا پیرامیټرې پروسس او هارډ کوډ کولو لپاره څومره ټرافیک ولري. برسیره پردې، غوښتنلیک باید پریکړه وکړي کله چې د پریښودلو وخت وي او اجازه ورکړي چې غوښتنه پای ته ورسیږي (د وخت په اساس). او د پورته پیرامیټونو د بدلولو لپاره، د ویب سرور باید ودرول شي، بیا تنظیم او بیا پیل شي.

د خدماتو میش ته د دې دندو بندول نه یوازې دا معنی لري چې د خدماتو پراختیا کونکي به د دوی په اړه فکر ونکړي ، بلکه دا هم چې دوی په نړیواله کچه لیدل کیدی شي. که چیرې د خدماتو پیچلې سلسله وکارول شي، ووایه A -> B -> C -> D -> E، د غوښتنې ټول ژوند باید په پام کې ونیول شي. که دنده په C خدمت کې د وخت پای ته رسیدو غزول وي ، نو دا منطقي ده چې دا ټول په یوځل ترسره کړئ ، نه په برخو کې: د خدماتو کوډ تازه کولو سره او تر هغه وخته پورې انتظار کول چې د پل غوښتنه ومنل شي او د CI سیسټم تازه شوی خدمت ځای په ځای کړي.

14. ټیلی میټری

TL؛ DR: د خدماتو څخه ټول اړین (او نه کافي) معلومات راټول کړئ.

ټیلی میټری یوه عمومی اصطلاح ده چی میټریک، توزیع شوی تعقیب، او لاګونه پکې شامل دی. د خدماتو میشونه د ټولو دریو ډوله معلوماتو راټولولو او پروسس کولو میکانیزم وړاندیز کوي. دا هغه ځای دی چې شیان یو څه تیاره کیږي ځکه چې د احتمالي انتخابونو شمیر خورا لوی دی. د میټریکونو راټولولو لپاره شتون لري Prometheus او نور وسایل چې د لوګو راټولولو لپاره کارول کیدی شي روانی, لوکی, Vector او نور. (د مثال په توګه ClickHouse زموږ سره د ننوتو کور د K8s لپاره - نږدې. ژباړه.)د توزیع شوي تعقیب لپاره شتون لري ښکار او همداسی پسی. د هر خدمت میش ممکن د ځینې وسیلو ملاتړ وکړي او نور نه. دا به په زړه پورې وي چې وګورئ ایا پروژه کولی شي ټیلی میټری خلاص کړئ یو څه همغږي چمتو کړئ.

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

  • په CLI کې د یو ځانګړي خدمت څخه tail logs؛
  • د خدماتو میش ډشبورډ څخه د غوښتنو حجم څارنه؛
  • ویشل شوي نښې راټول کړئ او د جیجر په څیر سیسټم ته یې واستوئ.

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

15. پلټنه

TL؛ DR: هغه څوک چې د تاریخ درسونه هیروي دوی به یې تکرار کړي.

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

دا روښانه ده چې پلټنه د ټیلی میټری سره خورا نږدې تړاو لري. توپیر دا دی چې ټیلی میټري معمولا د محصولاتو او تخنیکي بشپړتیا په څیر شیانو سره تړاو لري، پداسې حال کې چې پلټنې کولی شي قانوني او نورو مسلو پورې اړه ولري چې د سخت تخنیکي ساحې څخه بهر ځي (د بیلګې په توګه، د GDPR سره موافقت - د معلوماتو محافظت په اړه د EU عمومي مقررات).

16. مخکتنه

TL؛ DR: اوږد ژوند React.js - د زړه پورې انٹرفیس یوه نه ختمیدونکي سرچینه.

ښایي یو ښه اصطلاح وي، مګر زه نه پوهیږم. زه په ساده ډول د خدماتو میش یا د هغې ځینې برخې ګرافیکي نمایش معنی لرم. پدې لیدونو کې شاخصونه شامل کیدی شي لکه اوسط ځنډونه ، د سایډ کار ترتیب کولو معلومات ، د روغتیا معاینې پایلې ، او خبرتیاوې.

د خدمت پر بنسټ چاپیریال کې کار کول د جلالتمآب مونولیت په پرتله خورا لوړ ادراکي بار لري. نو ځکه، ادراکي فشار باید په هر قیمت کې کم شي. د خدمت میش لپاره یو ساده ګرافیکي انٹرفیس د دې وړتیا سره چې په تڼۍ کلیک وکړئ او مطلوب پایله ترلاسه کړئ د دې ټیکنالوژۍ د شهرت وده لپاره پریکړه کونکی کیدی شي.

په لیست کې شامل نه وو

ما په اصل کې اراده درلوده چې په لیست کې د کارونې یو څو نورې قضیې شاملې کړم، مګر بیا یې پریکړه وکړه چې نه. دلته دوی زما د پریکړې دلایلو سره دي:

  • د څو ډیټا مرکز. زما په اند، دا د کارونې قضیه دومره نه ده لکه څنګه چې د خدماتو میشونو پلي کولو یوه محدوده او ځانګړې ساحه یا د دندو ځینې سیټ لکه د خدماتو کشف.
  • ننوتل او وتلو. دا یوه اړونده سیمه ده، مګر ما خپل ځان محدود کړی دی (شاید په مصنوعي توګه) د "ختیځ لویدیز ټرافيک" کارولو قضیې ته. ننوتل او وتلو د جلا مقالې مستحق دي.

پایلې

د اوس لپاره هم دومره! یوځل بیا، دا لیست خورا خپل سري او ډیری احتمال نیمګړی دی. که تاسو فکر کوئ چې ما یو څه له لاسه ورکړی یا یو څه غلط شوی، مهرباني وکړئ ما سره په ټویټر کې اړیکه ونیسئ (@luckerkins). مهرباني وکړئ د شرافت قواعدو ته درناوی وکړئ.

PS د ژباړونکي څخه

د مقالې لپاره د سرلیک بیلګه د مقالې څخه د عکس پراساس ده "د خدمت میش څه شی دی (او کله یې وکاروئ)؟"(د ګریګوري مک کینن لخوا). دا ښیې چې څنګه د غوښتنلیکونو څخه ځینې فعالیت (شنه کې) د خدماتو میش ته لیږدول شوی چې د دوی ترمینځ اړیکې چمتو کوي (په نیلي کې).

زموږ په بلاګ کې هم ولولئ:

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

د DDoS محافظت ، VPS VDS سرورونو سره د سایټونو لپاره معتبر کوربه توب واخلئ 🔥 د DDoS محافظت، VPS VDS سرورونو سره د باور وړ ویب پاڼې کوربه توب واخلئ | ProHoster