MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀrk. tÔlge.: Selles artiklis jagab Banzai Cloud nÀidet, kuidas kasutada oma spetsiaalseid utiliite, et lihtsustada Kafka haldamist Kuberneteses. Esitatud juhised illustreerivad, kuidas leida optimaalse infrastruktuuri suuruse ja seadistada Kafka nÔutava lÀbilaskevÔime saavutamiseks.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

Apache Kafka on jaotatud voogedastuse platvorm, mis vĂ”imaldab luua usaldusvÀÀrseid, skaleeritavaid ja kĂ”rge jĂ”udlusega reaalajas voogesitussĂŒsteeme. Selle muljetavaldavaid vĂ”imalusi saab laiendada Kubernetesega. Selleks oleme vĂ€lja töötanud Open Source-Kafka operaatori ja tööriista nimega Supertubes. Need vĂ”imaldavad kĂ€ivitada Kafka Kuberneteses ja kasutada selle erinevaid funktsioone, nagu hÀÀlestamine, automaatne skaleerimine, pĂ”hivarade teadlikkus, "pehme" (graceful) uuenduste juurutamine jne.

Proovige Supertubes oma klastris:

curl https://getsupertubes.sh | sh ja supertubes install -a --no-democluster --kubeconfig

VĂ”i vĂ”tke ĂŒhendust dokumentatsioonis. Samuti vĂ”ib lugeda mĂ”ningatest Kafka vĂ”imalustest, mille töö on automatiseeritud Supertubes'i ja Kafka operaatori abil. Me oleme neist juba blogis kirjutanud:

Kui otsustate kĂ€itada Kafka klastrit Kubernetes'es, seisate tĂ”enĂ€oliselt silmitsi kĂŒsimusega, kuidas mÀÀrata baas infrastruktuuri optimaalne suurus ja kohandada Kafka konfiguratsiooni vastavalt lĂ€bilaskevĂ”ime nĂ”udmistele. Iga brokera maksimaalne jĂ”udlus sĂ”ltub selle aluseks olevate infrastruktuuri komponentide, nagu mĂ€lu, protsessor, ketta kiirus, vĂ”rgu lĂ€bilaskevĂ”ime jne, jĂ”udlusest.

Ideaalis peaks maakleri konfiguratsioon olema selline, et kĂ”ik infrastruktuuri elemendid töötavad oma maksimaalses vĂ”imekuses. Kuid reaalses elus on sellise seadistuse saavutamine ĂŒsna keeruline. TĂ”enĂ€olisem on, et kasutajad seadistavad maakleri konfiguratsiooni nii, et maksimeerivad ĂŒhe vĂ”i kahe komponendi (ketta, mĂ€lu vĂ”i protsessori) kasutamist. Üldiselt nĂ€itab maakler maksimaalset jĂ”udlust, kui tema konfiguratsioon vĂ”imaldab kĂ”ige aeglasemal komponendil töötada tĂ€ielikult. Nii saame umbkaudse ettekujutuse koormusest, millega ĂŒks maakler toime tulla suudab.

Teoreetiliselt saame samuti hinnata nende maaklerite arvu, mis on vajalik antud koormuse talumiseks. Kuid praktikas on erinevate tasemete seadistamiseks nii palju variante, et mingi konfiguratsiooni potentsiaalset jÔudlust on vÀga keeruline (kui mitte vÔimatu) hinnata. TeisisÔnu, on vÀga keeruline planeerida konfiguratsiooni, tuginedes mingile kindlale jÔudlusele.

Supertubes kasutajatele rakendame tavaliselt jÀrgmist lÀhenemist: alustame teatud konfiguratsioonist (infrastruktuur + seaded), seejÀrel mÔÔdame selle jÔudlust, kohandame maakleri seadeid ja korrame protsessi veel kord. See kestab seni, kuni kÔige aeglasema infrastruktuuri komponendi potentsiaal on tÀielikult Àra kasutatud.

