Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 13505|Odgovoriti: 2

Trajne nastavitve naročnine ActiveMQ

[Kopiraj povezavo]
Objavljeno na 9. 01. 2017 11:12:10 | | |

Trajne nastavitve naročnine ActiveMQ
Z nastavitvijo TRAJNEGA načina dostave za založnika lahko uporabite trajne naročnine za naročnike, kar zagotavlja, da program Pub/Sub prejme vsa objavljena sporočila.
Naročnine na sporočila so razdeljene na netrajne in trajne naročnine, netrajne naročnine pa lahko prejemajo sporočila, poslana temi, le, ko je odjemalec aktiven, torej ko je odjemalec brez povezave, se sporočila, poslana temi v tem obdobju, izgubijo in nikoli ne prejmejo. Ko je odjemalec brez povezave, ActiveMQ shrani vsa sporočila, poslana subjektu glede na njegov ID, in ko se odjemalec ponovno poveže z ActiveMQ, prejme vsa sporočila, poslana subjektu, ko je ta offline. Vztrajne naročnine povečujejo stroške in imajo hkrati le enega aktivnega uporabnika v trajni naročnini. Koraki za vzpostavitev trajne naročnine:
1. Nastavite ID stranke za povezavo;
2. Določite ime naročnine za temo naročnine;
Zgornja kombinacija mora biti edinstvena.
Koda implementira trajne naročnine

(1) Pri uporabi vrste, torej pri čakalni vrsti, je na sporočilo le en uporabnik, zato je vztrajnost zelo preprosta, preprosto ga shranite v bazo podatkov

。 Nato ga lahko vsak potrošnik prevzame in zavrže. Ni pomembno, če ga potrošnik za nekaj časa izklopi.

(2) Pri uporabi teme, torej pri naročnini, lahko ima vsako sporočilo več uporabnikov, kar je bolj problematično.

Prvič, če predpostavimo, da so potrošniki običajni potrošniki,
------------------------
Po lansiranju <1> activemq je bil objavljen News 1, vendar žal zdaj ne začenjajo nobeni potrošniki, torej se nobeni potrošniki niso naročili. Torej

, so bile novice opuščene.

<2> Uporabnik 1 se je zagnal, se povezal z activemq, se naročil in čakal na sporočilo~~

ActiveMQ objavi sporočilo 2, OK, potrošnik 1 ga prejme in obdela. Opustitev sporočila.

<3> Consumer 2 je prav tako lansiran, povezan z activemq, naročen in čaka na sporočilo~~

ActiveMQ objavi sporočilo 3, v redu, potrošnik 1, potrošnik 2 so vsi prejeti in obdelani. Opustitev sporočila.

<4> Potrošnik 1 je izklopljen.

ActiveMQ objavi sporočilo 4, OK, potrošnik 2 ga prejme in obdela. Opustitev sporočila.

<5> Potrošnik 1 se je ponovno začel.

ActiveMQ objavi sporočila 5, OK, potrošnik 1 in uporabnik 2, ki jih vsi prejmejo in obdelajo. Opustitev sporočila.
-----------------------------
Za povzetek:
ActiveMQ preprosto pošilja sporočila trenutno lansiranemu potrošniku.
Potrošniki, ki se izklopijo, bodo zamudili veliko sporočil in jih ne bodo mogli več prejemati.

Če je poslano sporočilo pomembno za sinhronizacijo uporabniških podatkov in jih spregleda, uporabniški podatki niso sinhronizirani.

Torej, kako doseči potrošnike, da ob ponovnem zagonu prejmejo zamujena sporočila?

Odgovor je vztrajna naročnina.
-----------------------------

Običajne naročnine, brez razlikovanja med potrošniki, če je v dvorani nekaj ljudi, vržejo nekaj parjenih žemljic.
Za trajne naročnine morate zabeležiti ime potrošnika.
Zhang San je rekel: Jaz sem Zhang San, zame so parjene žemljice, vrnil se bom po njih.
Li Si je rekla: Jaz sem Li Si, zame so kuhane žemljice, vrnila se bom po njih.
activemq je zapisal imeni Zhang Sana in Li Sija.

Nato, ko razdelimo parene žemljice, ena glava še vedno dobi parjeno žemljico.
Po delitvi, ko je videl, da Zhang San ne govori, je to pomenilo, da ga ni bilo, zato mu je pustil eno.
je spregovoril Li Si, zato ni bilo potrebe, da ostane.

Zhang San se je vrnil, iskal aktivne žemljice in pogledal, to ni Zhang San, hitro prinesi njegove parene žemljice.
Lahko je ena parjena žemljica ali pa 100 parjenih žemljic, odvisno od tega, koliko parjenih žemljic je Zhang San razdelil, odkar je za nekaj časa odšel.

activemq razlikuje potrošnike po clientID in imenu naročnika.
-----------------------------
Vzpostavite povezavo
connection = connectionFactory.createConnection();
connection.setClientID("bbb"); Trajne naročnine zahtevajo to nastavitev.
connection.start();

Ustvarite sejo
Seja seje = povezava.createSession(false,Session.AUTO_ACKNOWLEDGE);

Ustvarite destinacijo
Topic topic = session.createTopic("userSyncTopic"); Ime teme

MessageConsumer consumer = session.createConsumer(topic); Redna naročnina
MessageConsumer consumer = session.createDurableSubscriber(tema,"bbb"); Trajne naročnine


Druga točka je, da proizvajalec sporočila uporablja trajni način pri pošiljanju sporočil
MessageProducer producer = ...;
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
Če ne, je privzeto vztrajna

(5) Če se uporablja isti "clientID", se šteje za istega potrošnika. Če dva programa uporabljata isti "clientID", se lahko na activemq hkrati poveže le eden, druga povezava pa poroča o napaki.

(6) Nastavitve activemq so v conf/activemq.xml, privzeta sporočila pa so shranjena v data/kahadb, sporočila pa se ob ponovnem zagonu activemq ne izgubijo.

Dostopate lahko http://localhost:8161/admin/index.jsp: oglejte si informacije o trenutnih vrstah, temah in trajnih naročnikih, pošiljate sporočila in še več.

Vsebino lahko kopirate v activemq-jdbc.xml in jo spremenite, sporočilo pa shranite v druge baze podatkov.




Prejšnji:VIP kanal pete generacije za 360 vstopnice je počil, hitro vstopite v VIP vrsto
Naslednji:. .Net platforma
 Najemodajalec| Objavljeno na 9. 01. 2017 13:41:53 |
1 Primerjava tehničnih značilnosti vrste in teme
ime
Tema
Čakalna vrsta
Pregled
Objavi Naroči sporočila Objavi naročninska sporočila
Točka-točka-točka
Ni države
Podatki o temah so privzeto brez stanja.
Podatki o vrsti so privzeto shranjeni kot datoteka na strežniku MQ, na primer Active MQ je običajno shranjen pod $AMQ_HOME\data\kr-store\data. Lahko se konfigurira tudi kot podatkovna shramba.
Jamstvo integritete
Ni nobenega zagotovila, da bo vsak podatek, ki ga objavi založnik, sprejet s strani naročnika.
Čakalna vrsta zagotavlja, da lahko prejemnik prejme vsak podatek.
ali bo sporočilo izgubljeno
Na splošno, ko založnik objavi sporočilo določeni temi, lahko sporočilo prejme le tisti, ki posluša naslov teme. Če ni podforuma, ki bi ga poslušali, je tema izgubljena.
Pošiljatelj pošlje sporočilo ciljni vrsti, prejemnik pa lahko sprejema sporočila v tej vrsti asinhrono. Sporočila v čakalni vrsti ne bodo izgubljena, če za zdaj ni prejemnika, ki bi jih prevzel.
Politika sprejemanja sporočil
Politika objavljanja in prejemanja sporočil ena proti več, več naročnikov, ki poslušajo isto temo, lahko prejme sporočila, ki jih pošlje založnik. Podmornica prejme obvestilo na mq strežnik
Politike objavljanja in prejemanja sporočil ena na ena, sporočila, ki jih pošilja pošiljatelj, lahko prejme le en prejemnik. Ko prejemnik prejme sporočilo, MQ strežnik obvesti MQ strežnik, da je bil prejet, MQ strežnik pa izbriše ali izvede druge ukrepe glede sporočil v vrsti.

 Najemodajalec| Objavljeno na 9. 01. 2017 13:42:15 |
Največja razlika med temo in čakalno vrsto je, da je tema v obliki oddajanja, ki obvešča vse spletne poslušalne odjemalce o novem sporočilu, odjemalec brez nadzora pa sporočila ne bo prejel; Čakalna vrsta pa obvešča enega od več poslušalnih odjemalcev na način peer-to-peer.

2 Primerjava učinkovitosti obdelave sporočil med metodami tematske in vrste
        S povečanjem števila sočasnosti poslušalnega odjemalca preverite, ali se bo potisk sporočila teme bistveno zmanjšal zaradi povečanja sočasnosti poslušalnega odjemalca.
        Iz izmerjenih rezultatov ni pomembne razlike v učinkovitosti pošiljanja in prejemanja sporočil, ki jih pošilja metoda teme, pod predpostavko enega naročnika in 100 naročnikov, vendar je ob predpostavki sočasnosti 500 naročnikov (niti) razlika v učinkovitosti očitna (zaradi sočasnosti 500 niti je stopnja uporabe procesorja na mojem računalniku kar 70-90 %, zato je nemogoče potrditi, ali gre za ozko grlo zmogljivosti, ki ga povzroča lokalni test, ali ozko grlo v načinu pošiljanja sporočil v temi, kar je povzročilo tako občutno zmanjšanje učinkovitosti).
        Pri predpostavki enega naročnika in 100 naročnikov ni pomembne razlike v učinkovitosti pošiljanja in prejemanja sporočil po tematski metodi in načinu čakalne vrste, vendar je ob predpostavki sočasnosti 500 naročnikov učinkovitost tematskega načina bistveno nižja kot pri čakalni vrsti.
        Učinkovitost pošiljanja in prejemanja sporočil, poslanih po metodi Queue, se bistveno ne spremeni pod predpostavko enega naročnika, 100 naročnikov in 500 naročnikov.
Podatki o temi:


Skupno število sporočil, ki jih je poslal pošiljatelj
Skupno število sporočil, ki jih prejmejo vsi naročniki
Povprečni čas, ki je potreben za pošiljanje in prejemanje sporočil
Enojni naročnik
100
100
101ms
100 naročnikov
100
10000
103ms
500 naročnikov
100
50000
14162 ms

Podatki, izmerjeni v vrsti:


Skupno število sporočil, ki jih je poslal pošiljatelj
Skupno število sporočil, ki jih prejmejo vsi naročniki
Povprečni čas, ki je potreben za pošiljanje in prejemanje sporočil
Enojni naročnik
100
100
96ms
100 naročnikov
100
100
96ms
500 naročnikov
100
100
100 ms

Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com