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

Näkymä: 23835|Vastaus: 0

RabbitMQ BasicQos kuluttajien rinnakkaiskäsittelyn rajoitus

[Kopioi linkki]
Julkaistu 10.4.2018 22.36.02 | | | |


Ensinnäkin meillä on 100 käsittelemätöntä viestiä rabbitmq-palvelimellamme, avaamme kuluttajaasiakkaan satunnaisesti, ja seuraava tilanne ilmestyy,

100 tietoa, kaikki siirretty hetkessä, mutta emme voi käsitellä niin paljon dataa yhtä aikaa yhdellä asiakkaalla, mitä meidän pitäisi tehdä?




Kuten yllä olevasta kuvasta näkyy, emme vahvistaneet viestin vastaanottoa! Jos tuottaja jatkaa niiden lähettämistä, me kuluttajat saamme sen jatkossakin!

Kuvittele, jos me yksittäinen kuluttaja voimme käsitellä jopa 60 viestiä yhdessä minuutissa, mutta tuottaja voi lähettää 300 viestiä minuutissa, jos,Meillä on kuluttajaasiakasohjelma, joka tarvitsee vastaanottaa 300 viestiä samanaikaisesti minuutissa, mikä on ylittänyt maksimikuormamme, mikä voi johtaa palvelinresurssien loppuun ja kuluttajaasiakkaan jumiutumiseen
RabbitMQ tarjoaa qoS-ominaisuuden (Quality of Service), eli ei-automaattisen viestien vahvistuksen periaatteella, jos tietty määrä viestejä (asettamalla Qos-arvo kuluttajan tai kanavan perusteella) ei vahvistu, uusia viestejä ei kuluteta.



prefetchSize:0
prefetchCount: Käskee RabbitMQ:ta olemaan lähettämättä kuluttajalle enempää kuin N viestiä samanaikaisesti, eli kun on N viestiä, joita ei ole vielä hyväksytty, kuluttaja estää, kunnes viesti on vastaanotettu
global:true\false Riippumatta siitä, sovelletaanko yllä mainitut asetukset kanaville, yksinkertaisesti sanottuna, ovatko yllä mainitut rajoitukset kanavatasolla vai kuluttajatasolla
Huomautus: Sanotaan, että prefetchSize ja global eivät ole rabbitmq:n toteuttamia, joten en aio tutkia niitä toistaiseksi


prefetch_count tulee voimaan, kun no_ask=epätosiEli automaattivastauksessa nämä kaksi arvoa ovatEi voimassaof

Aseta prefetchCount = 3 BasicQos-menetelmällä. Tämä mahdollistaa RabbitMQ:n käsitellä jopa 3 viestiä per kuluttaja samanaikaisesti. Toisin sanoen, se ei jaa uusia viestejä kuluttajalle ennen kuin vastaanotto on vastaanotettu. Näin sen voi asettaa:





Kuten kuvasta näkyy, jonoa kuuntelee samanaikaisesti kaksi kuluttajaa, mutta huomaa, että viesti täällä veloitetaan automaattisesti vain, jos toinen kuluttaja kuluttaa sen, eikä toinen kuluttaja saa tätä viestiä uudelleen.

Virallinen verkkosivuston esittely: http://www.rabbitmq.com/consumer-prefetch.html

Huomaa, että tämä menetelmä voi aiheuttaa jonon täyttymisen. Tietenkin saatat joutua lisäämään lisää kuluttajia tai luomaan lisää virtuaalisäntiä suunnittelun hiomiseksi.





Edellinen:EF toteuttaa massatietokantalisäyksiä, päivityksiä ja poistoja
Seuraava:IIS Express -verkkopalvelinta ei voitu käynnistää
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