Nii saame selgema ĂŒlevaate sellest, kui palju maaklereid on klastril vaja, et teatud koormusega toime tulla (maaklerite arv sĂ”ltub ka teistest teguritest, nagu minimaalne sĂ”numite replikate arv stabiilsuse tagamiseks, partition-juhtide arv jne). Lisaks saame aimu, millist infrastruktuuri komponenti on soovitatav vertikaalselt skaleerida.

Selles artiklis rÀÀgitakse sammudest, mida astume, et 'vĂ€lja pigistada kĂ”ik' kĂ”ige aeglasematest komponentidest algkonfiguratsioonides ja mÔÔta Kafka klastrite lĂ€bilaskevĂ”imet. KĂ”rge usaldusvÀÀrsusega konfiguratsioon vajab vĂ€hemalt kolme töötavat maaklerit (min.insync.replicas=3), kolm erineva kĂ€ttesaadavuspiirkonna vahel. Kubernetes'i infrastruktuuri konfigureerimiseks, skaleerimiseks ja jĂ€lgimiseks kasutame meie enda konteinerihaldusplatvormi hĂŒbriidpilvede jaoks — Pipeline. See toetab on-premise (bare metal, VMware) ja viit erinevat pilve (Alibaba, AWS, Azure, Google, Oracle), samuti nende mis tahes kombinatsioone.

MÔtted infrastruktuuri ja Kafka klastrite konfiguratsiooni kohta

Allpool toodud nĂ€idete jaoks oleme valinud AWS pilveteenuse pakkujaks ja EKS-i Kubernetes'i jaotuseks. Sarnast konfiguratsiooni saab rakendada ka PKE — Banzai Cloud'i Kubernetes'i jaotus, mis on CNCF'i sertifitseeritud.

Kett

Amazon pakub erinevaid EBS-i mĂ€lutĂŒĂŒpe. Aluseks on gp2 ja io1 SSD-diskid, kuid kĂ”rge lĂ€bilaskevĂ”ime tagamiseks gp2 kasutab kogutud krediite (I/O krediidid), seetĂ”ttu eelistasime tĂŒĂŒpi io1, mis pakub stabiilset kĂ”rget lĂ€bilaskevĂ”imet.

InstantsitĂŒĂŒbid

Kafka jĂ”udlus sĂ”ltub tugevalt operatsioonisĂŒsteemi lehekĂŒljekattest, seega vajame instantsse, millel on piisavalt mĂ€lu brokera (JVM) ja lehekĂŒljekatte jaoks. Instants c5.2xlarge — hea algus, kuna sellel on 16 GB RAM-i ja see on optimeeritud EBS-i töötamiseks. Selle miinus on see, et see suudab tagada maksimaalset jĂ”udlust mitte rohkem kui 30 minutit iga 24 tunni jooksul. Kui töökoormus nĂ”uab maksimaalset jĂ”udlust pikema aja jooksul, tasub kaaluda teisi tĂŒĂŒpe instantsse. Just nii me tegime, valides c5.4xlarge. See tagab maksimaalse lĂ€bilaskevĂ”ime 593,75 MB/s. EBS-i mahuti maksimaalne lĂ€bilaskevĂ”ime io1 on suurem kui selle instantsi c5.4xlarge, seega tundub, et infrastruktuuri aeglasem komponent on selle tĂŒĂŒbi instantsi I/O lĂ€bilaskevĂ”ime (mida peaksid kinnitama ka meie koormustestide tulemused).

VÔrk

VÔrgu lÀbilaskevÔime peaks olema piisavalt suur vÔrreldes VM-i instantsi ja ketta jÔudlusega, vastasel juhul muutub vÔrk kitsaskohaks. Meie juhul toetab vÔrgu liides c5.4xlarge kiirus kuni 10 Gb/s, mis on oluliselt kÔrgem VM-i instantsi I/O lÀbilaskevÔimest.

Brokereid juurutamine

Brokereid tuleb kĂ€ivitada (planeerida Kuberneteses) pĂŒhendatud sĂ”lmedes, et vĂ€ltida konkurentsi teiste protsesside vahel CPU, mĂ€lu, vĂ”rgu ja kettaressursside pĂ€rast.

