РаббитМК објашњено за 5 минута или мање

Данас ћемо видети како да убрзате време учитавања ваших страница асинхроним извршавањем најтеже обраде, а све је то веома једноставно, захваљујући РаббитМК-у.

Стабилност и брзина апликације или веб странице свакако су међу најважнијим факторима за кориснике. Ко никада није напустио сајт пре него што је видео прву страницу јер је требало предуго?

Шта је РаббитМК

РаббитМК је брокер отвореног кода, дистрибуиран и скалабилан за размену порука који служи као посредник за ефикасну комуникацију између произвођача и потрошача.

РаббитМК имплементира протокол за размену порука на нивоу апликације АМКП, који је фокусиран на комуникацију асинхроних порука са гаранцијом испоруке кроз потврде пријема порука од брокера до произвођача и од потрошача до произвођача.

Како ради РаббитХК

На поједностављен начин, РаббитМК дефинише редове у којима ће се чувати поруке које шаљу произвођачи док апликације које конзумирају не добију поруку и обраде је. Омогућава нам да дизајнирамо и имплементирамо дистрибуиране системе, у којима је систем подељен на независне модуле који међусобно комуницирају путем порука.

Као и свака комуникација, потребан нам је продуцент, порука и прималац. У средини торте је РаббитМК, што би било место где порука чека примаоца.

Хајде да боље разумемо како то функционише знајући типове размене које представљају размену порука.

Врсте размене

Путем размене, кад год пошаљемо поруку преко РаббитМК, ми је не шаљемо директно у ред; да би га други системи прочитали, шаљемо га размени, која је одговорна за прослеђивање порука у различите редове.

Слика кредита: ЦлоудАКМП

Типови размене су Директна, Фаноут, Тема и Читаоци.

Директна размена

Претпоставимо да произвођач треба да пошаље поруку о потврди куповине трима потрошачима. То јест, систем треба да комуницира са три друга различита система да би обавио куповину.

Како РаббитМК шаље поруку засебно сваком реду, постоји замах да се ови други системи натерају да директно приме поруку.

  Асиметрично шифровање објашњено за 5 минута или мање

Обично размена прослеђује поруку у редове, али често не желимо да се наше поруке шаљу у све редове. Дакле, постоји неколико услова које можемо применити да би размена успела.

Тако да своју поруку можете послати само једном потрошачу; уместо да се свима пошаље.

Кључ за везивање: Да бисте повезали ред са разменом, потребно је да креирате везу, однос између реда и размене, попут конектора.

Кључ за рутирање: У овом повезивању, такође можемо да креирамо елемент који се зове кључ за рутирање, који је другим речима кључ за прослеђивање наших порука у одређени ред.

Ако имате кључ за рутирање Кс, кључ за рутирање И и кључ за рутирање З, порука са кључем за рутирање И, на пример, ће проћи кроз ред И и бити испоручена директно потрошачу којег сте дефинисали да прими поруку.

На овај начин можемо имати неколико редова повезаних са разменом, али у исто време они такође могу имати различите односе са централама користећи кључеве за рутирање.

Фаноут Екцханге

Када се порука пошаље на централу, она се шаље свим редовима који су повезани са њом. Дакле, ако имате 10 редова повезаних са размјеном фаноут-а, сви редови ће примити поруку која је послата.

Размена тема

То је једна од најфлексибилнијих размена, која нам омогућава да шаљемо поруке према теми. А на основу начина на који именујете кључеве за рутирање, могуће је креирати обрасце правила и односа између система.

На пример: кључ за рутирање (к.*); кључ за рутирање (*.з); кључ за рутирање (*.и.*).

Шта је АКМП у РаббитМК-у

АМКП (Адванцед Мессаге Куеуинг Протоцол) је отворени протокол за размену порука који се користи за дефинисање транспорта порука између више апликација. Сличан је ХТТП и ТЦП протоколима по томе што је протокол на нивоу жице, осим што омогућава асинхрони транспорт.

РаббитМК је одлучио да имплементира АМКП из неколико разлога. Први је тај што је овај протокол описан као стандард за међуверски софтвер, за разлику од ЈМС-а који дефинише АПИ.

Међународни конзорцијум, укључујући велике компаније као што су Ред Хат, Цисцо Системс и Мицрософт, написао је ову АМКП спецификацију. Други је интероперабилност овог протокола, који омогућава било којој апликацији која имплементира АМКП да комуницира са АМКП брокером.

  Како делити више екрана у Мицрософт тимовима

АМКП није једини протокол који користи РаббитМК. Слика испод представља све протоколе, језике и АПИ-је које имплементира и/или подржава РаббитМК.

Најбоље карактеристике РаббитМК-а

Осим што омогућава интеграцију различитих апликација путем порука асинхроно и са различитих локација, РаббитМК нам нуди и друге карактеристике које су га учиниле веома популарним у свету брокера за размену порука:

Поуздано складиштење

РаббитМК укључује неколико функција које му омогућавају да гарантује испоруку поруке. Међу њима, обезбеђује складиштење када ниједан потрошач не може да прими поруку. Омогућава потрошачима да прихвате испоруку поруке како би се уверили да је она успешно обрађена.

Ако обрада не успе, РаббитМК дозвољава да се порука поново стави у ред како би је конзумирала друга инстанца потрошача или да би је поново обрадио исти потрошач који је првобитно није успео када се опорави.

РаббитМК такође гарантује редослед испоруке порука; односно конзумирају се истим редоследом којим су стигли у редове РаббитМК.

Стварање кластера

Иако РаббитМК пружа одличне перформансе обрадом хиљада порука у секунди, понекад мора бити у стању да обради већи број порука без утицаја на перформансе апликације.

За ово, РаббитМК омогућава стварање кластера за хоризонтално скалирање решења, што је транспарентно и за произвођаче и за потрошаче.

Високо доступни редови

У РаббитМК-у, редови се могу реплицирати на више чворова у кластеру, осигуравајући да у случају квара чвора или застоја, брокер може наставити да прима поруке од произвођача и испоручује их одговарајућим потрошачима.

Флексибилно рутирање

У РаббитМК-у, флексибилна правила рутирања се могу дефинисати, чак и пратећи одређени образац, за рутирање порука између размена и редова, путем везивања.

Подршка за више протокола

Осим што подржава АМКП протокол, РаббитМК подржава СТОМП, МКТТ и ХТТП преко додатака. Такође укључује аутентификацију и механизме контроле приступа за компоненте сваког брокера.

Стварни случајеви употребе РаббитМК-а

Најважнији случајеви употребе РаббитМК-а омогућавају гаранцију асинхроности између апликација, смањујући повезивање између апликација, дистрибуцију упозорења и контролу реда послова у позадини.

Међутим, практични случајеви употребе РаббитМК-а су у е-трговини, где се т користи за манипулацију, обраду и прослеђивање ваших продајних налога системима у другим секторима, као што су дистрибуција и издавање фактура.

  8 бесплатних градитеља образаца за вашу веб локацију/апликације

Када обрађујете поруџбине, своју продајну поруку можете проследити дистрибутивном центру и области за фактурисање. У овој шеми све функционише хоризонтално, пратећи асинхрони образац за слање порука, али је често могуће послати акцију у неколико редова.

Следећи претходни пример, ова функција може бити веома корисна када купац обави куповину и производ треба да буде припремљен за дистрибуцију, транспорт и фактурисање.

А пошто је сваки од ових сектора другачији систем, циљ РаббитМК-а је да проследи све ове поруке одговарајућим системима.

Раббит МК алтернативе:

РаббитМК је много једноставнији него што изгледа, а постоји неколико алтернатива које укључују:

#1. ИронМК

ИронМК је супер-брз софтвер за ред поруке. Веома је доступан, издржљив у дизајну и пожељно је за једнократну испоруку. ИронМК је најмоћније решење засновано на облаку за модерну архитектуру апликација.

Подржава редове за гурање, редове за повлачење и дугачке анкете, чиме захтеви за анкетирање остају отворени дуже. Штавише, може да користи више центара података високе доступности, што олакшава скалабилност.

Можете да примените у облаку, на дељеном или наменском хардверу или локално. Такође има низ клијентских библиотека са лако читљивом документацијом.

#2. Апацхе Кафка

Кафка је платформа са јаким присуством у дистрибуираном стримовању догађаја. У својој сржи, Кафка је дизајниран као реплицирани, дистрибуирани, упорни дневник урезивања.

Његова највећа употребљивост је да напаја микросервисе вођене догађајима или апликације за обраду токова великих размера, аутоматски реплицирајући догађаје асинхроно унутар кластера ради толеранције грешака и високе доступности.

#3. Апацхе АцтивеМК

АцтивеМК је вишепротоколски посредник порука заснован на Јави. Са њим можемо да интегришемо апликације користећи АМКП протокол за чекање порука на слоју апликације.

Он имплементира неколико протокола за интеграцију, као што су ЈМС (нативна Јава) и Стомп (који могу да користе ПХП апликације), између осталих.

Поред тога, Амазон има своју „управљану“ верзију под називом Амазон МК, што знатно олакшава коришћење услуге.

Завршне речи

Брокери за размену порука су традиционално били важан део у архитектури организација. Ипак, са повећањем броја корисника који улазе у системе компаније кроз различите канале, потребни су производи који им омогућавају да се хоризонтално скалирају по ниској цени. Омогућавање обраде великог броја порука у секунди.

Овде нова генерација брокера, као што је РаббитМК, постаје све релевантнија у савременим апликацијама, које настоје да понуде високе нивое доступности, поузданости, интероперабилности и перформанси нашим клијентима.

Такође можете истражити неке поуздане РаббитМК хостинг платформе за своју апликацију.