MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀrkus tÔlke kohta.: KÀesolevas artiklis jagab ettevÔte Banzai Cloud nÀidet oma spetsiaalsete utiliitide kasutamisest, et lihtsustada Kafka haldamist Kuberneteses. Esitatud juhised illustreerivad, kuidas mÀÀrata infrastruktuuri optimaalset suurust ja seadistada Kafka, et saavutada vajalik lÀbilaskevÔime.

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

Apache Kafka on jagatud voogedastuse platvorm usaldusvÀÀrsete, skaleeritavate ja kĂ”rge jĂ”udlusega reaalajas voogesitussĂŒsteemide loomiseks. Selle muljetavaldavaid vĂ”imalusi saab laiendada Kubernetesega. Selleks oleme arendanud Open Source Kafka operaatori ja tööriista nimega Supertubes. Need vĂ”imaldavad kĂ€itada Kafka Kuberneteses ja kasutada selle erinevaid funktsioone, nagu brokerei konfiguratsiooni peenhÀÀlestus, mÔÔtmete pĂ”hine skaleerimine koos uuesti tasakaalustamisega, rack awareness (riistvara teadlikkus), "pehme" (graceful) uuenduste rakendamine jne.

Proovige Supertubes oma klastris:

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

VÔi pöörduge dokumentatsioon. Samuti saab lugeda mÔningatest Kafka funktsioonidest, mille automatiseeritud haldamine toimub Supertubes ja Kafka operaatori kaudu. Oleme juba kirjutanud nendest meie blogis:

Otsustades kasvatada Kafka klastri Kuberneteses, seisate tÔenÀoliselt silmitsi probleemiga mÀÀrata baas-infrastruktuuri optimaalset suurust ja vajadusega peenhÀÀlestada Kafka konfiguratsiooni, et rahuldada lÀbilaskevÔime nÔudeid. Iga brokerei 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 oleksid oma vĂ”imekuse piiril kasutuses. Kuid reaalses elus on selline seadistus ĂŒsna keeruline. TĂ”enĂ€olisem on, et kasutajad seadistavad maaklerite konfiguratsiooni nii, et maksimaalset kasu saadakse ĂŒhest vĂ”i kahest komponendist (ketas, mĂ€lu vĂ”i protsessor). Üldiselt nĂ€itab maakler maksimaalset jĂ”udlust, kui tema konfiguratsioon vĂ”imaldab kĂ”ige aeglasema komponendi tĂ€ielikku kasutamist. Nii saame ligikaudse ĂŒlevaate koormusest, millega ĂŒks maakler hakkama saab.

Teoreetiliselt saame me samuti hinnata maaklerite arvu, mis on vajalik antud koormuse töötlemiseks. Kuid praktikas on erinevaid seadistusvÔimalusi nii palju, et on keeruline (kui mitte vÔimatu) hinnata mingi konfiguratsiooni potentsiaalset jÔudlust. TeisisÔnu, on vÀga keeruline planeerida konfiguratsiooni, lÀhtudes mingist antud jÔudlusest.

Supertubesi kasutajate jaoks rakendame me tavaliselt jÀrgmist lÀhenemist: alustame mÔnest konfiguratsioonist (infrastruktuur + seadistused), seejÀrel mÔÔdame selle jÔudlust, kohandame maakleri seadistusi ja kordame protsessi veel kord. Seda teeme seni, kuni kÔige aeglasema infrastruktuuri komponendi potentsiaal on tÀielikult rakendatud.

Selle viisi abil saame selgema arusaama sellest, kui palju maaklereid on klastrile vajalik, et toime tulla mÀÀratud koormusega (maaklerite arv sĂ”ltub samuti teistest teguritest, nagu sĂ”numite minimaalne replikate arv vastupidavuse tagamiseks, partition-juhid jne). Lisaks saame ĂŒlevaate sellest, millise infrastruktuuri komponendi puhul on soovitav vertikaalne skaleerimine.

