Teknologian jakaminen

kafkan tuottaja

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

tuottaja

Tuottajat ovat vastuussa viestien luomisesta ja toimittamisesta Kafkaan.
Lisää kuvan kuvaus tähän

kuormituksen tasapainoittaminen

  1. Äänestysstrategia.
  2. Satunnainen strategia.
  3. Hash avaimen mukaan.

Kafkan oletusosiointistrategia: Jos avain on määritetty, samaan osioon lähetetään viestit samalla avaimella (osioita järjestetään, jos avainta ei ole määritetty, käytetään kyselystrategiaa).

Lähetä viesti

acks määrittää, kuinka monta osion replikoita tuottaja tarvitsee vastaanottaakseen viestin, ennen kuin se katsoo viestin kirjoitetun onnistuneesti.

Kolmen menetelmän joukossa ei ole etuja tai haittoja. Sen sijaan sinun on valittava sopiva strategia paikallisten olosuhteiden mukaan. Suorituskyvyn ja luotettavuuden välillä on kompromissi.

On 3 tapaa lähettää viestejä:

Lähetä ja unohda.

acks = 0.
Tuottaja ei odota välittäjän vastausta viestin lähettämisen jälkeen. Useimmissa tapauksissa viestit voidaan toimittaa onnistuneesti, koska Kafka on erittäin saatavilla ja tuottajalla on mekanismi automaattisesti yrittää lähettää uudelleen. Jos kuitenkin tapahtuu virhe tai aikakatkaisu, jota ei voi yrittää uudelleen, viesti katoaa eikä sovellus saa tietoja tai poikkeuksia.
Samassa määritysympäristössä kuittausten asettaminen arvoon 0 voi saavuttaa suurimman suorituskyvyn.

Lähetä asynkronisesti

acks=1, oletusarvo.
Kun tuottaja on lähettänyt viestin, niin kauan kuin osion pääkopio kirjoittaa viestin onnistuneesti, se saa onnistuneen vastauksen palvelimelta.

  • Jos viestiä ei voida kirjoittaa pääkopioon, esimerkiksi kun pääkopio kaatuu ja uusi pääkopio valitaan uudelleen, tuottaja saa virhevastauksen. Viestin katoamisen välttämiseksi tuottaja voi lähettää viestin uudelleen viesti.
  • Jos pääkopiolle kirjoitetaan viesti ja onnistunut vastaus palautetaan tuottajalle ja pääkopio kaatuu ennen kuin muut seuraajakopiot vetivät sen, viesti katoaa silti tällä hetkellä, koska vastaavaa viestiä ei ole olemassa vasta valittu johtajakopio.
    acks on asetettu arvoon 1, mikä on kompromissi viestin luotettavuuden ja suorituskyvyn välillä.
Lähetä synkronisesti

acks = -1 tai acks = kaikki.
Kun tuottaja on lähettänyt viestin, sen on odotettava kaikkien ISR:n replikoiden kirjoittamista onnistuneesti, ennen kuin se voi vastaanottaa onnistuneen vastauksen palvelimelta.
Samassa konfigurointiympäristössä kuittausten asettaminen arvoon -1 (kaikki) voi saavuttaa vahvimman luotettavuuden. Mutta tämä ei tarkoita, että viestin pitäisi olla luotettava, koska ISR:ssä voi olla vain johtokopio, joka rappeutuu tilanteeksi acks=1.