Java versioon

Loogiline valik on Java 11, kuna see on Dockeriga ĂŒhilduv, tagades, et JVM mÀÀrab Ă”igesti protsessorid ja mĂ€lu, mis on saadaval konteineris, kus broker töötab. Teades, et protsessorite piirangud on olulised, mÀÀrab JVM sisemiselt ja lĂ€bipaistvalt GC ja JIT-kompilaatori lĂ”ime arvu. Kasutasime Kafka pilti banzaicloud/kafka:2.13-2.4.0, mis sisaldab Kafka versiooni 2.4.0 (Scala 2.13) Java 11 peal.

Kui soovite Java/JVM kohta Kuberneteses rohkem teada saada, vaadake meie jÀrgmisi publikatsioone:

BrokДрО mĂ€lu seaded

Brokeri mĂ€lu seadistamisel on kaks peamist aspekti: JVM-i seadistused ja Kubernetes'i pod'i seadistused. Pod'i jaoks mÀÀratud mĂ€lu piir olema suurem kui maksimaalne heap size, et JVM-il oleks ruumi Java metaruumi jaoks, mis asub oma mĂ€lus, ja operatsioonisĂŒsteemi lehekaatĆĄ, mida Kafka aktiivselt kasutab. Meie testides kĂ€ivitasime Kafka brokereid seadistustega -Xmx4G -Xms2G, samas kui pod'i mĂ€lu piir oli 10 Gi. Pidage meeles, et JVM-i mĂ€lu seadistusi saab automaatselt hankida, kasutades -XX:MaxRAMPercentage ja -X:MinRAMPercentage, lĂ€htudes pod'i mĂ€lu piirist.

Brokri protsessoriseaded

Üldiselt saab tĂ”husust suurendada, suurendades paralleelsust, suurendades Kafka kasutatavate lĂ”ime arvu. Mida rohkem protsessoreid Kafka jaoks saadaval on, seda parem. Meie testis alustasime 6 protsessori piiranguga ja suurendasime nende arvu jĂ€rk-jĂ€rgult (iteratsioonide kaupa) kuni 15. Samuti seadsime num.network.threads=12 brokerite seadetes, et suurendada voogude arvu, mis vĂ”tab andmeid vĂ”rgust ja saadab need edasi. Kohe pĂ€rast avastamist, et jĂ€relevalve-brokerid ei suuda piisavalt kiiresti replikate saada, tĂ”steti num.replica.fetchers kuni 4, et suurendada kiirust, millega jĂ€relevalve-brokerid replitseerivad sĂ”numeid liidritelt.

Koormuse genereerimise tööriist

Peab veenduma, et valitud koormuse generaatori potentsiaal ei lÔpe enne, kui Kafka klaster (millele tehakse bÀnkmÀrk) saavutab maksimaalse koormuse. TeisisÔnu, on oluline eelnevalt hinnata koormuse genereerimise tööriista vÔimalusi ning valida selleks piisava protsessori ja mÀlu arvuga instantsid. Sel juhul toodab meie tööriist rohkem koormust, kui Kafka klaster suudab taluda. PÀrast mitmeid katseid peatusime kolme instantsi peal, c5.4xlargemilles igas oli kÀivitatud generaator.

Benkmarkimine

Suuruse mÔÔtmine on iteratiivne protsess, mis hÔlmab jÀrgmisi etappe:

  • infrastruktuuri seadistamine (EKS klaster, Kafka klaster, koormuse genereerimise tööriist, samuti Prometheus ja Grafana);
  • koormuse genereerimine kindlaksmÀÀratud ajavahemiku jooksul, et filtreerida juhuslikke kĂ”rvalekaldeid kogutud jĂ”udlusnĂ€itajates;
  • infrastruktuuri ja vahendite konfigureerimise kohandamine vaatatud jĂ”udlusnĂ€itajate pĂ”hjal;
  • protsessi kordamine seni, kuni saavutatakse nĂ”utav Kafka klastrite lĂ€bivoolu tase. See peab olema stabiilselt reprodutseeritav ja nĂ€itama minimaalset variatsiooni lĂ€bivoolust.

JÀrgmises jaos kirjeldatakse samme, mida tehti testklastri bÀnkmÀrkimise protsessi kÀigus.

Tööriistad

Kiireks pÔhikonfiguratsiooni seadistamiseks, koormuse genereerimiseks ja jÔudluse mÔÔtmiseks kasutati jÀrgmisi tööriistu:

  • Banzai Cloud Pipeline EKS klastri korraldamiseks Amazonilt c Prometheus (Kafka ja infrastruktuuri meetrikate kogumiseks) ja Grafana (selle meetrikate visualiseerimiseks). Kasutasime integreeritud ĂŒhes Pipeline teenuseid, mis pakuvad föderaalselt jĂ€lgimist, keskset logide kogumist, haavatavuste skaneerimist, tĂ”rke taastamist, ettevĂ”tte tasemel turvalisust ja palju muud.
  • Sangrenel — tööriist Kafka klasteri koormustestimiseks.
  • Grafana paneelid Kafka ja infrastruktuuri metrikate visualiseerimiseks: Kubernetes Kafka, Node Exporter.
  • Supertubes CLI maksimaalselt lihtsaks Kafka klasteri seadistamiseks Kuberneteses. Zookeeper, Kafka operator, Envoy ja palju muid komponente on installitud ja Ă”igesti konfigureeritud, et kĂ€ivitada production-ready Kafka klaster Kuberneteses.
    • Paigaldamiseks supertubes CLI kasutage juhiseid, mis on toodud siit.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

EKS klaster

Valmistage EKS klaster, kus on eraldatud töövÔlurid c5.4xlarge erinevates kÀttesaadavustsoonides Kafka brokergarede pod'ide jaoks, samuti eraldatud sÔlmed koormuse genereerijale ja jÀlgimisinfrastruktuurile.

banzai cluster create -f https://raw.githubusercontent.com/banzaicloud/kafka-operator/master/docs/benchmarks/infrastructure/cluster_eks_202001.json

Kui EKS klaster on ĂŒles pandud, aktiveerige selle sisseehitatud jĂ€lgimisteenus — see paigaldab Prometheuse ja Grafana klastrisse.

Kafka sĂŒsteemikomponendid

Installige Kafka sĂŒsteemikomponendid (Zookeeper, kafka-operator) EKS-is supertubes CLI abil:

supertubes install -a --no-democluster --kubeconfig

Kafka klaster

EKS kasutab vaikimisi EBS tĂŒĂŒpi mahuteid gp2, seetĂ”ttu tuleb luua eraldi salvestusklass mahtude pĂ”hjal io1 Kafka klastri jaoks:

kubectl create -f - <<EOF
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast-ssd
provisioner: kubernetes.io/aws-ebs
parameters:
  type: io1
  iopsPerGB: "50"
  fsType: ext4
volumeBindingMode: WaitForFirstConsumer
EOF

Seadke brokerite jaoks parameeter min.insync.replicas=3 ja juurutage brokeri pod'id kolmes erinevas kÀttesaadavuspiirkonnas:

supertubes cluster create -n kafka --kubeconfig  -f https://raw.githubusercontent.com/banzaicloud/kafka-operator/master/docs/benchmarks/infrastructure/kafka_202001_3brokers.yaml --wait --timeout 600

Teemad

KĂ€itasime samaaegselt kolme koormusgeneraatori eksemplari. IgaĂŒks neist kirjutab oma teemasse, st meil on kokku vaja kolme teemat:

supertubes cluster topic create -n kafka --kubeconfig  -f -<<EOF
apiVersion: kafka.banzaicloud.io/v1alpha1
kind: KafkaTopic
metadata:
  name: perftest1
spec:
  name: perftest1
  partitions: 12
  replicationFactor: 3
  retention.ms: '28800000'
  cleanup.policy: delete
EOF

supertubes cluster topic create -n kafka --kubeconfig  -f -<<EOF
apiVersion: kafka.banzaicloud.io/v1alpha1
kind: KafkaTopic
metadata:
    name: perftest2