Selles artiklis rÀÀgime sammudest, mida me astume, et "vĂ€lja pressida kĂ”ik" kĂ”ige aeglasematest komponentidest algtaseme konfiguratsioonides ja mÔÔta Kafka klastrite lĂ€bilaskevĂ”imet. KĂ”rge vastupidavusega konfiguratsioon nĂ”uab vĂ€hemalt kolme töötavat maaklerit (min.insync.replicas=3), mis jagatakse kolme erineva kĂ€ttesaadavuse tsooni. Kubernetes'i infrastruktuuri seadistamiseks, skaleerimiseks ja jĂ€lgimiseks kasutame meie enda konteinerihaldusplatvormi hĂŒbriidpilvede jaoks — Pipeline. See toetab on-premise (bare metal, VMware) ja viit tĂŒĂŒpi pilvi (Alibaba, AWS, Azure, Google, Oracle), samuti nende igasuguseid kombinatsioone.

MÔtted Kafka infrastruktuuri ja klastrite konfiguratsiooni kohta

Allpool toodud nĂ€idetes valisime AWS-i pilveteenuse pakkujaks ja EKS-i Kubernetes'i jaotuseks. Sarnast konfiguratsiooni saab rakendada, kasutades PKE — Banzai Cloud'i Kubernetes'i jaotust, mis on CNCF-i poolt sertifitseeritud.

Kettaruum

Amazon pakub erinevaid EBS-i mahtude tĂŒĂŒpe. Aluseks gp2 ja io1 on SSD-diskid, kuid kĂ”rge lĂ€bilaskevĂ”ime tagamiseks gp2 kasutab kogutud krediiti I/O krediidi (I/O credits), seega eelistasime tĂŒĂŒpi io1, mis pakub stabiilset kĂ”rget lĂ€bilaskevĂ”imet.

Instantside tĂŒĂŒbid

Kafka jĂ”udlus sĂ”ltub tugevalt operatsioonisĂŒsteemi lehtede vahemĂ€lust, seega vajame piisava mĂ€luga instantsse, et toita brokereid (JVM) ja lehtede vahemĂ€lu. Instants c5.2xlarge on hea algus, kuna sellel on 16 GB mĂ€lu ja on optimeeritud EBS-i jaoks.Selle puuduseks on see, et see suudab tagada maksimaalse jĂ”udluse mitte kauem kui 30 minutit 24 tunni jooksul. Kui koormus nĂ”uab maksimaalset jĂ”udlust pikema aja jooksul, tuleks kaaluda muid instantside tĂŒĂŒpe. Just nii me tegime, valides c5.4xlarge.See tagab maksimaalse lĂ€bilaskevĂ”ime 593,75 MB/s.Maksimaalne EBS-i mahtu lĂ€bilaskevĂ”ime io1 on suurem kui instantsil c5.4xlarge., seega tundub, et infrastruktuuri kĂ”ige aeglasem element on selle instantsi I/O lĂ€bilaskevĂ”ime (mida peavad kinnitama ka meie koormustestide tulemused).

VÔrk

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

Brokerite juurutamine

Brokereid peavad kasutama (planeerima Kubernetesis) eraldatud sÔlmi, et vÀltida konkurentsi teiste protsesside eest CPU, mÀlu, vÔrgu ja ketta ressursside osas.

Java versioon

Loogiliseks valikuks on Java 11, kuna see on kooskÔlas Dockeriga, nii et JVM mÀÀrab Ôigesti protsessorid ja mÀlu, mis on konteineris, kus broker töötab, saadaval. Teades, et protsessorite piirangud on olulised, mÀÀrab JVM sisemiselt ja lÀbipaistvalt GC ja JIT kompilaatori kiiruste 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 rohkem teada Java/JVM kohta Kubernetesis, vaadake meie jÀrgmisi vÀljaandeid:

Brokereid mÀlu seaded

Brokereid mĂ€lu seadistamisel on kaks peamist aspekti: seadistused JVM-ile ja Kubernetesi pod'ile. Pod'ile mÀÀratud mĂ€lu piir peab olema suurem kui maksimaalne heap size, et JVM-il jÀÀks ruumi Java metaruumiks, mis asub enda mĂ€lus, ja operatsioonisĂŒsteemi lehe vahemĂ€lu jaoks, mida Kafka aktiivselt kasutab. Meie testides kĂ€ivitasime Kafka brokereid seadistustega -Xmx4G -Xms2G, samas kui pod'i mĂ€lu piir oli 10 Gi. Pange tĂ€hele, et JVM-i mĂ€lu parameetrid saavad automaatselt tuvastada, kasutades -XX:MaxRAMPercentage ja -X:MinRAMPercentage, tuginedes pod'i mĂ€lu piiridele.

Brokereid protsessori seaded

Üldiselt on vĂ”imalik tĂ”sta jĂ”udlust, suurendades paralleelsust, suurendades Kafka kasutatavate kiiruselade arvu. Mida rohkem protsessoreid on Kafka jaoks saadaval, seda parem. Meie testis alustasime 6 protsessori piiranguga ja tĂ”stsime nende arvu jĂ€rk-jĂ€rgult (iteraatsioonide kaudu) kuni 15. Lisaks mÀÀrasime num.network.threads=12 brokeri seadetes, et suurendada kiiruselade arvu, mis saavad andmeid vĂ”rgust ja saadavad neid. Kohe mĂ€rkasin, et sekundaarsed brokerid ei suuda repliike piisavalt kiiresti vastu vĂ”tta, seetĂ”ttu tĂ”stsime num.replica.fetchers kuni 4, et suurendada kiirus, millega sekundaarsed brokerid replitseerivad sĂ”numeid liidritelt.

Koormuse genereerimise tööriist

Oluline on veenduda, et valitud koormusgeneraatori potentsiaal ei ammenduks enne, kui Kafka klaster (mille jĂ”udlust testitakse) saavutab oma maksimaalse koormuse. TeisisĂ”nu, tuleb eelnevalt hinnata koormusgeneraatori vĂ”imalusi ja valida selle jaoks instance'id, millel on piisavalt protsessoreid ja mĂ€lu. Sel juhul toodab meie tööriist rohkem koormust, kui Kafka klaster suudab taluda. PĂ€rast mitmeid katseid lĂ”ppesime kolme eksemplariga c5.4xlarge., millest igaĂŒhes kĂ€ivitus generaator.

JÔudluse testimine

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

  • infrastruktuuri (EKS klaster, Kafka klaster, koormusgeneraator ning Prometheus ja Grafana) seadistamine;
  • koormuse genereerimine kindla ajaperioodi jooksul, et filtreerida vĂ€lja juhuslikud kĂ”ikumised kogutud jĂ”udlusnĂ€itajates;
  • infrastruktuuri ja brokendi seadistuste kohandamine jĂ€lgitud jĂ”udlusnĂ€itajate pĂ”hjal;
  • protsessi kordamine, kuni on saavutatud soovitud jĂ”udluse tase Kafka klastris. Samuti peab see olema stabiilselt korduv ja nĂ€itama minimaalset jĂ”udluse kĂ”ikumist.

JÀrgmises osas on kirjeldatud samme, mida tehti testklastri jÔudluse testimise protsessis.

Tööriistad

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

  • Banzai Cloud Pipeline Amazon EKS klastrite organiseerimiseks koos Prometheus (Kafka ja infrastruktuuri mÔÔdikute kogumiseks) ja Grafana (nende mÔÔdikute visualiseerimiseks). Kasutasime integreeritud ja Pipeline teenuseid, mis pakuvad föderaalset jĂ€lgimist, keskset logide kogumist, haavatavuste skannimist, taastumist tĂ”rgetest, ettevĂ”tte taseme turvalisust ja palju muud.
  • Sangrenel on tööriist Kafka klastri koormustestimiseks.
  • Grafana paneelid Kafka ja infrastruktuuri mÔÔdikute visualiseerimiseks: Kubernetes Kafka, Node Exporter.
  • Supertubes CLI maksimaalse lihtsuse saavutamiseks Kafka klastrite seadistamisel Kuberneteses. Zookeeper, Kafka operaator, Envoy ja mitmed teised komponendid on installitud ja korrektselt konfigureeritud produktsiooniks valmis Kafka klastriks Kuberneteses.
    • Paigaldamiseks supertubes CLI kasutage antud juhiseid siin.

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

EKS klaster

Valmistage ette EKS klaster eraldatud töötlustöötlusĂŒlesannetega c5.4xlarge. erinevates saadavuspiirkondades Kafka vahendajatega pod'ide jaoks, samuti eraldatud sĂ”lmed koormuse genereerimiseks ja jĂ€lgimistarkvara jaoks.

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

Kui EKS klaster töötab, aktiviseerige selle integreeritud jĂ€lgimisteenus — see paigutab Prometheuse ja Grafana klastrisse.

Kafka sĂŒsteemikomponendid

Paigaldage Kafka sĂŒsteemikomponendid (Zookeeper, kafka-operaator) EKS-i supertubes CLI abil:

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

Kafka klaster

EKS-is kasutatakse vaikimisi EBS tĂŒĂŒpi mahuteid, gp2seega tuleb luua eraldi salvestusklass mahutite jaoks io1 Kafka klastrile:

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

MÀÀrake vahendajatele parameeter min.insync.replicas=3 ja paigutage vahendajate pod'id kolmesse erinevasse saadavuspiirkonda:

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Ă€ivitame samaaegselt kolm koormuse genereerimise eksemplari. IgaĂŒks kirjutab oma teemasse, st kokku on meil 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 soovitatud vÀÀrtus kĂ”rge kĂ€ttesaadavusega produktsioonisĂŒsteemide jaoks.

Koormuse genereerimise tööriist

Me kĂ€ivitasime kolm koormuse genereerimise eksemplari (igaĂŒks saatis eraldi teema). Koormuse generaatori 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 tasub tÀhelepanu pöörata:

  • Koormuse generaator genereerib 512 baitiseid sĂ”numeid ja avaldab need Kafka-s 500 sĂ”numi kaupa.
  • Argumentidega -required-acks=all loetakse avaldamine edukaks, kui kĂ”ik sĂŒnkroonitud sĂ”numi koopiad on saadud ja kinnitatud Kafka brokerite poolt. See tĂ€hendab, et mÔÔdsime testis mitte ainult liidrite kiirus, kellel on sĂ”numid, vaid ka nende jĂ€rglaste kiirus, kes kopeerivad sĂ”numeid. KĂ”nealuse testi eesmĂ€rk ei ole tarbijate (consumers) Ă€rakĂ€idud sĂ”numite lugemise kiirus, mis on praegu OS-i lehe vahemikus, ja selle vĂ”rdlemine sĂ”numite lugemise kiirusest, mis on salvestatud kettale.
  • Koormuse generaator kĂ€ivitab samal ajal 20 worker’it (-workers=20). Iga worker sisaldab 5 produtsenti, kes jagavad ĂŒhiselt worker’i ĂŒhendust Kafka klastri. Tulemusena on iga generaatoril kokku 100 produtsenti, kes kĂ”ik saadavad sĂ”numeid Kafka klastrisse.

Klastri oleku jÀlgimine

Kafka klastrite koormustestimise ajal jĂ€lgisime ka selle terviseseisundit, et veenduda pod’ide taaskĂ€ivitamiste, sĂŒnkroonimata koopiate ja maksimaalse lĂ€bilaskevĂ”ime minimali kĂ”ikumiste puudumises:

  • Koormuse generaator salvestab standardseid statistikaid avaldatud sĂ”numite arvu ja vigade taseme kohta. Vigade protsent peab jÀÀma 0,00%.
  • Cruise Control, mille on seadistanud kafka-operator, pakub jĂ€lgimisplaati, kus saame samuti jĂ€lgida klastrite seisundit. Selle plaadi vaatamiseks teostage:
    supertubes cluster cruisecontrol show -n kafka --kubeconfig
  • ISR tase (sĂŒnkroonitud koopiate arv) shrink ja expansion on null.

