د پیغام بروکرانو پوهیدل. د ActiveMQ او کافکا سره د پیغام رسولو میکانیزم زده کول. 1 برخه

سلام هر!

ما د یو کوچني کتاب ژباړه پیل کړه:
«د پیغام بروکرانو پوهیدل
لیکوال: جاکوب کوراب، خپرونکی: O'Reilly Media, Inc.، د خپرولو نیټه: جون 2017، ISBN: 9781492049296.

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

تر اوسه ژباړل شوي برخې:
لومړی څپرکی. پیژندنه
دریم څپرکی. کافکا

زه به بشپړ شوي فصلونه پوسټ کړم ځکه چې دوی ژباړل شوي.

دریم څپرکی

پېژندنه

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

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

آشنا ښکاري؟

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

پرته له دې چې د بروکرز کار کولو څرنګوالی ژور پوهاوی وکړي، خلک د دوی د پیغام رسولو سیسټمونو په اړه ښکاري معقول بیانونه کوي، لکه:

  • سیسټم به هیڅکله پیغامونه له لاسه ورکړي
  • پیغامونه به په ترتیب سره پروسس شي
  • د مصرف کونکو اضافه کول به سیسټم ګړندی کړي
  • پیغامونه به یوازې یو ځل وسپارل شي

له بده مرغه، ځینې دا څرګندونې د انګیرنې پر بنسټ دي چې یوازې په ځینو شرایطو کې پلي کیږي، پداسې حال کې چې نور په ساده ډول غلط دي.

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

مخکې لدې چې موږ پیل وکړو ، راځئ چې اساساتو ته لاړ شو.

د پیغام رسولو سیسټم څه شی دی او ولې ورته اړتیا ده؟

د دې لپاره چې دوه غوښتنلیکونه یو له بل سره اړیکه ونیسي، دوی باید لومړی یو انٹرفیس تعریف کړي. د دې انٹرفیس تعریف کول د ټرانسپورټ یا پروتوکول غوره کول شامل دي لکه HTTP، MQTT، یا SMTP، او د پیغام فارمیټونو خبرې اترې چې د سیسټمونو ترمنځ به تبادله شي. دا ممکن یوه سخته پروسه وي، لکه د پیغام پیلولو لګښت اړتیاو سره د XML سکیما تعریف کول، یا دا ممکن خورا لږ رسمي وي، لکه د دوو پراختیا کونکو ترمنځ موافقه چې د HTTP غوښتنې ځینې برخه به د پیرودونکي پیژندونکي ولري.

تر هغه وخته چې د پیغامونو بڼه او هغه ترتیب چې دوی لیږل کیږي د سیسټمونو ترمنځ مطابقت لري، دوی کولی شي د یو بل سره اړیکه ونیسي پرته له دې چې د بل سیسټم پلي کولو په اړه اندیښنه ولري. د دې سیسټمونو داخلي، لکه د پروګرام کولو ژبه یا چوکاټ کارول کیدی شي د وخت په تیریدو سره بدلون ومومي. تر هغه چې تړون پخپله ساتل کیږي، تعامل د بل لوري له بدلون پرته دوام کولی شي. دوه سیسټمونه په مؤثره توګه د دې انٹرفیس لخوا جلا شوي (جلا شوي).

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

راځئ چې د هغه ډول ستونزو لپاره یو څو مشابهت وګورو چې د پیغام رسولو سیسټم حل کوي او ځینې لومړني شرایط معرفي کوي.

ټکی تر ټکي

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

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

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

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

خپرونکی - پیرودونکي

ګابریلا د کنفرانس شمیره ډایل کوي. پداسې حال کې چې هغه په ​​​​کنفرانس پورې تړلې ده، هغه هر هغه څه اوري چې سپیکر یې وايي، د نورو زنګونو ګډون کوونکو سره. کله چې هغه غږ کوي، هغه څه له لاسه ورکوي چې ویل شوي. کله چې بیا وصل شي ، هغه اوریدلو ته دوام ورکوي چې څه ویل کیږي.

دا د پیغام رسولو بیلګه ده خپرول - ګډون. د کنفرانس بلنه د نشر میکانیزم په توګه کار کوي. هغه څوک چې خبرې کوي پروا نه کوي چې اوس مهال څومره خلک په تلیفون کې دي - سیسټم ډاډ ورکوي چې هرڅوک چې اوس مهال وصل دی هغه به اوري چې څه ویل کیږي.
په کلاسیک پیغام رسولو سیسټمونو کې، د خپرولو-سبسکرایب پیغام رسولو ماډل له لارې پلي کیږي موضوعات. موضوع د کانفرانس میکانیزم په څیر ورته نشراتي میتود چمتو کوي. کله چې یوې موضوع ته پیغام لیږل کیږي، دا ویشل کیږي د ټولو ګډون کونکو کاروونکو لپاره.

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

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

هایبرډ ماډلونه

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

د کارولو قضیې ډیری وختونه د خپریدو-سبسکرایب او پوائنټ-ټو-پوائنټ پیغام رسولو ماډلونو ترکیب ته اړتیا لري ، لکه کله چې ډیری سیسټمونه د پیغام کاپي ته اړتیا لري او د پیغام له لاسه ورکولو مخنیوي لپاره اعتبار او دوام دواړه اړین دي.

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

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

اوس چې موږ یو څه لومړني اصطلاحات لرو او د هغه څه په اړه پوهه لرو چې موږ د پیغام رسولو سیسټم کارولی شو ، راځئ چې توضیحاتو ته ورشو.

ژباړه ترسره شوه: tele.gg/midle_java

لاندې ژباړل شوې برخه: دریم څپرکی. کافکا

نور بیا…

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

Add a comment