Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 8397|Vastaus: 0

Johdanto RabbitMQ:n kolmeen vaihtotilaan (fanout, suora ja aihe)

[Kopioi linkki]
Julkaistu 29.3.2018 14.30.45 | | | |
Johdanto:
RabbitMQ:ssa kaikki tuottajien lähettämät viestit hyväksytään Exchangen toimesta, joka sitten välittää ne jonoon tallennettavaksi tietyn käytännön mukaisesti
RabbitMQ tarjoaa neljä tyyppiä vaihtoja: fanout, suora, aihe ja otsikko
Otsikkotilaa käytetään käytännössä vähemmän, ja tässä artikkelissa verrataan vain ensimmäisiä kolmea tilaa.

1. Suora vaihto


Kaikki Direct Exchangeen lähetetyt viestit ohjataan RouteKeyn määrittelemään jonoon.

1. Yleisesti ottaen voit käyttää rabbitMQ:n mukana tulevaa Exchange:" (Pörssin nimi on tyhjä merkkijono, jota kutsutaan tästä eteenpäin oletus-Exchangeksi).

2. Tässä tilassa ei ole tarvetta tehdä mitään binding -toimintoja Exchangeen

3. Viestittelyyn tarvitaan "RouteKey", joka voidaan yksinkertaisesti ymmärtää jonon nimenä, johon lähetetään.

4. Jos RouteKeyssä annettu jonon nimi ei ole vhostissa, viesti poistetaan.

2. Fanout-vaihto


Kaikki viestit, jotka lähetetään Fanout-pörssiin, välitetään kaikille kyseiseen vaihtoon sidotuille jonoille.

1. Se voidaan ymmärtää reititystaulukon kaavana

2. Tämä tila ei vaadi Route-avainta

3. Tämä tila vaatii Exchangen sitomista jonoon etukäteen, yksi Exchange voi sitoa useita Jonoja ja yksi Queue voidaan sitoa useampaan Exchangeen.

4. Jos viestin vastaanottanut pörssi ei ole sidottu mihinkään jonoon, viesti poistetaan.

3. Aiheiden vaihto


Kaikki viestit, jotka lähetetään Topic Exchangeen, välitetään kaikille jonoille, jotka välittävät RouteKeyssä määritellyistä aiheista

1. Tämä malli on yksinkertaisesti monimutkaisempi, jokaisella jonolla on oma huolenaiheensa, kaikilla viesteillä on "otsikko" (RouteKey), ja Exchange välittää viestin kaikille jonoille, jotka voivat epämääräisesti vastata aiheen RouteKeytä.

2. Tämä tila vaatii RouteKeyn, mahdollisesti Exchange- ja Queue-sitomisen etukäteen.

3. Sidottaessa anna aihe, josta jonoa kiinnostaa, kuten "#.log.#", joka osoittaa, että jono välittää kaikista lokeihin liittyvistä viesteistä (viesti, jonka RouteKey on "MQ.log.error", välitetään jonoon).

4. "#" tarkoittaa 0 tai useita avainsanoja, ja "" tarkoittaa yhtä avainsanaa. Esimerkiksi "loki." Se voi vastata "log.warn", mutta ei "log.warn.timeout"; Mutta "log.#" vastaa yllä mainittua.

5. Vastaavasti, jos Exchange ei löydä jonoa, joka vastaa RouteKeytä, se lähettää tämän viestin.




Edellinen:Käytä XPoseadia ohittaaksesi Androidin SSL-sertifikaattien vahvan validoinnin
Seuraava:.net/c# RabbitMQ-yhteyden katkaisu - katkaisu ja uudelleenyhdistäminen
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com