MÔÔtmistulemused

3 brokereid, sÔnumite suurus - 512 baiti

Partition’ed, ĂŒhtlaselt jaotatult kolme brokori vahel, Ă”nnestus meil saavutada jĂ”udlus ~500 Mb/s (umbes 990 tuhat sĂ”numit sekundis):

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

JVM virtuaalmasina mĂ€lu tarbimine ei ĂŒletanud 2 Gb:

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

KettalÀbilaskevÔime saavutas kÔigil kolmel instantsil brokerite töötamisel maksimumi I/O kaudu:

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

Node’de mĂ€lu kasutuse andmete pĂ”hjal vajusid sĂŒsteemi puhverdamine ja vahemĂ€lu umbes 10-15 Gb:

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

3 brokereid, sÔnumite suurus - 100 baiti

SÔnumite suuruse vÀhenemisega kukub lÀbilaskevÔime umbes 15-20%: see mÔjutab aega, mis kulub iga sÔnumi töötlemiseks. Lisaks kasvas protsessori koormus peaaegu kahekordseks.

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

Kuna brokeri sĂ”lmedes on endiselt kasutamata tuumikud, saab Kafka konfiguratsiooni muutmisega jĂ”udlust parandada. See ei ole lihtne ĂŒlesanne, seetĂ”ttu on parem saavutada suuremat lĂ€bilaskevĂ”imet suuremate sĂ”numitega.

4 brokereid, sÔnumite suurus - 512 baiti

Kafka klastrite jĂ”udluse suurendamine on lihtne, kui lihtsalt lisada uusi brokereid ja hoida partition'ide tasakaalu (see tagab koormuse ĂŒhtlasema jaotuse brokerite vahel). Meie puhul tĂ”usis klastrite lĂ€bilaskevĂ”ime pĂ€rast brokori lisamist ~580 Mb/s (~1,1 miljon sĂ”numit sekundis). TĂ”us osutus vĂ€iksemaks, kui oodati: seda seletab peamiselt partition’ide tasakaalutuse olemasolu (kĂ”ik brokertid ei tööta oma maksimumvĂ”imsusel).

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

JVM-i mÀlutarbimine jÀi alla 2 GB:

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

Brokereid, kellel on klienditeenindajad, mÔjutas partition'ide tasakaaluhÀired:

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

MÀÀrame sobiva suuruse Kafka klastrile Kuberneteses

JĂ€reldused

Ülaltoodud iteratiivset lĂ€henemist saab laiendada, et hĂ”lmata keerulisemaid stsenaariume, mis sisaldavad sadu tarbijaid, repartitioningut, uuendusi ja podide taaskĂ€ivitamist jne. See vĂ”imaldab meil hinnata Kafka klastri vĂ”imekuse piire erinevates tingimustes, tuvastada kitsaskohti ja leida lahendusi nende ĂŒletamiseks.

Oleme vĂ€lja töötanud Supertubes kiireks ja lihtsaks klastri juurutamiseks, konfigureerimiseks, brokerite ja teemade lisamiseks/eemaldamiseks, teavitustele reageerimiseks ning Kafka nĂ”uetekohase töö tagamiseks Kuberneteses ĂŒldiselt. Meie eesmĂ€rk on aidata keskenduda pĂ”hitegevusele („toota” ja „tarbida” Kafka sĂ”numeid), samas kui kĂ”ik rasketööd teeme Supertubes ja Kafka operaatori kaudu.

Kui olete huvitatud tehnoloogiatest ja Banzai Cloudi avatud lÀhtekoodiga projektidest, siis jÀlgige meid GitHub, LinkedIn vÔi Twitteris.

P.S. tÔlkijalt

Lugege ka meie blogist:

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster