د خدماتو میش ډیټا الوتکه بمقابله کنټرول الوتکه

اې حبره! زه ستاسو پام ته د مقالې ژباړه وړاندې کوم "د خدماتو میش ډیټا الوتکه بمقابله کنټرول الوتکه" لیکوال میټ کلین.

د خدماتو میش ډیټا الوتکه بمقابله کنټرول الوتکه

دا ځل ، ما "غوښتل او ژباړل" د خدماتو میش اجزاو ، ډیټا الوتکه او کنټرول الوتکې توضیحات. دا توضیحات ماته خورا د پوهیدو وړ او په زړه پوري ښکاري ، او تر ټولو مهم د پوهیدو لامل کیږي "آیا دا واقعیا اړینه ده؟"

لکه څنګه چې د "خدمت میش" مفکوره په تیرو دوو کلونو کې په زیاتیدونکې توګه مشهوره شوې ده (اصلي مقاله د اکتوبر 10، 2017) او په فضا کې د ګډون کوونکو شمیر ډیر شوی، ما د ټول په منځ کې د ګډوډۍ زیاتوالی لیدلی دی. د ټیکنالوژۍ ټولنه د مختلف حلونو پرتله کولو او توپیر کولو څرنګوالي په اړه.

وضعیت د ټویټونو لاندې لړۍ لخوا غوره لنډیز دی چې ما په جولای کې لیکلي و:

د خدمت میش ګډوډي #1: لینکرډ ~ = نګینکس ~ = هاپروکسي ~ = سفیر. هیڅ یو یې د اسټیو سره مساوي ندي. Istio یو څه په بشپړه توګه مختلف دی. ۱/

لومړی په ساده ډول د معلوماتو الوتکې دي. دوی پخپله هیڅ نه کوي. دوی باید د یو څه نور لپاره په مزاج کې وي. ۲/

اسټیو د کنټرول الوتکې یوه بیلګه ده چې پرزې سره نښلوي. دا یو بل پرت دی. /پای

مخکینی ټویټونه د مختلفو پروژو یادونه کوي (Linkerd، NGINX، HAProxy، Envoy، او Istio)، مګر خورا مهم د ډیټا الوتکې، خدماتو میش، او کنټرول الوتکې عمومي مفکورې معرفي کوي. پدې پوسټ کې ، زه به یو ګام شاته واخلم او د هغه څه په اړه وغږیږم چې زما د اصطلاحاتو "ډیټا الوتکه" او "کنټرول الوتکه" په لوړه کچه معنی لري ، او بیا به پدې اړه وغږیږم چې څنګه په ټویټونو کې ذکر شوي پروژې باندې شرایط پلي کیږي.

د خدمت میش څه شی دی، واقعیا؟

د خدماتو میش ډیټا الوتکه بمقابله کنټرول الوتکه
شکل 1: د خدمت میش عمومي کتنه

1 انځور د خدمت میش مفهوم په خپل خورا لومړني کچه روښانه کوي. د خدماتو څلور کلسترونه (AD) شتون لري. د هر خدمت مثال د محلي پراکسي سرور سره تړاو لري. ټول د شبکې ترافیک (HTTP، REST، gRPC، Redis، او نور) د یو واحد غوښتنلیک مثال څخه د محلي پراکسي له لارې مناسب بهرني خدماتو کلسترونو ته لیږدول کیږي. په دې توګه، د غوښتنلیک مثال په ټولیزه توګه د شبکې څخه خبر نه دی او یوازې د خپل محلي پراکسي څخه خبر دی. په حقیقت کې، د ویشل شوي سیسټم شبکه له خدمت څخه لیرې شوې.

د معلوماتو الوتکه