spec:
  name: perftest2
  partitions: 12
  replicationFactor: 3
  retention.ms: '28800000'
  cleanup.policy: delete
EOF

supertubes cluster topic create -n kafka --kubeconfig  -f -<<EOF
apiVersion: kafka.banzaicloud.io/v1alpha1
kind: KafkaTopic
metadata:
  name: perftest3
spec:
  name: perftest3
  partitions: 12
  replicationFactor: 3
  retention.ms: '28800000'
  cleanup.policy: delete
EOF

Iga teema replikatsioonifaktor on 3 — minimaalne soovitatav vÀÀrtus kĂ”rge kĂ€ttesaadavuse tootmissĂŒsteemide jaoks.

Koormuse genereerimise tööriist

Meie jooksime kolm koormuse genereerimise eksemplari (igal ĂŒhel oli eraldi teema). Koormuse genereerimise pod'ide jaoks on vajalik mÀÀrata node affinity, et need planeeritaks ainult neile mÀÀratud sĂ”lmedele:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: loadtest
  name: perf-load1
  namespace: kafka
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: loadtest
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: loadtest
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: nodepool.banzaicloud.io/name
                operator: In
                values:
                - loadgen
      containers:
      - args:
        - -brokers=kafka-0:29092,kafka-1:29092,kafka-2:29092,kafka-3:29092
        - -topic=perftest1
        - -required-acks=all
        - -message-size=512
        - -workers=20
        image: banzaicloud/perfload:0.1.0-blog
        imagePullPolicy: Always
        name: sangrenel
        resources:
          limits:
            cpu: 2
            memory: 1Gi
          requests:
            cpu: 2
            memory: 1Gi
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30

MÔned punktid, millele tÀhelepanu pöörata:

  • Koormuse genereerija genereerib 512-baidiseid sĂ”numeid ja avaldab need Kafka-s 500-sĂ”numiliste gruppidena.
  • Argumenti kasutades -required-acks=all publikatsioon loetakse edukaks, kui kĂ”ik sĂŒnkroniseeritud sĂ”numi koopiad on saadud ja Kafka brokerid on need kinnitanud. See tĂ€hendab, et meie mÔÔtmises hindasime mitte ainult liidri kiirusest, kes sĂ”numeid vastu vĂ”tab, vaid ka nende jĂ€rgijate kiirusest, kes sĂ”numeid replitseerivad. Selle testi eesmĂ€rk ei ole hinnata tarbijate (consumers) kiiruset, kes loevad uusimaid sĂ”numeid, mis jÀÀvad veel operatsioonisĂŒsteemi lehekausta ja vĂ”rrelda seda sĂ”numite lugemise kiirusest, mis on salvestatud kettale. (consumers) Hiljuti vastuvĂ”etud sĂ”numeid, mis jÀÀvad veel operatsioonisĂŒsteemi lehekausta, ja selle vĂ”rreldavust sĂ”numite lugemise kiirusest, mis on salvestatud kettale.
  • Koormuse generaator kĂ€ivitab paralleelselt 20 töötlusprotsessi (-workers=20). Iga töötlusprotsess sisaldab 5 tootjat, kes jagavad oma ĂŒhendust töötlusprotsessiga Kafka klastri. Kokku on igas koormuse generaatoris 100 tootjat, kes kĂ”ik saadavad sĂ”numeid Kafka klastri.

Klastri oleku jÀlgimine

Koormustestimise ajal jĂ€lgisime ka Kafka klastri tervist, et veenduda pod'ide taaskĂ€ivitamise, sĂŒnkroniseerimata koopiate ja maksimaalse lĂ€bilaskevĂ”ime puudumises minimaalsete kĂ”ikumistega:

  • Koormuse generaator annab standardstatistikat avaldatud sĂ”numite arvu ja vigade taseme kohta. Vigade protsent peaks jÀÀma vÀÀrtusele 0,00%.
  • Cruise Control, mida haldab kafka-operator, pakub jĂ€lgimisliidest, kus saame samuti jĂ€lgida klastrite seisundit. Selle liidese vaatamiseks kĂ€ivita:
    supertubes cluster cruisecontrol show -n kafka --kubeconfig
  • ISR tase (in-sync replikate arv) shrink ja expansion on 0.

MÔÔtmis tulemused

3 brokerit, sĂ”numite suurus — 512 baiti

Partitsioonidega, mis on vÔrdselt jagatud kolme brokera vahel, suutsime saavutada tootlikkuse ~500 MB/s (umbes 990 tuhat sÔnumit sekundis):

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

JVM-i virtuaalmasina mĂ€lu kasutamine ei ĂŒletanud 2 GB:

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

Ketta lÀbilaskevÔime saavutas igal kolmel instantsil maksimaalse I/O lÀbilaskevÔime, kus brookerid töötasid:

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

SĂ”lmede mĂ€lukasutuse andmetest selgub, et sĂŒsteemne puhversalvestus ja vahemĂ€lu olid ~10-15 GB:

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

3 brokerit, sĂ”numite suurus — 100 baiti

SÔnumite suuruse vÀhenemisega langeb lÀbilaskevÔime umbes 15-20%: see mÔjutab iga sÔnumi töötlemiseks kuluvat aega. Samuti on protsessori koormus peaaegu kahekordistunud.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

Kuna brokeri sĂ”lmedes on endiselt kasutamata tuumasid, saab jĂ”udlust parandada Kafka konfiguratsiooni muutmisega. See pole lihtne ĂŒlesanne, seetĂ”ttu on parem töötada suuremate sĂ”numitega, et suurendada lĂ€bilaskevĂ”imet.

4 brok silent, sĂ”numi suurus — 512 baiti

Kafka klastrite jĂ”udlust on lihtne suurendada, lisades lihtsalt uusi brokereid ja sĂ€ilitades partition'ide tasakaalu (see tagab koormuse ĂŒhtlase jaotumise brokerite vahel). Meie puhul suurenes klastrite lĂ€bilaskevĂ”ime pĂ€rast brok silent'i lisamist ~580 Mb/s (~1,1 miljonit sĂ”numit sekundis). Kasv osutus oodatust vĂ€iksemaks: peamiselt on selle pĂ”hjuseks partition'ide tasakaalu puudumine (kĂ”ik brokerid ei tööta maksimaalsel vĂ”imekusel).

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

JVM-i masina mÀlu tarbimine jÀi alla 2 Gb:

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

Partition'ide tasakaalu puudumine mÔjutas brokerite tööd:

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

MÀÀrame sobiva suuruse Kafka klastri jaoks Kuberneteses.

JĂ€reldused

Ülaltoodud ettearvutuslik lĂ€henemisviis vĂ”ib laieneda keerukamate stsenaariumide jaoks, mis hĂ”lmavad sadu tarbijate, ĂŒmberjaotust, uute uuenduste juurutamist, pod’ide taaskĂ€ivitamist jne. See kĂ”ik vĂ”imaldab meil hinnata Kafka klastrite vĂ”imeid erinevates tingimustes, tuvastada kitsaskohti ning leida viise probleemide lahendamiseks.

Oleme loonud Supertubes kiireks ja lihtsaks klastrite juurutamiseks, konfigureerimiseks, maaklerite ja teema lisamiseks/eemaldamiseks, hoiatustele reageerimiseks ja Kafka nĂ”uetekohase toimimise tagamiseks Kuberneteses laiemalt. Meie eesmĂ€rk on aidata keskenduda pĂ”hitegevusele ("toota" ja "tarbida" Kafka sĂ”numeid), samas kui kogu raske töö jÀÀb Supertubes’i ja Kafka operaatori Ă”lule.

Kui olete huvitatud tehnikast ja Banzai Cloudi avatud lÀhtekoodiga projektidest, jÀlgige ettevÔtet GitHub, LinkedIn vÔi Twitter.

P.S. tÔlkija mÀrkused

Lugege ka meie blogist:

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster