{"id":38171,"date":"2019-10-31T22:22:03","date_gmt":"2019-10-31T19:22:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1\/"},"modified":"2019-10-31T22:22:03","modified_gmt":"2019-10-31T19:22:03","slug":"ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","title":{"rendered":"\u00dczenetbr\u00f3kerek meg\u00e9rt\u00e9se. Az \u00fczenetek cser\u00e9j\u00e9nek mechanik\u00e1j\u00e1nak tanulm\u00e1nyoz\u00e1sa az ActiveMQ \u00e9s a Kafka seg\u00edts\u00e9g\u00e9vel. 1. fejezet","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Mindenkinek szia!<\/p>\n<p>Elkezdtem ford\u00edtani egy kisebb k\u00f6nyvet:<br \/>\n\u201e<b><noindex><a rel=\"nofollow\" href=\"https:\/\/www.oreilly.com\/library\/view\/understanding-message-brokers\/9781492049296\/\">\u00dczenetkezel\u0151 rendszerek meg\u00e9rt\u00e9se<\/a><\/noindex><\/b>&#171; <br \/>\nszerz\u0151: Jakub Korab, kiad\u00f3: O'Reilly Media, Inc., megjelen\u00e9s d\u00e1tuma: 2017 j\u00fanius, ISBN: 9781492049296.<\/p>\n<p>A k\u00f6nyv bevezet\u0151j\u00e9b\u0151l:<br \/>\n\u201e\u2026 <i>Ez a k\u00f6nyv megtan\u00edt arra, hogy hogyan gondolkodj a brokers alap\u00fa \u00fczenetkezel\u0151 rendszerekr\u0151l, \u00f6sszehasonl\u00edtva \u00e9s szembe\u00e1ll\u00edtva k\u00e9t n\u00e9pszer\u0171 broker technol\u00f3gi\u00e1t: az Apache ActiveMQ-t \u00e9s az Apache Kafk\u00e1t. P\u00e9ld\u00e1kat fogunk bemutatni \u00e9s olyan fejleszt\u00e9si \u00f6szt\u00f6nz\u0151ket, amelyek elt\u00e9r\u0151 megk\u00f6zel\u00edt\u00e9sekhez vezettek a kommunik\u00e1ci\u00f3 ezen ter\u00fclet\u00e9n \u2014 \u00fczenetek k\u00f6zvet\u00edt\u00e9s\u00e9re rendszerek k\u00f6z\u00f6tt egy k\u00f6ztes broker seg\u00edts\u00e9g\u00e9vel. Ezeket a technol\u00f3gi\u00e1kat a null\u00e1r\u00f3l fogjuk vizsg\u00e1lni, \u00e9s kiemelj\u00fck a k\u00fcl\u00f6nb\u00f6z\u0151 tervez\u00e9si lehet\u0151s\u00e9gek hat\u00e1s\u00e1t ezen az \u00faton. M\u00e9lyrehat\u00f3 meg\u00e9rt\u00e9st fogsz kapni mindk\u00e9t term\u00e9kr\u0151l, arr\u00f3l, hogy mik\u00e9nt kell \u00e9s nem kell \u0151ket haszn\u00e1lni, \u00e9s arr\u00f3l is, hogy mire \u00e9rdemes figyelni m\u00e1s \u00fczenetkezel\u0151 technol\u00f3gi\u00e1k vizsg\u00e1latakor a j\u00f6v\u0151ben.<\/i> \u2026\u201e<\/p>\n<p>Az eddig leford\u00edtott r\u00e9szek:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466385\">1. fejezet. Bevezet\u00e9s<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">3. fejezet. Kafka<\/a><\/noindex><\/p>\n<p>Ahogy haladok a ford\u00edt\u00e1ssal, publik\u00e1lni fogom a k\u00e9sz fejezeteket.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>FEJEZET 1<\/h2>\n<p><\/p>\n<h2>Bevezet\u00e9s<\/h2>\n<p>\nA rendszerek k\u00f6zti \u00fczenetv\u00e1lt\u00e1s az egyik legkev\u00e9sb\u00e9 meg\u00e9rtett IT ter\u00fclet. Fejleszt\u0151k\u00e9nt vagy architektak\u00e9nt nagyon j\u00f3l ismerheted a k\u00fcl\u00f6nb\u00f6z\u0151 keretrendszereket \u00e9s adatb\u00e1zisokat. Ugyanakkor val\u00f3sz\u00edn\u0171, hogy csak fel\u00fcletes ismereteid vannak arr\u00f3l, hogyan m\u0171k\u00f6dnek a broker alap\u00fa \u00fczenetkezel\u0151 technol\u00f3gi\u00e1k. Ha te is \u00edgy \u00e9rzed, ne agg\u00f3dj, j\u00f3 t\u00e1rsas\u00e1gban vagy.<\/p>\n<p>Az emberek \u00e1ltal\u00e1ban nagyon korl\u00e1tozott m\u00e9rt\u00e9kben \u00e9rintkeznek az \u00fczenetkezel\u0151 infrastrukt\u00far\u00e1val. Gyakran csatlakoznak egy r\u00e9gen l\u00e9trehozott rendszerhez, vagy t\u00f6ltenek le egy disztrib\u00faci\u00f3t az internetr\u0151l, telep\u00edtik azt a PROM-ba, \u00e9s elkezdenek al\u00e1 k\u00f3dot \u00edrni. Miut\u00e1n a PROM-ban elind\u00edtott\u00e1k az infrastrukt\u00far\u00e1t, az eredm\u00e9nyek vegyesek lehetnek: \u00fczenetek elveszt\u00e9se le\u00e1ll\u00e1sok eset\u00e9n, az \u00fczenetk\u00fcld\u00e9s nem m\u0171k\u00f6dik \u00fagy, ahogy elv\u00e1rtad, vagy a broker-ek \u201efelf\u00fcggesztik\u201d a producerjeidet, vagy nem k\u00fcldenek \u00fczeneteket a fogyaszt\u00f3idnak.<\/p>\n<p>Ismer\u0151s\u00fcl hangzik?<\/p>\n<p>Gyakori forgat\u00f3k\u00f6nyv, amikor a \u00fczenetk\u00fcld\u0151 k\u00f3dod remek\u00fcl m\u0171k\u00f6dik egy ideig. Am\u00edg egyszer csak meg nem \u00e1ll. Ez az id\u0151szak \u00e1lmoss\u00e1 teszi a figyelmet, \u00e9s hamis biztons\u00e1g\u00e9rzetet ad, ami tov\u00e1bbi k\u00f3dhoz vezet, amely hamis elk\u00e9pzel\u00e9seken alapul a technol\u00f3gia alapvet\u0151 viselked\u00e9s\u00e9r\u0151l. Amikor valami elkezd nem stimmelni, szembes\u00fclsz a kellemetlen igazs\u00e1ggal: val\u00f3j\u00e1ban nem \u00e9rtetted meg a term\u00e9k alapvet\u0151 viselked\u00e9s\u00e9t vagy az \u00edr\u00f3k \u00e1ltal v\u00e1lasztott kompromisszumokat, mint p\u00e9ld\u00e1ul a teljes\u00edtm\u00e9ny a megb\u00edzhat\u00f3s\u00e1g ellen, vagy a tranzakcionalit\u00e1s a horizont\u00e1lis sk\u00e1l\u00e1zhat\u00f3s\u00e1g ellen.<\/p>\n<p>M\u00e9ly meg\u00e9rt\u00e9s n\u00e9lk\u00fcl arr\u00f3l, hogyan m\u0171k\u00f6dnek a br\u00f3kerek, az emberek l\u00e1tsz\u00f3lag \u00e9sszer\u0171 \u00e1ll\u00edt\u00e1sokat tesznek \u00fczenetk\u00fcld\u0151 rendszereikr\u0151l, mint p\u00e9ld\u00e1ul:<\/p>\n<ul>\n<li>A rendszer soha nem vesz\u00edt el \u00fczeneteket<\/li>\n<li>Az \u00fczeneteket soronk\u00e9nt dolgozz\u00e1k fel<\/li>\n<li>Fogyaszt\u00f3k hozz\u00e1ad\u00e1sa gyorsabb\u00e1 teszi a rendszert<\/li>\n<li>Az \u00fczeneteket csak egyszer fogj\u00e1k k\u00e9zbes\u00edteni<\/li>\n<\/ul>\n<p>\nSajnos ezek k\u00f6z\u00fcl n\u00e9h\u00e1ny \u00e1ll\u00edt\u00e1s felt\u00e9telez\u00e9seken alapul, amelyek csak bizonyos k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt \u00e9rv\u00e9nyesek, m\u00edg m\u00e1sok egyszer\u0171en t\u00e9vesek.<\/p>\n<p>Ez a k\u00f6nyv megtan\u00edt arra, hogy a br\u00f3kerek alap\u00fa \u00fczenetk\u00fcld\u0151 rendszerekr\u0151l gondolkodj, \u00f6sszehasonl\u00edtva \u00e9s szembe\u00e1ll\u00edtva k\u00e9t n\u00e9pszer\u0171 br\u00f3ker technol\u00f3gi\u00e1t: az Apache ActiveMQ-t \u00e9s az Apache Kafka-t. Itt esettanulm\u00e1nyokat \u00e9s fejleszt\u00e9si \u00f6szt\u00f6nz\u0151ket ismertet\u00fcnk, amelyek miatt a fejleszt\u0151k teljesen k\u00fcl\u00f6nb\u00f6z\u0151 megk\u00f6zel\u00edt\u00e9seket alkalmaztak ugyanarra a ter\u00fcletre \u2013 az \u00fczenetek k\u00f6zvet\u00edt\u00e9s\u00e9re a rendszerek k\u00f6z\u00f6tt egy k\u00f6zvet\u00edt\u0151 br\u00f3ker seg\u00edts\u00e9g\u00e9vel. Ez\u00e9rt ezeket a technol\u00f3gi\u00e1kat null\u00e1r\u00f3l fogjuk megvizsg\u00e1lni, \u00e9s kiemelj\u00fck a k\u00fcl\u00f6nb\u00f6z\u0151 tervez\u00e9si lehet\u0151s\u00e9gek hat\u00e1s\u00e1t ezen az \u00faton. M\u00e9ly meg\u00e9rt\u00e9st ny\u00fajt mindk\u00e9t term\u00e9kr\u0151l, meg\u00e9rtve, hogyan kell \u00e9s nem kell \u0151ket haszn\u00e1lni, valamint azt, hogy mire \u00e9rdemes figyelni m\u00e1s \u00fczenetk\u00fcld\u0151 technol\u00f3gi\u00e1k vizsg\u00e1latakor a j\u00f6v\u0151ben.<\/p>\n<p>Miel\u0151tt elkezden\u00e9nk, n\u00e9zz\u00fck \u00e1t az alapokat.<\/p>\n<h3>Mi az az \u00fczenetk\u00fcld\u0151 rendszer, \u00e9s mi\u00e9rt van sz\u00fcks\u00e9g r\u00e1?<\/h3>\n<p>\nAhhoz, hogy k\u00e9t alkalmaz\u00e1s kommunik\u00e1lhasson egym\u00e1ssal, el\u0151sz\u00f6r meg kell hat\u00e1rozniuk az interf\u00e9szt. Ezen interf\u00e9sz defini\u00e1l\u00e1sa mag\u00e1ban foglalja a sz\u00e1ll\u00edt\u00e1s vagy protokoll kiv\u00e1laszt\u00e1s\u00e1t, mint p\u00e9ld\u00e1ul a HTTP, MQTT vagy SMTP, valamint a rendszer \u00e1ltal cser\u00e9lt \u00fczenetek form\u00e1tum\u00e1nak \u00f6sszehangol\u00e1s\u00e1t. Ez lehet szigor\u00fa folyamat, p\u00e9ld\u00e1ul egy XML s\u00e9ma meghat\u00e1roz\u00e1sa a payload \u00fczenetre vonatkoz\u00f3 k\u00f6vetelm\u00e9nyekkel, vagy sokkal kev\u00e9sb\u00e9 form\u00e1lis, p\u00e9ld\u00e1ul k\u00e9t fejleszt\u0151 k\u00f6z\u00f6tti meg\u00e1llapod\u00e1s arr\u00f3l, hogy egy HTTP-k\u00e9r\u00e9s bizonyos r\u00e9sze tartalmazni fogja az \u00fcgyf\u00e9l azonos\u00edt\u00f3j\u00e1t.<\/p>\n<p>Am\u00edg az \u00fczenetek form\u00e1tuma \u00e9s a k\u00fcld\u00e9s sorrendje a rendszerek k\u00f6z\u00f6tt \u00f6sszehangolt, addig k\u00e9pesek lesznek egym\u00e1ssal k\u00f6lcs\u00f6nhat\u00e1sba l\u00e9pni an\u00e9lk\u00fcl, hogy agg\u00f3dniuk kellene a m\u00e1sik rendszer megval\u00f3s\u00edt\u00e1sa miatt. Ezeknek a rendszereknek a bels\u0151 fel\u00e9p\u00edt\u00e9se, mint p\u00e9ld\u00e1ul a programoz\u00e1si nyelv vagy a haszn\u00e1lt keretrendszer id\u0151vel v\u00e1ltozhat. Am\u00edg a szerz\u0151d\u00e9s fennmarad, a k\u00f6lcs\u00f6nhat\u00e1s v\u00e1ltozatlan maradhat a m\u00e1sik oldalr\u00f3l. Ezek a k\u00e9t rendszer hat\u00e9konyan el vannak v\u00e1lasztva (sz\u00e9tv\u00e1lasztva) ezzel az interf\u00e9sszel.<\/p>\n<p>A levelez\u0151 rendszerek \u00e1ltal\u00e1ban k\u00f6zvet\u00edt\u0151t ig\u00e9nyelnek a k\u00e9t k\u00f6lcs\u00f6nhat\u00e1sban l\u00e9v\u0151 rendszer k\u00f6z\u00f6tt, amely lehet\u0151v\u00e9 teszi a k\u00fcld\u0151 \u00e9s a c\u00edmzett vagy c\u00edmzettek k\u00f6z\u00f6tti tov\u00e1bbi sz\u00e9tv\u00e1laszt\u00e1st. Ezzel a levelez\u0151 rendszer lehet\u0151v\u00e9 teszi a k\u00fcld\u0151 sz\u00e1m\u00e1ra, hogy \u00fczenetet k\u00fcldj\u00f6n, an\u00e9lk\u00fcl hogy tudn\u00e1, hol van a c\u00edmzett, akt\u00edv-e, vagy h\u00e1nyszor van p\u00e9ld\u00e1ny.<\/p>\n<p>Tekints\u00fcnk meg n\u00e9h\u00e1ny anal\u00f3gi\u00e1t a levelez\u00e9si rendszerek \u00e1ltal megoldott probl\u00e9m\u00e1k k\u00fcl\u00f6nb\u00f6z\u0151 t\u00edpusair\u00f3l, \u00e9s vezess\u00fcnk be n\u00e9h\u00e1ny alapvet\u0151 kifejez\u00e9st.<\/p>\n<h4>Point-to-Point<\/h4>\n<p><\/p>\n<blockquote><p>Alexandra a post\u00e1ra megy, hogy Adamnak elk\u00fcldj\u00f6n egy csomagot. Odamegy az ablakhoz, \u00e9s \u00e1tadja az alkalmazottnak a csomagot. Az alkalmazott elveszi a csomagot, \u00e9s \u00e1tad Alexndr\u00e1nak egy nyugt\u00e1t. Adamnek nem kell otthon lennie a csomag felad\u00e1s\u00e1nak pillanat\u00e1ban. Alexandra biztos abban, hogy a csomag valamikor a j\u00f6v\u0151ben Adamhoz fog \u00e9rkezni, \u00e9s folytathatja a teend\u0151it. K\u00e9s\u0151bb, valamikor Adam megkapja a csomagot.<\/p><\/blockquote>\n<p>Ez egy p\u00e9lda az \u00fczenetek \u00e1tad\u00e1s\u00e1nak modellj\u00e9re <i>pont-pont<\/i>. A posta itt a csomagok eloszt\u00f3 mechanizmusak\u00e9nt m\u0171k\u00f6dik, biztos\u00edtva, hogy minden csomag egyszer ker\u00fcljenek \u00e1tad\u00e1sra. A posta haszn\u00e1lata elv\u00e1lasztja a csomag felad\u00e1s\u00e1nak aktus\u00e1t a csomag k\u00e9zbes\u00edt\u00e9s\u00e9t\u0151l.<br \/>\nA klasszikus \u00fczenetk\u00fcld\u0151 rendszerekben a \"pont-pont\" modell megval\u00f3s\u00edt\u00e1sa t\u00f6rt\u00e9nik <i>sorrendben<\/i>. A sorozat FIFO (first in, first out) pufferk\u00e9nt m\u0171k\u00f6dik, amelyre egy vagy t\u00f6bb fogyaszt\u00f3 feliratkozhat. Minden \u00fczenet csak <i>egy feliratkozott fogyaszt\u00f3nak ker\u00fcl k\u00e9zbes\u00edt\u00e9sre<\/i>. A sorok \u00e1ltal\u00e1ban arra t\u00f6rekednek, hogy m\u00e9lt\u00e1nyosan elossz\u00e1k az \u00fczeneteket a fogyaszt\u00f3k k\u00f6z\u00f6tt. Csak egy fogyaszt\u00f3 kapja meg az adott \u00fczenetet.<\/p>\n<p>A sorokra a \"megb\u00edzhat\u00f3\" (\"durable\") kifejez\u00e9s alkalmazhat\u00f3. <i>Megb\u00edzhat\u00f3s\u00e1g <\/i> Ez a szolg\u00e1ltat\u00e1s olyan tulajdons\u00e1ga, amely garant\u00e1lja, hogy az \u00fczenetk\u00fcld\u0151 rendszer meg\u0151rzi az \u00fczeneteket akt\u00edv feliratkoz\u00f3k hi\u00e1ny\u00e1ban, am\u00edg a fogyaszt\u00f3 fel nem iratkozik a sorra az \u00fczenetek k\u00e9zbes\u00edt\u00e9s\u00e9re.<\/p>\n<p>A megb\u00edzhat\u00f3s\u00e1got gyakran \u00f6sszekeverik a <i>perzisztenci\u00e1val<\/i> , \u00e9s b\u00e1r e k\u00e9t kifejez\u00e9s felcser\u00e9lhet\u0151, elt\u00e9r\u0151 funkci\u00f3kat l\u00e1tnak el. A perzisztencia hat\u00e1rozza meg, hogy az \u00fczenet r\u00f6gz\u00edt\u00e9sre ker\u00fcl-e az \u00fczenetk\u00fcld\u0151 rendszer \u00e1ltal valamilyen t\u00e1rol\u00f3ban a fogyaszt\u00f3hoz val\u00f3 eljuttat\u00e1s el\u0151tt. A sorba k\u00fcld\u00f6tt \u00fczenetek lehetnek perzisztens vagy nem perzisztens.<br \/>\nA \"pont-pont\" t\u00edpus\u00fa \u00fczenetk\u00fcld\u00e9s akkor haszn\u00e1latos, amikor a felhaszn\u00e1l\u00e1si eset egyetlen m\u0171veletet ig\u00e9nyel az \u00fczenettel. Egy p\u00e9lda lehet a p\u00e9nzeszk\u00f6z\u00f6k befizet\u00e9se egy sz\u00e1ml\u00e1ra vagy egy rendel\u00e9s teljes\u00edt\u00e9se. K\u00e9s\u0151bb megvitatjuk, mi\u00e9rt nem k\u00e9pes \u00f6n\u00e1ll\u00f3an biztos\u00edtani az \u00fczenetk\u00fcld\u0151 rendszer az egyszeri k\u00e9zbes\u00edt\u00e9st, \u00e9s hogy a sorok a legjobb esetben mi\u00e9rt tudnak legal\u00e1bb egyszer\u0171 k\u00e9zbes\u00edt\u00e9st garant\u00e1lni <i>legal\u00e1bb egyszer<\/i>.<\/p>\n<h4>Kiad\u00f3-Feliratkoz\u00f3<\/h4>\n<p><\/p>\n<blockquote><p>Gabriella t\u00e1rcs\u00e1zza a konferenci\u00e1t. Am\u00edg csatlakozik a konferenci\u00e1hoz, hallja, amit a sz\u00f3nok mond, a h\u00edv\u00e1s t\u00f6bbi r\u00e9sztvev\u0151j\u00e9vel egy\u00fctt. Amikor lecsatlakozik, kihagyja, ami elhangzik. Amikor \u00fajra csatlakozik, folytatja a hallgat\u00e1st.<\/p><\/blockquote>\n<p> Ez egy p\u00e9lda az \u00fczenetek \u00e1tad\u00e1s\u00e1nak modellj\u00e9re <i>kiad\u00e1s-feliratkoz\u00e1s<\/i>. A konferenciaszolg\u00e1ltat\u00e1s sz\u00e9les k\u00f6r\u0171 mechanizmusk\u00e9nt m\u0171k\u00f6dik. A besz\u00e9l\u0151 nem t\u00f6r\u0151dik azzal, h\u00e1ny ember csatlakozott jelenleg a h\u00edv\u00e1shoz \u2014 a rendszer garant\u00e1lja, hogy b\u00e1rki, aki jelenleg csatlakozik, hallani fogja, amit mondanak.<br \/>\nA klasszikus \u00fczenetk\u00fcld\u0151 rendszerekben a \"kiad\u00e1s-feliratkoz\u00e1s\" \u00fczenetk\u00fcld\u00e9si modell a <i>t\u00e9m\u00e1kon kereszt\u00fcl val\u00f3sul meg<\/i>A t\u00e9ma ugyanazt a sz\u00e9les k\u00f6r\u0171 terjeszt\u00e9st biztos\u00edtja, mint a konferencia-h\u00edv\u00e1s mechanizmusa. Amikor egy \u00fczenetet k\u00fcldenek a t\u00e9m\u00e1ba, az eloszt\u00f3dik <i>minden feliratkozott felhaszn\u00e1l\u00f3nak.<\/i>.<\/p>\n<p>A t\u00e9m\u00e1k \u00e1ltal\u00e1ban <i>nem megb\u00edzhat\u00f3ak (nondurable).<\/i>Hasonl\u00f3an ahhoz, ahogy a hallgat\u00f3 nem hallja, amit a konferencia-h\u00edv\u00e1son mondanak, amikor a hallgat\u00f3 lecsatlakozik, a t\u00e9ma feliratkoz\u00f3i elengednek minden \u00fczenetet, ami abban az id\u0151ben \u00e9rkezik, amikor offline \u00e1llapotban vannak. Emiatt elmondhat\u00f3, hogy a t\u00e9m\u00e1k a k\u00e9zbes\u00edt\u00e9s garanci\u00e1j\u00e1t biztos\u00edtj\u00e1k <i>legfeljebb egyszer <\/i>minden felhaszn\u00e1l\u00f3 sz\u00e1m\u00e1ra.<\/p>\n<p>A publik\u00e1l\u00e1s-feliratkoz\u00e1s t\u00edpus\u00fa \u00fczenetv\u00e1lt\u00e1sokat \u00e1ltal\u00e1ban akkor haszn\u00e1lj\u00e1k, amikor az \u00fczenetek t\u00e1j\u00e9koztat\u00f3 jelleg\u0171ek, \u00e9s egy \u00fczenet elveszt\u00e9se nem k\u00fcl\u00f6n\u00f6sebben jelent\u0151s. P\u00e9ld\u00e1ul a t\u00e9ma egy m\u00e1sodpercenk\u00e9nt tov\u00e1bb\u00edthatja a h\u0151m\u00e9rs\u00e9klet-adatait egy \u00e9rz\u00e9kel\u0151csoportt\u00f3l. A rendszer, amely \u00e9rdekli az aktu\u00e1lis h\u0151m\u00e9rs\u00e9kletet, \u00e9s amely feliratkozik a t\u00e9m\u00e1ra, nem fogja agg\u00f3dni, ha elmulaszt egy \u00fczenetet \u2014 egy m\u00e1sik hamarosan \u00e9rkezik.<\/p>\n<h4>Hibrid modellek.<\/h4>\n<p><\/p>\n<blockquote><p>A bolt weboldala \u00fczeneteket helyez el a \"\u00fczenetek sor\u00e1ban\" a rendel\u00e9sekr\u0151l. Ezen \u00fczenetek f\u0151 fogyaszt\u00f3ja a v\u00e9grehajt\u00f3 rendszer. Emellett az audit\u00e1l\u00f3 rendszernek m\u00e1solatokkal kell rendelkeznie ezekr\u0151l a rendel\u00e9si \u00fczenetekr\u0151l a k\u00e9s\u0151bbi nyomon k\u00f6vet\u00e9shez. Mindk\u00e9t rendszernek nem szabad elmulasztania az \u00fczeneteket, m\u00e9g akkor sem, ha maguk a rendszerek ideiglenesen nem el\u00e9rhet\u0151k. A weboldalnak nem szabad tudom\u00e1st szereznie m\u00e1s rendszerekr\u0151l.<\/p><\/blockquote>\n<p> A felhaszn\u00e1l\u00e1si forgat\u00f3k\u00f6nyvek gyakran megk\u00f6vetelik a publik\u00e1l\u00e1s-feliratkoz\u00e1s \u00e9s a pont-pont \u00fczenetv\u00e1lt\u00e1si modellek kombin\u00e1l\u00e1s\u00e1t, p\u00e9ld\u00e1ul amikor t\u00f6bb rendszernek sz\u00fcks\u00e9ge van egy \u00fczenet m\u00e1solat\u00e1ra, \u00e9s az \u00fczenet elveszt\u00e9s\u00e9nek megakad\u00e1lyoz\u00e1s\u00e1hoz mind megb\u00edzhat\u00f3s\u00e1gra, mind pedig tart\u00f3ss\u00e1gra van sz\u00fcks\u00e9g.<\/p>\n<p>Ezekben az esetekben egy c\u00edmzett (destination) sz\u00fcks\u00e9ges (az \u00fczenetsorok \u00e9s t\u00e9m\u00e1k \u00e1ltal\u00e1nos kifejez\u00e9se), amely m\u0171k\u00f6d\u00e9s\u00e9t f\u0151leg mint t\u00e9ma osztja el az \u00fczeneteket, \u00edgy minden egyes \u00fczenet egy k\u00fcl\u00f6n rendszerhez ker\u00fcl, amely \u00e9rdekl\u0151dik ezek ir\u00e1nt az \u00fczenetek ir\u00e1nt, de mindegyik rendszer meghat\u00e1rozhat t\u00f6bb fogyaszt\u00f3t is, akik megkapj\u00e1k a be\u00e9rkez\u0151 \u00fczeneteket, ami ink\u00e1bb a sorhoz hasonl\u00edt. Itt az olvas\u00e1si t\u00edpus \u2014 <i>egyszer minden \u00e9rdekelt f\u00e9l sz\u00e1m\u00e1ra.<\/i>Ezek a hibrid c\u00edmzettek gyakran megb\u00edzhat\u00f3s\u00e1got ig\u00e9nyelnek, \u00edgy ha a felhaszn\u00e1l\u00f3 megszak\u00edtja a kapcsolatot, az ilyenkor k\u00fcld\u00f6tt \u00fczenetek a felhaszn\u00e1l\u00f3 \u00fajb\u00f3li csatlakoz\u00e1sa ut\u00e1n \u00e9rkeznek meg.<\/p>\n<p>A hibrid modellek nem \u00fajak, \u00e9s a legt\u00f6bb \u00fczenetk\u00fcld\u00e9si rendszerben alkalmazhat\u00f3k, bele\u00e9rtve az ActiveMQ-t (virtu\u00e1lis vagy \u00f6sszetett c\u00edmzetteken kereszt\u00fcl, amelyek \u00f6sszekapcsolj\u00e1k a t\u00e9m\u00e1kat \u00e9s a sorokat), valamint a Kafk\u00e1t (implicit, mint a c\u00edmzeteinek alapvet\u0151 terve).<\/p>\n<p>Most, hogy van n\u00e9mi alapvet\u0151 terminol\u00f3gi\u00e1nk \u00e9s meg\u00e9rt\u00e9s\u00fcnk arr\u00f3l, hogy mire lehet sz\u00fcks\u00e9g\u00fcnk egy \u00fczenetk\u00fcld\u0151 rendszer kapcs\u00e1n, t\u00e9rj\u00fcnk \u00e1t a r\u00e9szletekre.<\/p>\n<p><b> Ford\u00edt\u00e1s befejezve: <noindex><a rel=\"nofollow\" href=\"http:\/\/tele.gg\/middle_java\">tele.gg\/middle_java<\/a><\/noindex><\/b><\/p>\n<p>A k\u00f6vetkez\u0151 ford\u00edtott r\u00e9sz: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">3. fejezet. Kafka<\/a><\/noindex><\/p>\n<p><i>Folytat\u00e1sa k\u00f6vetkezik\u2026<\/i><br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466385\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430\u0447\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043d\u0438\u0433\u0438: &#171;Understanding Message Brokers&#171;, \u0430\u0432\u0442\u043e\u0440: Jakub Korab, \u0438\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e: O&#8217;Reilly Media, Inc., \u0434\u0430\u0442\u0430 \u0438\u0437\u0434\u0430\u043d\u0438\u044f: June 2017, ISBN: 9781492049296. \u0418\u0437 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043a \u043a\u043d\u0438\u0433\u0435: &#171;\u2026 \u042d\u0442\u0430 \u043a\u043d\u0438\u0433\u0430 \u043d\u0430\u0443\u0447\u0438\u0442 \u0432\u0430\u0441 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043e\u0431\u043c\u0435\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 \u0431\u0440\u043e\u043a\u0435\u0440\u0430\u0445, \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044f \u0438 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0434\u0432\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0431\u0440\u043e\u043a\u0435\u0440\u043e\u0432: Apache ActiveMQ \u0438 Apache Kafka. \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u0438\u0437\u043b\u043e\u0436\u0435\u043d\u044b \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38171","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430\u0447\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043d\u0438\u0433\u0438: &quot;Understanding Message.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0431\u0440\u043e\u043a\u0435\u0440\u043e\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438 \u043e\u0431\u043c\u0435\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c ActiveMQ \u0438 Kafka. \u0413\u043b\u0430\u0432\u0430 1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430\u0447\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043d\u0438\u0433\u0438: &quot;Understanding Message.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:22:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:22:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Az \u00fczenetbr\u00f3kerek meg\u00e9rt\u00e9se. Az \u00fczenetk\u00fcld\u00e9s mechanik\u00e1j\u00e1nak tanulm\u00e1nyoz\u00e1sa ActiveMQ \u00e9s Kafka r\u00e9v\u00e9n. 1. fejezet | ProHoster","description":"Hell\u00f3 mindenkinek! Elkezdtem ford\u00edtani egy kis k\u00f6nyvet: \"Az \u00fczenetek meg\u00e9rt\u00e9se.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0431\u0440\u043e\u043a\u0435\u0440\u043e\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438 \u043e\u0431\u043c\u0435\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c ActiveMQ \u0438 Kafka. \u0413\u043b\u0430\u0432\u0430 1 | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430\u0447\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043d\u0438\u0433\u0438: &quot;Understanding Message.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:22:03+00:00","article:modified_time":"2019-10-31T19:22:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38171","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 20:46:00","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:14:22","updated":"2026-01-23 20:46:00","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/38171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=38171"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/38171\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=38171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=38171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=38171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}