{"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\/sq\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","title":{"rendered":"Kuptimi i broker\u00ebve t\u00eb mesazheve. Studimi i mekanik\u00ebs s\u00eb shk\u00ebmbimit t\u00eb mesazheve p\u00ebrmes ActiveMQ dhe Kafka. Kapitulli 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve!<\/p>\n<p>Kam filluar p\u00ebrkthimin e nj\u00eb libri t\u00eb vog\u00ebl:<br \/>\n&#171;<b><noindex><a rel=\"nofollow\" href=\"https:\/\/www.oreilly.com\/library\/view\/understanding-message-brokers\/9781492049296\/\">Kuptimi i Broker\u00ebve t\u00eb Mesazheve<\/a><\/noindex><\/b>&#171;, <br \/>\nautori: Jakub Korab, botuesi: O'Reilly Media, Inc., data e botimit: Qershor 2017, ISBN: 9781492049296.<\/p>\n<p>Nga hyrja n\u00eb lib\u00ebr:<br \/>\n\u00ab\u2026 <i>Ky lib\u00ebr do t'ju m\u00ebsoj\u00eb si t\u00eb mendoni n\u00eb lidhje me sistemet e shk\u00ebmbimit t\u00eb mesazheve n\u00ebp\u00ebrmjet broker\u00ebve, duke krahasuar dhe kontrastuar dy teknologjit\u00eb e njohura t\u00eb broker\u00ebve: Apache ActiveMQ dhe Apache Kafka. Do t\u00eb paraqiten shembuj p\u00ebrdorimi dhe motivet e zhvillimit q\u00eb \u00e7uan zhvilluesit e tyre t\u00eb p\u00ebrdorin qasje t\u00eb ndryshme p\u00ebr t\u00eb nj\u00ebjtin fush\u00eb \u2014 shk\u00ebmbimi i mesazheve nd\u00ebrmjet sistemeve me nj\u00eb broker nd\u00ebrmjet\u00ebs. Ne do t'i shqyrtojm\u00eb k\u00ebto teknologji nga zero dhe do t\u00eb nxjerrim n\u00eb pah ndikimin e opsioneve t\u00eb ndryshme t\u00eb dizajnit gjat\u00eb k\u00ebtij procesi. Ju do t\u00eb merrni nj\u00eb kuptim t\u00eb thell\u00eb t\u00eb t\u00eb dy produkteve, si duhen dhe si nuk duhen p\u00ebrdorur, dhe do t\u00eb kuptoni se p\u00ebr \u00e7far\u00eb duhet t\u00eb jepni v\u00ebmendje kur shqyrtoni teknologji t\u00eb tjera t\u00eb shk\u00ebmbimit t\u00eb mesazheve n\u00eb t\u00eb ardhmen.<\/i> \u2026\u00bb<\/p>\n<p>Parte t\u00eb p\u00ebrkthyera deri tani:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466385\">Kapitulli 1. Hyrja<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Kapitulli 3. Kafka<\/a><\/noindex><\/p>\n<p>Do t\u00eb publikoj kapitujt e p\u00ebrfunduar nd\u00ebrsa p\u00ebrkthimi vazhdon.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>KAPITULLI 1<\/h2>\n<p><\/p>\n<h2>Hyrje<\/h2>\n<p>\nShk\u00ebmbimi i mesazheve nd\u00ebrmjet sistemeve \u00ebsht\u00eb nj\u00eb nga fushat m\u00eb pak t\u00eb kuptuara t\u00eb IT-s\u00eb. Si zhvillues ose arkitekt, mund t\u00eb jeni t\u00eb njohur mir\u00eb me framework-et dhe bazat e t\u00eb dh\u00ebnave t\u00eb ndryshme. Sidoqoft\u00eb, \u00ebsht\u00eb e mundur q\u00eb keni vet\u00ebm nj\u00eb njohuri t\u00eb sip\u00ebrfaqshme se si funksionojn\u00eb teknologjit\u00eb e shk\u00ebmbimit t\u00eb mesazheve t\u00eb bazuara n\u00eb broker\u00eb. N\u00ebse e ndjeni veten k\u00ebshtu, mos u shqet\u00ebsoni, jeni n\u00eb nj\u00eb kompani t\u00eb mir\u00eb.<\/p>\n<p>Njer\u00ebzit zakonisht kontaktuan me infrastruktur\u00ebn e shk\u00ebmbimit t\u00eb mesazheve n\u00eb m\u00ebnyr\u00eb shum\u00eb t\u00eb kufizuar. Shpesh lidhen me nj\u00eb sistem t\u00eb nd\u00ebrtuar shum\u00eb koh\u00eb m\u00eb par\u00eb, ose shkarkojn\u00eb nj\u00eb shp\u00ebrndarje nga interneti, e instalojn\u00eb at\u00eb n\u00eb PROM dhe fillojn\u00eb t\u00eb shkruajn\u00eb kod p\u00ebr t\u00eb. Pas aktivizimit t\u00eb infrastruktur\u00ebs n\u00eb PROM, rezultatet mund t\u00eb jen\u00eb t\u00eb pasigurta: humbje mesazhesh n\u00eb rast t\u00eb defekteve, d\u00ebrgimi funksionon ndryshe nga sa pritej, ose broker\u00ebt \u201cpezojn\u00eb\u201d prodhuesit tuaj ose nuk d\u00ebrgojn\u00eb mesazhe te konsumator\u00ebt tuaj.<\/p>\n<p>T\u00eb duket e njohur?<\/p>\n<p>Nj\u00eb skenar i zakonsh\u00ebm \u00ebsht\u00eb kur kodi juaj i mesazheve funksionon shk\u00eblqyesh\u00ebm, deri n\u00eb nj\u00eb moment. Derisa t\u00eb ndaloj\u00eb s\u00eb funksionuari. Ky periudh\u00eb gjum\u00ebson vigjilenc\u00ebn dhe krijon nj\u00eb ndjenj\u00eb t\u00eb rrem\u00eb sigurie, e cila \u00e7on n\u00eb m\u00eb shum\u00eb kod, i bazuar n\u00eb koncepte t\u00eb gabuara p\u00ebr sjelljen themelore t\u00eb teknologjis\u00eb. Kur di\u00e7ka fillon t\u00eb shkoj\u00eb keq, ju p\u00ebrballeni me t\u00eb v\u00ebrtet\u00ebn e pak\u00ebndshme: q\u00eb nuk e keni kuptuar v\u00ebrtet sjelljen baz\u00eb t\u00eb produktit ose kompromiset e b\u00ebra nga zhvilluesit, si\u00e7 jan\u00eb, p\u00ebrformanca p\u00ebrball\u00eb besueshm\u00ebris\u00eb, ose transaksionaliteti p\u00ebrball\u00eb shkall\u00ebzueshm\u00ebris\u00eb horizontale.<\/p>\n<p>Pa nj\u00eb kuptim t\u00eb thell\u00eb se si funksionojn\u00eb broker\u00ebt, njer\u00ebzit b\u00ebjn\u00eb pretendime q\u00eb duken t\u00eb arsyeshme p\u00ebr sistemet e tyre t\u00eb mesazheve, t\u00eb tilla si:<\/p>\n<ul>\n<li>Sistemi kurr\u00eb nuk do t\u00eb humbas\u00eb mesazhe<\/li>\n<li>Mesazhet do t\u00eb trajtohen n\u00eb m\u00ebnyr\u00eb t\u00eb radhitur<\/li>\n<li>Shtimi i konsumator\u00ebve do ta b\u00ebj\u00eb sistemin m\u00eb t\u00eb shpejt\u00eb<\/li>\n<li>Mesazhet do t\u00eb dor\u00ebzohen vet\u00ebm nj\u00eb her\u00eb<\/li>\n<\/ul>\n<p>\nFatkeq\u00ebsisht, disa nga k\u00ebto pretendime bazohen n\u00eb supozime q\u00eb vlejn\u00eb vet\u00ebm n\u00ebn rrethana t\u00eb caktuara, nd\u00ebrsa t\u00eb tjera, thjesht jan\u00eb t\u00eb gabuara.<\/p>\n<p>Kjo lib\u00ebr do t'ju m\u00ebsoj\u00eb t\u00eb mendoni p\u00ebr sistemet e mesazheve t\u00eb bazuara n\u00eb broker\u00eb, duke krahasuar dhe p\u00ebrballuar dy teknologjit\u00eb e njohura t\u00eb broker\u00ebve: Apache ActiveMQ dhe Apache Kafka. Aty do t\u00eb p\u00ebrmenden shembujt si dhe motivet e zhvillimit q\u00eb \u00e7uan n\u00eb p\u00ebrdorimin e qasjeve t\u00eb ndryshme p\u00ebr t\u00eb nj\u00ebjt\u00ebn fush\u00eb \u2014 mesazhet e shk\u00ebmbyera midis sistemeve me nj\u00eb broker nd\u00ebrmjet\u00ebs. Ne do t'i shqyrtojm\u00eb k\u00ebto teknologji nga zero dhe do t\u00eb theksojm\u00eb ndikimin e mund\u00ebsive t\u00eb ndryshme t\u00eb dizajnit gjat\u00eb k\u00ebtij rrug\u00ebtimi. Do t\u00eb merrni nj\u00eb kuptim t\u00eb thell\u00eb t\u00eb t\u00eb dy produkteve, nj\u00eb kuptim se si duhet dhe nuk duhet t\u00eb p\u00ebrdoren, dhe nj\u00eb kuptim se \u00e7far\u00eb duhet p\u00ebrqendruar kur shqyrtoni teknologji t\u00eb tjera mesazhesh n\u00eb t\u00eb ardhmen.<\/p>\n<p>Para se t\u00eb fillojm\u00eb, le t\u00eb kalojm\u00eb n\u00eb bazat.<\/p>\n<h3>\u00c7far\u00eb \u00ebsht\u00eb nj\u00eb Sistem i Mesazheve dhe p\u00ebrse \u00ebsht\u00eb i nevojsh\u00ebm<\/h3>\n<p>\nP\u00ebr t\u00eb komunikuar, dy aplikacione duhet s\u00eb pari t\u00eb p\u00ebrcaktojn\u00eb nj\u00eb nd\u00ebrfaqe. P\u00ebrcaktimi i k\u00ebsaj nd\u00ebrfaqe p\u00ebrfshin zgjedhjen e transportit ose protokollit, t\u00eb till\u00eb si HTTP, MQTT ose SMTP dhe pajtimin p\u00ebr formatet e mesazheve q\u00eb do t\u00eb shk\u00ebmbehen sistemet. Kjo mund t\u00eb jet\u00eb nj\u00eb proces i rrept\u00eb, si p\u00ebrcaktimi i nj\u00eb skema XML me k\u00ebrkesat p\u00ebr ngarkes\u00ebn e mesazhit, ose mund t\u00eb jet\u00eb shum\u00eb m\u00eb pak formale, si nj\u00eb marr\u00ebveshje mes dy zhvilluesve q\u00eb nj\u00eb pjes\u00eb e caktuar e k\u00ebrkes\u00ebs HTTP do t\u00eb p\u00ebrmbaj\u00eb identifikuesin e klientit.<\/p>\n<p>Sa koh\u00eb q\u00eb formatet e mesazheve dhe rendi i d\u00ebrgimit midis sistemeve jan\u00eb t\u00eb pajtueshme, ato do t\u00eb jen\u00eb n\u00eb gjendje t\u00eb komunikojn\u00eb me nj\u00ebra-tjetr\u00ebn pa u ndjer\u00eb p\u00ebr implementimin e sistemit tjet\u00ebr. Brend\u00ebsia e k\u00ebtyre sistemeve, si gjuha e programimit apo frameworku i p\u00ebrdorur, mund t\u00eb ndryshoj\u00eb me kalimin e koh\u00ebs. Sa m\u00eb gjat\u00eb q\u00eb kontrata mbetet e vlefshme, nd\u00ebrveprimi mund t\u00eb vazhdoj\u00eb pa ndryshime nga ana tjet\u00ebr. K\u00ebto dy sisteme jan\u00eb efektivisht t\u00eb ndara nga kjo nd\u00ebrfaqe.<\/p>\n<p>Sistemet e shk\u00ebmbimit t\u00eb mesazheve zakonisht p\u00ebrfshijn\u00eb nj\u00eb nd\u00ebrmjet\u00ebs midis dy sistemeve q\u00eb nd\u00ebrveprojn\u00eb p\u00ebr t\u00eb siguruar ndarjen e d\u00ebrguesit nga marr\u00ebsi ose marr\u00ebsit. N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, sistemi i shk\u00ebmbimit t\u00eb mesazheve mund\u00ebson d\u00ebrguesit t\u00eb d\u00ebrgoj\u00eb nj\u00eb mesazh pa qen\u00eb n\u00eb dijeni se ku ndodhet marr\u00ebsi, n\u00ebse ai \u00ebsht\u00eb aktiv apo sa kopje t\u00eb tij ekzistojn\u00eb.<\/p>\n<p>Le t\u00eb shqyrtojm\u00eb disa analogji q\u00eb ilustrojn\u00eb llojet e problemeve q\u00eb zgjidh sistemi i shk\u00ebmbimit t\u00eb mesazheve, dhe t\u00eb prezantojm\u00eb disa terma baz\u00eb.<\/p>\n<h4>Pika n\u00eb Pik\u00eb<\/h4>\n<p><\/p>\n<blockquote><p>Aleksandra po shkon n\u00eb post\u00eb p\u00ebr t\u00eb d\u00ebrguar nj\u00eb paket\u00eb p\u00ebr Adamin. Ajo iu afron sportelit dhe i dor\u00ebzon punonj\u00ebsit paket\u00ebn. Punonj\u00ebsi merr paket\u00ebn dhe i jep Aleksandr\u00ebs nj\u00eb pranimin. Adami nuk ka nevoj\u00eb t\u00eb jet\u00eb n\u00eb sht\u00ebpi n\u00eb momentin e d\u00ebrgimit t\u00eb paket\u00ebs. Aleksandra \u00ebsht\u00eb e sigurt q\u00eb paketa do t'i dor\u00ebzohet Adamit n\u00eb nj\u00eb moment t\u00eb ardhsh\u00ebm dhe mund t\u00eb vazhdoj\u00eb me gj\u00ebrat e saj. M\u00eb von\u00eb, n\u00eb nj\u00eb moment, Adami merr paket\u00ebn.<\/p><\/blockquote>\n<p>Ky \u00ebsht\u00eb nj\u00eb shembull i modelit t\u00eb shk\u00ebmbimit t\u00eb mesazheve <i>pik\u00eb n\u00eb pik\u00eb<\/i>. Zyrat postare n\u00eb k\u00ebt\u00eb rast veprojn\u00eb si nj\u00eb mekaniz\u00ebm shp\u00ebrndar\u00ebs p\u00ebr paketat, duke garantuar q\u00eb \u00e7do paket\u00eb do t\u00eb d\u00ebrgohet nj\u00eb her\u00eb. P\u00ebrdorimi i zyr\u00ebs postare ndan aktin e d\u00ebrgimit t\u00eb paket\u00ebs nga dor\u00ebzimi i paket\u00ebs.<br \/>\n\u0412 sisteme klasike t\u00eb komunikimit, modeli \"pik\u00eb-pik\u00eb\" realizohet p\u00ebrmes <i>rendit<\/i>. Radh\u00ebt funksionojn\u00eb si nj\u00eb bufer FIFO (i pari q\u00eb hyri, i pari q\u00eb doli), n\u00eb t\u00eb cil\u00ebn nj\u00eb ose m\u00eb shum\u00eb konsumator\u00eb mund t\u00eb abonohen. \u00c7do mesazh dor\u00ebzohet vet\u00ebm <i>nj\u00eb nga konsumator\u00ebt e abonuara<\/i>. Radh\u00ebt shpesh p\u00ebrpiqen t\u00eb shp\u00ebrndajn\u00eb mesazhet n\u00eb m\u00ebnyr\u00eb t\u00eb drejt\u00eb nd\u00ebrmjet konsumator\u00ebve. Vet\u00ebm nj\u00eb konsumator do t\u00eb marr\u00eb k\u00ebt\u00eb mesazh.<\/p>\n<p>Termi \"i besuesh\u00ebm\" (\"durable\") aplikohet p\u00ebr radh\u00ebt. <i>Besueshm\u00ebria <\/i> \u2014 kjo \u00ebsht\u00eb nj\u00eb karakteristik\u00eb e sh\u00ebrbimit q\u00eb garanton se sistemi i komunikimit do t\u00eb ruaj\u00eb mesazhet n\u00eb munges\u00eb t\u00eb abonent\u00ebve aktiv\u00eb deri sa konsumatori t\u00eb abonohesh n\u00eb radh\u00ebn p\u00ebr dor\u00ebzimin e mesazheve.<\/p>\n<p>Besueshm\u00ebria shpesh ngat\u00ebrrohet me <i>persistenc\u00ebn<\/i> dhe, ndon\u00ebse k\u00ebto dy terma jan\u00eb t\u00eb nd\u00ebrruesh\u00ebm, ato kryejn\u00eb funksione t\u00eb ndryshme. Persistenca p\u00ebrcakton n\u00ebse nj\u00eb mesazh regjistrohet nga sistemi i komunikimit n\u00eb nj\u00eb lloj ruajtjeje midis marrjes dhe d\u00ebrgimit t\u00eb tij konsumatorit. Mesazhet e d\u00ebrguara n\u00eb radh\u00eb mund t\u00eb jen\u00eb ose t\u00eb mos jen\u00eb t\u00eb q\u00ebndrueshme.<br \/>\nKomunikimi i tipit \"Pik\u00eb-pik\u00eb\" p\u00ebrdoret kur varianti i p\u00ebrdorimit k\u00ebrkon nj\u00eb veprim t\u00eb vet\u00ebm me mesazhin. Nj\u00eb shembull mund t\u00eb jet\u00eb futja e fondeve n\u00eb nj\u00eb llogari ose ekzekutimi i nj\u00eb porosie p\u00ebr dor\u00ebzim. Ne do t\u00eb diskutojm\u00eb m\u00eb von\u00eb pse sistemi i komunikimit vet\u00eb nuk \u00ebsht\u00eb n\u00eb gjendje t\u00eb siguroj\u00eb dor\u00ebzim t\u00eb vet\u00ebm dhe pse radh\u00ebt mund, n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, t\u00eb ofrojn\u00eb garanci dor\u00ebzimi <i>t\u00eb pakt\u00ebn nj\u00eb her\u00eb<\/i>.<\/p>\n<h4>Botues-Subsriptor<\/h4>\n<p><\/p>\n<blockquote><p>Gabriela th\u00ebrret numrin e konferenc\u00ebs. Nd\u00ebrkoh\u00eb q\u00eb ajo \u00ebsht\u00eb e lidhur n\u00eb konferenc\u00eb, ajo d\u00ebgjon gjith\u00e7ka q\u00eb thot\u00eb fol\u00ebsi, s\u00eb bashku me pjes\u00ebmarr\u00ebsit e tjer\u00eb t\u00eb thirrjes. Kur ajo shk\u00ebputet, ajo humbet at\u00eb q\u00eb thuhet. Pasi t\u00eb lidhet p\u00ebrs\u00ebri, ajo vazhdon t\u00eb d\u00ebgjoj\u00eb se \u00e7far\u00eb po thon\u00eb.<\/p><\/blockquote>\n<p> Ky \u00ebsht\u00eb nj\u00eb shembull i modelit t\u00eb shk\u00ebmbimit t\u00eb mesazheve <i>botim-n\u00ebnshkrim<\/i>. Konferenca sh\u00ebrben si nj\u00eb mekaniz\u00ebm shp\u00ebrndar\u00ebs. Personi q\u00eb flet nuk interesohet p\u00ebr numrin e njer\u00ebzve q\u00eb jan\u00eb aktualisht t\u00eb lidhur me thirrjen \u2014 sistemi garanton q\u00eb kushdo q\u00eb lidhet n\u00eb at\u00eb moment do t\u00eb d\u00ebgjoj\u00eb \u00e7far\u00eb po thuhet.<br \/>\nN\u00eb sistemet klasike t\u00eb komunikimit, modeli i komunikimit \"botim-n\u00ebnshkrim\" realizohet p\u00ebrmes <i>temave<\/i>Tema ofron nj\u00eb m\u00ebnyr\u00eb transmetimi t\u00eb ngjashme me mekanizmin e konferencave. Kur nj\u00eb mesazh d\u00ebrgohet n\u00eb tem\u00eb, ai shp\u00ebrndahet <i>tek t\u00eb gjith\u00eb p\u00ebrdoruesit e n\u00ebnshkruar<\/i>.<\/p>\n<p>Temat zakonisht <i>nuk jan\u00eb t\u00eb besueshme (nondurable)<\/i>. Ashtu si nj\u00eb d\u00ebgjues q\u00eb nuk d\u00ebgjon at\u00eb q\u00eb thuhet n\u00eb nj\u00eb konferenc\u00eb, kur d\u00ebgjuesi del offline, abonen e tem\u00ebs humbasin \u00e7do mesazh q\u00eb d\u00ebrgohet gjat\u00eb koh\u00ebs q\u00eb ato jan\u00eb jasht\u00eb linje. P\u00ebr k\u00ebt\u00eb arsye, mund t\u00eb thuhet se temat ofrojn\u00eb nj\u00eb garantim t\u00eb dor\u00ebzimit <i>jo m\u00eb shum\u00eb se nj\u00eb her\u00eb <\/i>p\u00ebr \u00e7do konsumator.<\/p>\n<p>Shk\u00ebmbimi i mesazheve t\u00eb tipit \"botim-abonim\" zakonisht p\u00ebrdoret kur mesazhet kan\u00eb karakter informativ dhe humbja e nj\u00eb mesazhi nuk \u00ebsht\u00eb shum\u00eb e r\u00ebnd\u00ebsishme. P\u00ebr shembull, nj\u00eb tem\u00eb mund t\u00eb transmetoj\u00eb leximet e temperatur\u00ebs nga nj\u00eb grup sensor\u00ebsh \u00e7do sekond\u00eb. Nj\u00ebsia q\u00eb \u00ebsht\u00eb e interesuar p\u00ebr temperatur\u00ebn aktuale dhe q\u00eb \u00ebsht\u00eb abonuar n\u00eb tem\u00eb, nuk do t\u00eb shqet\u00ebsohet n\u00ebse humbet nj\u00eb mesazh \u2014 nj\u00eb tjet\u00ebr do t\u00eb vij\u00eb s\u00eb shpejti.<\/p>\n<h4>Modelet hibride<\/h4>\n<p><\/p>\n<blockquote><p>Faqja e internetit e dyqanit vendos mesazhet p\u00ebr porosit\u00eb n\u00eb \"radh\u00ebn e mesazheve\". Konsumatori kryesor i k\u00ebtyre mesazheve \u00ebsht\u00eb sistemi ekzekutiv. P\u00ebrve\u00e7 k\u00ebsaj, sistemi i auditimit duhet t\u00eb ket\u00eb kopje t\u00eb k\u00ebtyre mesazheve p\u00ebr porosit\u00eb p\u00ebr ndjekje t\u00eb m\u00ebvonshme. T\u00eb dy sistemet nuk mund t\u00eb humbin mesazhe, edhe n\u00ebse vet\u00eb sistemet jan\u00eb t\u00eb paq\u00ebndrueshme p\u00ebr nj\u00eb koh\u00eb t\u00eb caktuar. Faqja e internetit nuk duhet t\u00eb dij\u00eb p\u00ebr sistemet e tjera.<\/p><\/blockquote>\n<p> Skema e p\u00ebrdorimit shpesh k\u00ebrkon kombinimin e modeleve t\u00eb shk\u00ebmbimit t\u00eb mesazheve \"botim-abonim\" dhe \"pik\u00eb-pik\u00eb\", p\u00ebr shembull, kur disa sisteme k\u00ebrkojn\u00eb nj\u00eb kopje t\u00eb mesazhit dhe p\u00ebr t\u00eb parandaluar humbjen e mesazhit k\u00ebrkohet si besueshm\u00ebria ashtu edhe q\u00ebndrueshm\u00ebria.<\/p>\n<p>N\u00eb k\u00ebto raste, k\u00ebrkohet nj\u00eb destinacion (destination) (termi i p\u00ebrgjithsh\u00ebm p\u00ebr radh\u00ebt dhe temat), i cili shp\u00ebrndan mesazhet kryesisht si nj\u00eb tem\u00eb, n\u00eb m\u00ebnyr\u00eb q\u00eb \u00e7do mesazh t\u00eb d\u00ebrgohet n\u00eb nj\u00eb sistem t\u00eb ve\u00e7ant\u00eb q\u00eb \u00ebsht\u00eb i interesuar p\u00ebr k\u00ebto mesazhe, por gjithashtu ku \u00e7do sistem mund t\u00eb identifikoj\u00eb disa konsumator\u00eb q\u00eb marrin mesazhet e ardhshme, q\u00eb \u00ebsht\u00eb m\u00eb shum\u00eb si nj\u00eb radh\u00eb. Lloji i leximit n\u00eb k\u00ebt\u00eb rast \u00ebsht\u00eb <i>nj\u00eb her\u00eb p\u00ebr \u00e7do pal\u00eb t\u00eb interesuar<\/i>K\u00ebta adresat\u00eb hibrid\u00eb shpesh k\u00ebrkojn\u00eb q\u00ebndrueshm\u00ebri, k\u00ebshtu q\u00eb, n\u00ebse konsumatori shk\u00ebputet, mesazhet q\u00eb d\u00ebrgohen n\u00eb at\u00eb koh\u00eb pranohen pas rikonekimit t\u00eb konsumatorit.<\/p>\n<p>Modelet hibrid\u00eb nuk jan\u00eb t\u00eb reja dhe mund t\u00eb aplikohen n\u00eb shumic\u00ebn e sistemeve t\u00eb shk\u00ebmbimit t\u00eb mesazheve, duke p\u00ebrfshir\u00eb si ActiveMQ (n\u00ebp\u00ebrmjet adresat virtuale ose t\u00eb p\u00ebrb\u00ebr\u00eb, q\u00eb bashkojn\u00eb tema dhe radh\u00eb), ashtu edhe Kafka (implicit, si nj\u00eb pron\u00ebsi themelore e dizajnit t\u00eb adresat t\u00eb saj).<\/p>\n<p>Tani q\u00eb kemi disa terminologji t\u00eb bazuar dhe nj\u00eb kuptim se p\u00ebr \u00e7far\u00eb mund t\u00eb na nevojitet nj\u00eb sistem shk\u00ebmbimi mesazhesh, le t\u00eb kalojm\u00eb n\u00eb detaje.<\/p>\n<p><b> P\u00ebrkthimi u krye: <noindex><a rel=\"nofollow\" href=\"http:\/\/tele.gg\/middle_java\">tele.gg\/middle_java<\/a><\/noindex><\/b><\/p>\n<p>Pjesa tjet\u00ebr e p\u00ebrkthyer: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Kapitulli 3. Kafka<\/a><\/noindex><\/p>\n<p><i>Vazhdon&#8230;<\/i><br \/>\n<br \/>Burimi: <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.2.1 - 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\/sq\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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\udd47 Kuptimi i broker\u00ebve t\u00eb mesazheve. Studimi i mekanik\u00ebs s\u00eb shk\u00ebmbimit t\u00eb mesazheve p\u00ebrmes ActiveMQ dhe Kafka. Kapitulli 1 | ProHoster","description":"P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve! Filova p\u00ebrkthimin e nj\u00eb libri t\u00eb vog\u00ebl: \"Kuptimi i Mesazheve.","canonical_url":"https:\/\/prohoster.info\/sq\/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":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/38171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=38171"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/38171\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=38171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=38171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=38171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}