Kumvetsetsa ma broker. Kuphunzira zimango zotumizirana mauthenga ndi ActiveMQ ndi Kafka. Mutu 1

Hello aliyense!

Ndinayamba kumasulira kabukhu kakang'ono:
Β«Kumvetsetsa Mauthenga Abwino",
wolemba: Jakub Korab, wosindikiza: O'Reilly Media, Inc., tsiku lofalitsidwa: June 2017, ISBN: 9781492049296.

Kuchokera kuchiyambi cha bukuli:
"... Bukhuli likuphunzitsani momwe mungaganizire machitidwe otumizirana ma broker, kufananiza ndi kusiyanitsa matekinoloje awiri otchuka a broker: Apache ActiveMQ ndi Apache Kafka. Idzalongosola zochitika zogwiritsira ntchito ndi zolimbikitsa zachitukuko zomwe zinapangitsa opanga awo kutenga njira zosiyana kwambiri kumalo omwewo-kutumizirana mauthenga pakati pa machitidwe ndi broker wapakatikati. Tiwona matekinoloje awa kuyambira pansi ndikuwonetsa zotsatira za zisankho zamitundu yosiyanasiyana panjira. Mumvetsetsa mozama zazinthu zonse ziwirizi, kumvetsetsa momwe ziyenera kugwiritsidwira ntchito ndi zomwe siziyenera kugwiritsidwa ntchito, komanso kumvetsetsa zomwe muyenera kuyang'ana mukaganizira zaukadaulo wina wotumizira mauthenga mtsogolo. ... "

Magawo otembenuzidwa mpaka pano:
Mutu 1. Chiyambi
Mutu 3. Kafka

Ndilemba mitu yomalizidwa pamene ikumasuliridwa.

MUTU 1

Mau oyamba

Mauthenga a System-to-system ndi amodzi mwamagawo osadziwika bwino a IT. Monga wopanga kapena womangamanga, mutha kukhala odziwa bwino machitidwe ndi ma database osiyanasiyana. Komabe, ndizotheka kuti mumangodziwa pang'ono momwe matekinoloje otumizirana mameseji amagwirira ntchito. Ngati mukumva chonchi, musadandaule, muli ndi anthu abwino.

Anthu nthawi zambiri amalumikizana pang'ono ndi zida zotumizira mauthenga. Nthawi zambiri amalumikizana ndi makina omwe adapangidwa kalekale, kapena kutsitsa kugawa kuchokera pa intaneti, kuyika mu PROM ndikuyamba kulemba ma code awo. Pambuyo poyendetsa zomangamanga mu PROM, zotsatira zimatha kusakanikirana: mauthenga amatayika chifukwa cha kulephera, kutumiza sikugwira ntchito monga momwe mumayembekezera, kapena ogulitsa "amapachika" opanga anu kapena osatumiza mauthenga kwa ogula.

Zikumveka bwino?

Chochitika chodziwika bwino ndi pomwe nambala yanu yamauthenga imagwira ntchito bwino, pakadali pano. Mpaka itasiya kugwira ntchito. Nthawi imeneyi imapangitsa munthu kukhala wosamala kuti adzimve kuti ndi otetezeka, zomwe zimapangitsa kuti pakhale malamulo ambiri ozikidwa pa zikhulupiriro zabodza zokhudza khalidwe lofunika kwambiri laukadaulo. Zinthu zikayamba kusokonekera, mumayang'anizana ndi chowonadi chovuta: kuti simunamvetse kwenikweni momwe malondawo amakhalira kapena malonda omwe asankhidwa ndi olemba, monga momwe amachitira motsutsana ndi kudalirika, kapena kugulitsana motsutsana ndi scalability yopingasa. .

Popanda kumvetsetsa mozama momwe ma broker amagwirira ntchito, anthu amalankhula mawu omveka bwino pamayendedwe awo otumizirana mauthenga, monga:

  • Dongosolo silidzataya mauthenga
  • Mauthenga adzakonzedwa motsatizana
  • Kuwonjezera ogula kumapangitsa kuti dongosololi likhale lofulumira
  • Mauthenga atumizidwa kamodzi kokha

Tsoka ilo, zina mwa ziganizozi zimachokera ku malingaliro omwe amangogwira ntchito nthawi zina, pamene ena sali olakwika.

Bukhuli likuphunzitsani momwe mungaganizire machitidwe otumizirana mameseji poyerekezera ndi kusiyanitsa matekinoloje awiri otchuka a broker: Apache ActiveMQ ndi Apache Kafka. Idzalongosola zochitika zogwiritsira ntchito ndi zolimbikitsa zachitukuko zomwe zinapangitsa opanga awo kutenga njira zosiyana kwambiri kumalo omwewo-kutumizirana mauthenga pakati pa machitidwe ndi broker wapakatikati. Tiwona matekinoloje awa kuyambira pansi ndikuwonetsa zotsatira za zisankho zamitundu yosiyanasiyana panjira. Mudzamvetsetsa bwino zazinthu zonse ziwirizi, kumvetsetsa momwe ziyenera kugwiritsidwira ntchito ndi zomwe siziyenera kugwiritsidwa ntchito, komanso kumvetsetsa zomwe muyenera kuyang'ana mukaganizira zaukadaulo wina wotumizira mauthenga m'tsogolomu.

Tisanayambe, tiyeni tikambirane zoyambira.

Kodi Messaging System ndi chiyani ndipo chifukwa chiyani ikufunika?

Kuti mapulogalamu awiri azitha kulumikizana wina ndi mnzake, amayenera kufotokozera kaye mawonekedwe. Kufotokozera mawonekedwewa kumaphatikizapo kusankha zoyendera kapena protocol, monga HTTP, MQTT, kapena SMTP, ndikukambirana zamitundu yauthenga yomwe idzasinthidwe pakati pa machitidwe. Izi zitha kukhala njira yokhwima, monga kufotokozera schema ya XML yokhala ndi mtengo wolipira uthenga, kapena ikhoza kukhala yocheperako, monga mgwirizano pakati pa opanga awiri kuti gawo lina la pempho la HTTP lizikhala ndi chozindikiritsa kasitomala .

Malingana ngati maonekedwe a mauthenga ndi ndondomeko yomwe amatumizidwa akugwirizana pakati pa machitidwe, amatha kulankhulana wina ndi mzake popanda kudandaula za kukhazikitsidwa kwa dongosolo lina. Zomwe zili mkati mwa machitidwewa, monga chinenero cha mapulogalamu kapena ndondomeko zomwe zimagwiritsidwa ntchito, zimatha kusintha pakapita nthawi. Malingana ngati mgwirizanowo umasungidwa, kuyanjana kungapitirire popanda kusintha kuchokera kumbali ina. Machitidwe awiriwa amagawidwa bwino (olekanitsidwa) ndi mawonekedwe awa.

Makina otumizirana mameseji nthawi zambiri amakhala ndi mkhalapakati pakati pa makina awiri omwe amalumikizana kuti achepetse (kupatula) wotumiza kwa wolandira kapena wolandira. Pamenepa, njira yotumizira mauthenga imalola wotumizayo kutumiza uthenga popanda kudziwa kumene wolandirayo ali, kaya akugwira ntchito, kapena kuti pali maulendo angati.

Tiyeni tiwone mafananidwe angapo amitundu yamavuto omwe makina otumizira mauthenga amathetsa ndikuwonetsa mawu ofunikira.

Onetsani-ku-Point

Alexandra anapita ku positi ofesi kukatumiza phukusi la Adam. Amapita pa zenera ndikupatsa wogwira ntchitoyo phukusi. Wogwira ntchitoyo akutenga phukusi ndikupatsa Alexandra risiti. Adamu safunikira kukhala kunyumba phukusi likatumizidwa. Alexandra ali ndi chidaliro kuti phukusili lidzaperekedwa kwa Adamu panthawi ina m'tsogolomu ndipo akhoza kupitiriza kuchita bizinesi yake. Patapita nthawi, Adamu analandira phukusi.

Ichi ndi chitsanzo cha chitsanzo cha mauthenga mfundo ndi mfundo. Positi ofesi pano imagwira ntchito ngati njira yogawa mapepala, kuwonetsetsa kuti phukusi lililonse liperekedwa kamodzi. Kugwiritsa ntchito positi kumalekanitsa ntchito yotumiza phukusi kuchokera pakubweretsa phukusi.
M'machitidwe otumizirana mameseji akale, mtundu wa point-to-point umakhazikitsidwa kudzera mizere. Mzerewu umakhala ngati buffer ya FIFO (poyamba, yoyamba) yomwe imatha kulembetsedwa ndi wogula m'modzi kapena angapo. Uthenga uliwonse umaperekedwa kokha kwa m'modzi mwa ogula omwe adalembetsa. Mizere nthawi zambiri imayesa kugawa mauthenga mwachilungamo pakati pa ogula. Wogula m'modzi yekha adzalandira uthengawu.

Mawu oti "chokhazikika" amagwiritsidwa ntchito ponena za mizere. Kudalirika ndi katundu wautumiki womwe umatsimikizira kuti mauthenga amapitirizabe mauthenga popanda olembetsa ogwira ntchito mpaka wogula alembetse pamzere wotumiza uthenga.

Kudalirika nthawi zambiri kumasokonezeka ndi kulimbikira ndipo ngakhale mawu awiriwa amagwiritsidwa ntchito mofanana, amagwira ntchito zosiyanasiyana. Kulimbikira kumatsimikizira ngati mauthenga amalemba uthenga kumtundu wina wosungirako pakati pa kuulandira ndi kuutumiza kwa ogula. Mauthenga otumizidwa pamzere akhoza kupitilirabe kapena ayi.
Mauthenga a mfundo ndi mfundo amagwiritsidwa ntchito pamene nkhaniyo ikufuna kuchitapo kanthu kamodzi pa uthengawo. Zitsanzo zikuphatikizapo kuyika ndalama mu akaunti kapena kumaliza kuitanitsa. Tidzakambirana pambuyo pake chifukwa chake makina otumizirana mameseji paokha sangathe kupereka nthawi imodzi komanso chifukwa chake mizere imatha kupereka chitsimikizo chotumizira. kamodzi.

Wofalitsa-Wolembetsa

Gabriella amayimba nambala ya msonkhano. Pamene ali wolumikizidwa ku msonkhano, amamva zonse zomwe wokamba akunena, pamodzi ndi ena onse omwe akuitana nawo. Akaimba, amaphonya zomwe zikunenedwa. Akalumikizidwanso, amapitiliza kumva zomwe zikunenedwa.

Ichi ndi chitsanzo cha chitsanzo cha mauthenga sindikiza-lembetsa. Kuyitana kwa msonkhano kumakhala ngati njira yowulutsira. Munthu amene akulankhula sasamala kuti ndi anthu angati omwe akuyimba foni - makinawa amaonetsetsa kuti aliyense wolumikizidwa pano amve zomwe zikunenedwa.
M'machitidwe otumizirana mameseji akale, mtundu wa kusindikiza-kulembetsa umakhazikitsidwa kudzera nsonga. Mutu umapereka njira yowulutsira yofanana ndi njira yochitira misonkhano. Pamene uthenga watumizidwa ku mutu, umagawidwa kwa onse olembetsa.

Mitu nthawi zambiri osadalirika (osadalirika). Monga ngati womvera yemwe sangamve zomwe zimanenedwa pamsonkhano wapagulu pomwe womvera asiya kulumikizana, olembetsa mitu amaphonya mauthenga aliwonse omwe amatumizidwa akakhala kuti alibe intaneti. Pachifukwa ichi, tikhoza kunena kuti mitu imapereka chitsimikizo chobweretsa osaposa kamodzi kwa wogula aliyense.

Mauthenga osindikizidwa amagwiritsidwa ntchito nthawi zambiri ngati mauthengawo ali odziwa zambiri ndipo kutayika kwa uthenga umodzi sikunali kofunikira kwenikweni. Mwachitsanzo, mutu ukhoza kutumiza kuwerengera kutentha kuchokera ku gulu la masensa kamodzi pa sekondi. Dongosolo lomwe lili ndi chidwi ndi kutentha komwe kulipo komanso kulembetsa mutu silingadandaule ngati liphonya uthenga - lina lidzafika posachedwa.

mitundu yosakanizidwa

Webusaiti ya sitoloyo imayika mauthenga oyitanitsa "pamzere wauthenga." Wogula wamkulu wa mauthengawa ndi machitidwe akuluakulu. Kuphatikiza apo, makina owerengera ayenera kukhala ndi makope a mauthenga oyitanitsa awa kuti awatsatire. Machitidwe onsewa sangalole kuti mauthenga adutse, ngakhale machitidwewo sakupezeka kwakanthawi. Webusaitiyi sayenera kudziwa machitidwe ena.

Zochitika zogwiritsira ntchito nthawi zambiri zimafuna kuphatikizika kwa kusindikiza-kulembetsa ndi kutumizirana mameseji, monga momwe machitidwe angapo amafunikira kopi ya uthenga ndipo zonse zodalirika ndi kulimbikira zimafunika kuti zisawonongeke uthenga.

Milandu iyi imafuna kopita (nthawi yanthawi zonse ya mizere ndi mitu) yomwe imagawa mauthenga makamaka ngati mutu, kotero kuti uthenga uliwonse utumizidwe kunjira ina yokhudzidwa ndi mauthengawo, komanso momwe dongosolo lililonse lingatanthauzire ogula angapo omwe amalandira omwe akubwera. mauthenga, omwe ali ngati mzere. Mtundu wowerengera pankhaniyi ndi kamodzi kwa wokhudzidwa aliyense. Malo osakanizidwawa nthawi zambiri amafunikira kukhazikika kotero kuti ngati wogula sakhala pa intaneti, mauthenga omwe amatumizidwa panthawiyo amalandiridwa pambuyo poti ogula alumikizanso.

Mitundu yosakanizidwa si yatsopano ndipo imatha kugwiritsidwa ntchito pamakina ambiri otumizira mauthenga, kuphatikiza ActiveMQ (kudzera m'malo ophatikizika kapena ophatikizana omwe amaphatikiza mitu ndi mizere) ndi Kafka (mwachidziwikire, ngati chinthu chofunikira kwambiri pamapangidwe ake).

Tsopano popeza tili ndi mawu ofunikira komanso kumvetsetsa zomwe titha kugwiritsa ntchito mauthenga, tiyeni titsike mwatsatanetsatane.

Kumasulira kwatheka: tele.gg/middle_java

Gawo lotsatira lomasulira: Mutu 3. Kafka

Zipitilizidwa…

Source: www.habr.com

Kuwonjezera ndemanga