د خدماتو میش کې، یو پراکسي سرور چې د غوښتنلیک لپاره ځایی موقعیت لري لاندې دندې ترسره کوي:

  • د خدماتو کشف. ستاسو د غوښتنلیک لپاره کوم خدمتونه / غوښتنلیکونه شتون لري؟
  • روغتیا معاینه کول. ایا د خدماتو مثالونه د خدماتو کشف لخوا بیرته راستانه شوي صحي او د شبکې ترافیک منلو ته چمتو دي؟ پدې کې دواړه فعال (د مثال په توګه غبرګون/روغتیا معاینه) او غیر فعال (د مثال په توګه د 3 پرله پسې 5xx غلطیو کارول د غیر صحي خدماتو حالت د نښې په توګه) روغتیایی معاینات شامل دي.
  • روټینګ. کله چې د REST خدمت څخه "/foo" ته غوښتنه ترلاسه کول، کوم خدمت کلستر ته باید غوښتنه واستول شي؟
  • د بار توازن. یوځل چې د روټینګ پرمهال د خدماتو کلستر غوره شو، کوم خدمت مثال ته باید غوښتنه واستول شي؟ له کوم وخت سره؟ د کوم سرکټ ماتولو ترتیباتو سره؟ که غوښتنه ناکامه شي، ایا دا باید بیا هڅه وشي؟
  • تصدیق او جواز. د راتلونکو غوښتنو لپاره، ایا د زنګ وهلو خدمت د mTLS یا کوم بل میکانیزم په کارولو سره په کریپټوګرافیک ډول پیژندل کیدی شي / اجازه ورکړل شي؟ که چیرې دا پیژندل شوی/مجاز شوی وي، ایا دا اجازه لري چې غوښتل شوي عملیات (د پای ټکی) ته په خدمت کې زنګ ووهي یا یو غیر مستند ځواب بیرته راستانه شي؟
  • مشاهده. تفصيلي احصایې، لاګ/لاګونه، او توزیع شوي ټریس ډیټا باید د هرې غوښتنې لپاره رامینځته شي ترڅو آپریټر کولی شي د توزیع شوي ترافیک جریان او د ډیبګ کولو مسلو د راپورته کیدو په صورت کې پوه شي.

د معلوماتو الوتکه د خدماتو میش کې د ټولو پخوانیو ټکو لپاره مسؤل دی. په حقیقت کې، خدمت ته پراکسي محلي (سایډ کار) د معلوماتو الوتکه ده. په بل عبارت، د معلوماتو الوتکه په مشروط ډول د هرې شبکې پاکټ د نشرولو، لیږلو، او څارنې مسولیت لري چې خدمت ته یا لیږل کیږي.

د کنټرول الوتکه

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

ټول پورته توکي د خدمت میش د کنټرول الوتکې کنټرول لاندې دي. د کنټرول الوتکه د جلا شوي ریاست بې پراکسي سیټ اخلي او په ویشل شوي سیسټم کې یې بدلوي.

زه فکر کوم دلیل چې ډیری تخنیک پوهان د ډیټا الوتکې او کنټرول الوتکې جلا مفکورې مغشوش کوي دا دی چې د ډیری خلکو لپاره د ډیټا الوتکه پیژندل کیږي پداسې حال کې چې د کنټرول الوتکه بهرنۍ / ناپوهه ده. موږ د اوږدې مودې لپاره د فزیکي شبکې روټرونو او سویچونو سره کار کوو. موږ پوهیږو چې کڅوړې / غوښتنې باید د A څخه نقطې B ته لاړ شي او دا چې موږ کولی شو د دې کولو لپاره هارډویر او سافټویر وکاروو. د سافټویر پراکسي نوی نسل په ساده ډول د هغه وسیلو فینسي نسخې دي چې موږ یې د اوږدې مودې لپاره کاروو.

د خدماتو میش ډیټا الوتکه بمقابله کنټرول الوتکه
شکل 2: د انسان کنټرول الوتکه

په هرصورت، موږ د اوږدې مودې لپاره د کنټرول الوتکې کاروو، که څه هم د شبکې ډیری چلونکي ممکن د سیسټم دا برخه د ټیکنالوژۍ برخې سره شریک نه کړي. دلیل ساده دی:
نن ورځ ډیری کنټرول الوتکې کارول کیږي ... موږ.

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

د خدماتو میش ډیټا الوتکه بمقابله کنټرول الوتکه
شکل 3: پرمختللي خدمت میش کنټرول الوتکه

په 3 شکل د خدماتو میش "پراخه" کنټرول الوتکه ښیې. دا د لاندې برخو څخه جوړه ده:

  • انسان: اوس هم یو څوک شته (امید لږ غوسه دی) چې د ټول سیسټم په اړه په لوړه کچه پریکړې کوي.
  • د الوتکې UI کنټرول کړئ: یو شخص د سیسټم کنټرول لپاره د یو ډول کارن انٹرفیس سره اړیکه نیسي. دا کیدای شي ویب پورټل وي، د کمانډ لاین غوښتنلیک (CLI)، یا کوم بل انٹرفیس. د کارن انٹرفیس په کارولو سره ، آپریټر د نړیوال سیسټم تنظیم کولو پیرامیټونو ته لاسرسی لري لکه:
    • د ګمارنې کنټرول، نیلي/شین او/یا تدریجي ترافیک لیږد
    • د تصدیق او اختیار اختیارونه
    • د روټینګ جدول مشخصات، د مثال په توګه کله چې غوښتنلیک A د "/foo" په اړه د معلوماتو غوښتنه کوي څه پیښیږي
    • د بیلانس تنظیمات بار کړئ ، لکه د وخت پای ، بیا هڅه کول ، د سرکټ ماتولو تنظیمات ، او داسې نور.
  • د کاري بار مهالویش: خدمتونه په زیربنا کې د ځینې ډول مهالویش / آرکیسټریشن سیسټم له لارې پرمخ وړل کیږي ، لکه کبرنیټس یا نوماد. مهالویش کونکی د خپل ځایی پراکسي سره د خدماتو بارولو مسؤلیت لري.
  • د خدماتو کشف. کله چې مهالویش د خدماتو مثالونه پیل او ودروي، دا د خدماتو کشف سیسټم ته د روغتیا وضعیت راپور ورکوي.
  • د Sidecar پراکسي ترتیب APIs : محلي پراکسيونه په متحرک ډول د سیسټم له مختلفو برخو څخه حالت استخراجوي چې په نهایت کې د آپریټر مداخلې پرته په پای کې ثابت ماډل کاروي. ټول سیسټم، چې اوس مهال ټول روان خدمت مثالونه او محلي پراکسي سرورونه لري، په نهایت کې په یو اکوسیستم کې بدلیږي. د سفیر نړیوال ډیټا پلان API یوه بیلګه ده چې دا څنګه په عمل کې کار کوي.

په لازمي ډول، د کنټرول الوتکې موخه دا ده چې پالیسي جوړه کړي چې بالاخره به د ډیټا الوتکې لخوا ومنل شي. نور پرمختللي کنټرول الوتکې به د ځینې سیسټمونو ډیرې برخې له آپریټر څخه لرې کړي او لږ لاسي عملیاتو ته اړتیا ولري ، په دې شرط چې دوی سم کار وکړي! ...

د معلوماتو الوتکه او د کنټرول الوتکه. د معلوماتو الوتکه د کنټرول الوتکې لنډیز

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

د اوسنۍ پروژې منظره

د پورته توضیحاتو په پوهیدو سره ، راځئ چې د خدماتو میش پروژې اوسني حالت ته وګورو.

  • د معلوماتو الوتکې: Linkerd, NGINX, HAProxy, Envoy, Traefik
  • د کنټرول الوتکې: Istio، نیلسن، SmartStack

د دې پرځای چې د پورته هرې حل ژورې تحلیل ته لاړ شم ، زه به په لنډه توګه ځینې ټکي په ګوته کړم چې زه باور لرم همدا اوس په ایکوسیستم کې د ډیری ګډوډۍ لامل کیږي.

لینکرډ د 2016 په پیل کې د خدماتو میش لپاره د لومړي ډیټا الوتکې پراکسي سرورونو څخه و او د خدماتو میش ډیزاین ماډل ته یې د پوهاوي او پاملرنې لوړولو عالي دنده ترسره کړې. له هغې څخه شاوخوا 6 میاشتې وروسته، سفیر لینکرډ سره یوځای شو (که څه هم هغه د 2015 له وروستیو راهیسې د لیفټ سره و). Linkerd او Envoy دوه پروژې دي چې ډیری وختونه یې یادونه کیږي کله چې د خدماتو میشونو په اړه بحث کیږي.

اسټیو د می په 2017 کې اعلان شو. د اسټیو پروژې اهداف د پراخ شوي کنټرول الوتکې سره ورته دي چې په کې ښودل شوي 3 شکل. د اسټیو لپاره استازی ډیفالټ پراکسي دی. په دې توګه، اسټیو د کنټرول الوتکه ده، او سفیر د معلوماتو الوتکه ده. په لنډ وخت کې، اسټیو ډیر لیوالتیا رامینځته کړه، او د ډیټا نورو الوتکو د سفیر لپاره د بدیل په توګه ادغام پیل کړ (دواړه لینکرډ او NGINX د اسټیو سره ادغام ښودلی). دا حقیقت چې مختلف ډیټا الوتکې په ورته کنټرول الوتکه کې کارول کیدی شي پدې معنی چې د کنټرول الوتکه او د ډیټا الوتکه اړینه نه ده چې په کلکه سره یوځای شي. یو API لکه د Envoy's generic data plane API کولی شي د سیسټم د دوو برخو ترمنځ پل جوړ کړي.

نیلسن او سمارټ سټیک د کنټرول الوتکې او ډیټا الوتکې جلا کولو نور روښانه کولو کې مرسته کوي. نیلسن د خپل پراکسي په توګه Envoy کاروي او د HashiCorp سټیک پراساس د خدماتو میش لپاره د باور وړ کنټرول الوتکه جوړوي، i.e. کوچی او داسی نور سمارټ سټیک شاید د خدماتو میشونو نوې څپې لومړی و. SmartStack د HAProxy یا NGINX په شاوخوا کې د کنټرول الوتکه جوړوي، د ډیټا الوتکې څخه د خدماتو میش څخه د کنټرول الوتکې د ویشلو وړتیا څرګندوي.

د خدماتو میش سره د مایکرو سرویس جوړښت ډیر او ډیر پام ترلاسه کوي (په سمه توګه!) ، او ډیرې پروژې او پلورونکي پدې لور کار پیل کوي. په راتلونکو څو کلونو کې به موږ د ډیټا الوتکې او کنټرول الوتکې کې ډیری نوښتونه وګورو، په بیله بیا د بیلابیلو برخو مخلوط کول. په نهایت کې ، د مایکرو سرویس جوړښت باید د آپریټر لپاره ډیر شفاف او جادو (؟) شي.
په دې هیله چې لږ خپه شي.

کلیدي لارې

  • د خدماتو میش دوه مختلف برخې لري: د معلوماتو الوتکه او د کنټرول الوتکه. دواړه برخې اړین دي، او د دوی پرته سیسټم به کار ونکړي.
  • هرڅوک د کنټرول الوتکې سره آشنا دي، او پدې وخت کې، د کنټرول الوتکه کیدای شي تاسو وي!
  • د ټولو ډیټا الوتکې د ځانګړتیاوو، فعالیت، ترتیب کولو، او توزیع کولو په اړه یو بل سره سیالي کوي.
  • ټول کنټرول الوتکې په ځانګړتیاو، ترتیب کولو، پراخولو، او د کارولو اسانتیا کې یو بل سره سیالي کوي.
  • یو کنټرول الوتکه کولی شي سم خلاصون او APIs ولري ترڅو ډیری ډیټا الوتکې وکارول شي.

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

Add a comment