Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Nco tseg. txhais.: Hauv tsab xov xwm no, Banzai Cloud qhia ib qho piv txwv ntawm yuav ua li cas nws cov cuab yeej kev cai siv tau los ua kom Kafka yooj yim siv hauv Kubernetes. Cov lus qhia hauv qab no qhia txog qhov koj tuaj yeem txiav txim siab qhov loj me ntawm koj qhov kev tsim kho thiab teeb tsa Kafka nws tus kheej kom ua tiav qhov kev xav tau.

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Apache Kafka yog ib qho kev faib streaming platform rau tsim txhim khu kev qha, scalable thiab ua tau zoo ntawm lub sij hawm streaming systems. Nws lub peev xwm ua tau zoo tuaj yeem txuas ntxiv siv Kubernetes. Rau qhov no peb tau tsim Qhib Qhov Chaw Kafka tus neeg teb xov tooj thiab ib lub cuab yeej hu ua Supertubes. Lawv tso cai rau koj khiav Kafka ntawm Kubernetes thiab siv nws cov yam ntxwv ntau yam, xws li kev kho kom zoo ntawm tus broker kev teeb tsa, metric-based scaling nrog rebalancing, khib kev paub, "mos" (zoo nkauj) dov tawm tshiab, thiab lwm yam.

Sim Supertubes hauv koj pawg:

curl https://getsupertubes.sh | sh ΠΈ supertubes install -a --no-democluster --kubeconfig <path-to-eks-cluster-kubeconfig-file>

Los yog hu rau cov ntaub ntawv. Koj tseem tuaj yeem nyeem txog qee qhov peev xwm ntawm Kafka, kev ua haujlwm nrog uas yog automated siv Supertubes thiab Kafka tus neeg teb xov tooj. Peb twb tau sau txog lawv hauv blog:

Thaum koj txiav txim siab siv Kafka pawg ntawm Kubernetes, koj yuav muaj kev sib tw ntawm kev txiav txim siab qhov loj me ntawm cov txheej txheem hauv qab thiab qhov yuav tsum tau ua kom zoo rau koj qhov kev teeb tsa Kafka kom tau raws li cov kev xav tau. Qhov siab tshaj plaws kev ua tau zoo ntawm txhua tus broker yog txiav txim siab los ntawm kev ua haujlwm ntawm cov khoom siv hauv qab, xws li nco, processor, disk ceev, network bandwidth, thiab lwm yam.

Qhov zoo tshaj plaws, tus broker configuration yuav tsum yog xws li tias tag nrho cov txheej txheem infrastructure yog siv rau lawv lub peev xwm siab tshaj plaws. Txawm li cas los xij, hauv lub neej tiag tiag qhov teeb tsa no yog qhov nyuaj heev. Nws yog qhov zoo dua uas cov neeg siv yuav teeb tsa tus broker kom siv ntau tshaj ib lossis ob yam khoom (disk, nco, lossis processor). Feem ntau hais lus, tus broker qhia qhov ua tau zoo tshaj plaws thaum nws qhov kev teeb tsa tso cai rau cov khoom siv qeeb tshaj plaws los siv rau nws qhov ntau tshaj plaws. Txoj kev no peb tuaj yeem tau txais lub tswv yim ntxhib ntawm cov khoom thauj uas ib tus broker tuaj yeem ua tau.

Raws li txoj cai, peb kuj tuaj yeem kwv yees tus naj npawb ntawm cov neeg ua haujlwm yuav tsum tau ua haujlwm rau cov khoom thauj. Txawm li cas los xij, hauv kev xyaum muaj ntau ntau txoj kev xaiv ntawm ntau theem uas nws nyuaj heev (yog tias tsis yooj yim sua) los ntsuas qhov ua tau zoo ntawm ib qho kev teeb tsa tshwj xeeb. Hauv lwm lo lus, nws nyuaj heev los npaj ib qho kev teeb tsa raws li qee qhov kev ua tau zoo.

Rau cov neeg siv Supertubes, peb feem ntau siv txoj hauv kev hauv qab no: peb pib nrog qee qhov kev teeb tsa (infrastructure + chaw), tom qab ntawd ntsuas nws qhov kev ua tau zoo, kho qhov chaw broker thiab rov ua cov txheej txheem dua. Qhov no tshwm sim kom txog rau thaum qhov qeeb tshaj plaws ntawm cov txheej txheem siv tag nrho.

Nyob rau hauv txoj kev no, peb tau txais ib lub tswv yim meej ntawm yuav ua li cas muaj pes tsawg tus brokers ib pawg yuav tsum tau ua ib qho kev thauj khoom (tus naj npawb ntawm cov brokers kuj nyob ntawm lwm yam, xws li tus lej tsawg kawg nkaus ntawm cov lus replicas kom ntseeg tau tias muaj peev xwm, tus naj npawb ntawm kev faib tawm. cov thawj coj, thiab lwm yam). Tsis tas li ntawd, peb tau txais kev nkag siab txog qhov twg cov khoom siv hauv vaj tse yuav tsum tau ntsuas ntsug.

Tsab ntawv xov xwm no yuav tham txog cov kauj ruam uas peb ua kom tau txais txiaj ntsig tshaj plaws ntawm cov khoom qeeb tshaj plaws hauv kev teeb tsa thawj zaug thiab ntsuas qhov dhau los ntawm Kafka pawg. Kev teeb tsa muaj zog heev yuav tsum muaj tsawg kawg yog peb tus neeg ua haujlwm khiav haujlwm (min.insync.replicas=3), faib thoob plaws peb thaj chaw nkag mus sib txawv. Txhawm rau teeb tsa, ntsuas thiab saib xyuas Kubernetes cov txheej txheem, peb siv peb tus kheej lub thawv tswj lub platform rau hybrid huab - Pipeline. Nws txhawb nqa ntawm qhov chaw (liab liab qab, VMware) thiab tsib hom huab (Alibaba, AWS, Azure, Google, Oracle), nrog rau kev sib xyaw ua ke ntawm lawv.

Kev xav ntawm Kafka pawg infrastructure thiab kev teeb tsa

Rau cov piv txwv hauv qab no, peb xaiv AWS ua tus muab kev pabcuam huab thiab EKS raws li Kubernetes faib. Ib qho kev teeb tsa zoo sib xws tuaj yeem siv tau P.K.E. - Kubernetes faib los ntawm Banzai Cloud, tau lees paub los ntawm CNCF.

disk

Amazon muaj ntau yam EBS ntim hom. Ntawm lub hauv paus gp2 ΠΈ io1 muaj SSD drives, txawm li cas los xij, kom ntseeg tau tias muaj kev nkag siab zoo gp2 siv cov qhab nia sau (I/O credits), yog li peb nyiam hom io1, uas muaj kev sib txuam siab dhau.

Hom piv txwv

Kafka qhov kev ua tau zoo yog nyob ntawm qhov kev ua haujlwm ntawm nplooj ntawv cache, yog li peb xav tau cov piv txwv nrog lub cim xeeb txaus rau cov brokers (JVM) thiab nplooj cache. Piv txwv c5.2x ua - pib zoo, vim nws muaj 16 GB ntawm lub cim xeeb thiab optimized ua hauj lwm nrog EBS. Nws qhov tsis zoo yog tias nws tsuas muaj peev xwm muab kev ua haujlwm siab tshaj plaws tsis pub ntau tshaj 30 feeb txhua 24 teev. Yog tias koj qhov chaw ua haujlwm xav tau qhov ua tau zoo tshaj plaws nyob rau lub sijhawm ntev, koj yuav xav xav txog lwm hom piv txwv. Qhov ntawd yog qhov peb tau ua, nres ntawm c5.4x ua. Nws muab qhov siab tshaj plaws throughput nyob rau hauv 593,75 Mb/s. Tshaj siab tshaj plaws ntawm EBS ntim io1 siab dua qhov piv txwv c5.4x ua, yog li lub caij qeeb tshaj plaws ntawm cov txheej txheem zoo li yuav yog I / O dhau los ntawm hom piv txwv no (uas peb cov kev xeem thauj khoom yuav tsum tau lees paub).

Network

Lub network throughput yuav tsum loj txaus piv rau qhov kev ua tau zoo ntawm VM piv txwv thiab disk, txwv tsis pub lub network yuav ua rau lub cev tsis muaj zog. Hauv peb qhov xwm txheej, lub network interface c5.4x ua txhawb kev ceev txog li 10 Gb / s, uas yog siab tshaj qhov I / O throughput ntawm VM piv txwv.

Broker Deployment

Cov neeg ua haujlwm yuav tsum tau muab xa mus (teeb tsa hauv Kubernetes) rau cov nodes siab kom tsis txhob muaj kev sib tw nrog lwm cov txheej txheem rau CPU, nco, network, thiab cov peev txheej disk.

Java version

Qhov kev xaiv qhov laj thawj yog Java 11 vim tias nws tau sib xws nrog Docker hauv kev nkag siab tias JVM raug txiav txim siab cov txheej txheem thiab lub cim xeeb muaj nyob rau hauv lub thawv uas tus broker tab tom khiav. Paub tias CPU txwv yog qhov tseem ceeb, JVM sab hauv thiab pob tshab teeb tsa tus naj npawb ntawm GC xov thiab JIT xov. Peb siv cov duab Kafka banzaicloud/kafka:2.13-2.4.0, uas suav nrog Kafka version 2.4.0 (Scala 2.13) ntawm Java 11.

Yog tias koj xav kawm ntxiv txog Java / JVM ntawm Kubernetes, mus saib peb cov ntawv hauv qab no:

Broker memory settings

Muaj ob yam tseem ceeb rau kev teeb tsa tus broker nco: chaw rau JVM thiab rau Kubernetes pod. Lub cim xeeb txwv tau teem rau lub pod yuav tsum ntau dua qhov siab tshaj plaws heap loj kom JVM muaj chaw rau Java metaspace uas nyob hauv nws lub cim xeeb thiab rau lub operating system nplooj ntawv cache uas Kafka nquag siv. Hauv peb qhov kev ntsuam xyuas peb tau tshaj tawm Kafka brokers nrog cov kev txwv -Xmx4G -Xms2G, thiab lub cim xeeb txwv rau lub pod yog 10 Gi. Thov nco ntsoov tias qhov chaw nco rau JVM tuaj yeem tau txais kev siv -XX:MaxRAMPercentage ΠΈ -X:MinRAMPercentage, raws li lub cim xeeb txwv rau lub pod.

Broker processor nqis

Feem ntau hais lus, koj tuaj yeem txhim kho kev ua tau zoo los ntawm kev ua kom sib luag los ntawm kev nce cov xov uas siv los ntawm Kafka. Qhov ntau processors muaj rau Kafka, qhov zoo dua. Hauv peb qhov kev sim, peb pib nrog kev txwv ntawm 6 processors thiab maj mam (los ntawm iterations) tsa lawv tus lej mus rau 15. Tsis tas li ntawd, peb tau teeb tsa. num.network.threads=12 nyob rau hauv cov chaw broker kom nce cov xov tooj uas tau txais cov ntaub ntawv los ntawm lub network thiab xa nws. Tam sim ntawd pom tias cov neeg ua raws li cov neeg ua lag luam tsis tuaj yeem tau txais cov ntawv luam tawm sai txaus, lawv tau tsa num.replica.fetchers mus rau 4 kom nce qhov ceev ntawm cov follower brokers replicated lus los ntawm cov thawj coj.

Load Generation Tool

Koj yuav tsum xyuas kom meej tias lub tshuab hluav taws xob xaiv tsis tau khiav tawm ntawm lub peev xwm ua ntej Kafka pawg (uas tau raug ntsuas) ncav cuag nws qhov siab tshaj plaws. Hauv lwm lo lus, nws yog ib qho tsim nyog los ua qhov kev ntsuam xyuas ua ntej ntawm lub peev xwm ntawm cov cuab yeej tsim khoom, thiab tseem xaiv hom piv txwv rau nws nrog tus lej txaus ntawm processors thiab nco. Hauv qhov no, peb lub cuab yeej yuav tsim cov khoom thauj ntau dua li Kafka pawg tuaj yeem ua tau. Tom qab ntau qhov kev sim, peb txiav txim siab peb daim ntawv c5.4x ua, txhua tus uas muaj lub tshuab hluav taws xob khiav.

Kev ntsuas ntsuas

Kev ntsuas kev ua tau zoo yog cov txheej txheem rov ua dua uas suav nrog cov theem hauv qab no:

  • teeb tsa kev tsim kho vaj tse (EKS pawg, Kafka pawg, cov cuab yeej tsim khoom, nrog rau Prometheus thiab Grafana);
  • tsim ib qho load rau ib lub sij hawm los lim random deviations nyob rau hauv cov ntaub ntawv qhia kev ua tau zoo;
  • kho tus broker lub infrastructure thiab configuration raws li kev soj ntsuam ntsuas kev ua tau zoo;
  • rov ua dua cov txheej txheem kom txog rau thaum qhov yuav tsum tau ua ntawm Kafka pawg throughput tiav. Nyob rau tib lub sijhawm, nws yuav tsum ua kom rov ua tau zoo dua qub thiab ua kom pom qhov hloov pauv tsawg kawg hauv kev xa khoom.

Ntu tom ntej no piav qhia txog cov kauj ruam uas tau ua thaum lub sij hawm xeem pawg ntsuas kev ntsuas.

Cov cuab yeej

Cov cuab yeej hauv qab no tau siv los siv sai sai rau kev teeb tsa lub hauv paus, tsim cov khoom thauj, thiab ntsuas kev ua haujlwm:

  • Banzai Huab Pipeline rau kev teeb tsa EKS pawg los ntawm Amazon c Prometheus (kom sau Kafka thiab infrastructure metrics) thiab ua grafana (kom pom cov kev ntsuas no). Peb coj kom zoo dua kev koom ua ke Π² Pipeline cov kev pabcuam uas muab kev saib xyuas los ntawm tsoomfwv, kev sau cov log hauv nruab nrab, kev kuaj xyuas qhov tsis zoo, kev rov qab los ntawm kev puas tsuaj, kev ruaj ntseg qib lag luam thiab ntau ntxiv.
  • Sangrenel - ib lub cuab yeej rau kev thauj khoom kuaj Kafka pawg.
  • Grafana dashboards rau visualizing Kafka metrics thiab infrastructure: Kubernetes Kafka, Node Exporter.
  • Supertubes CLI rau txoj hauv kev yooj yim tshaj plaws los teeb tsa Kafka pawg ntawm Kubernetes. Zookeeper, Kafka tus neeg teb xov tooj, Envoy thiab ntau lwm yam khoom siv tau teeb tsa thiab teeb tsa kom zoo los khiav cov khoom npaj npaj Kafka pawg ntawm Kubernetes.
    • Rau kev teeb tsa supertubes CLI siv cov lus qhia no.

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

EKS pawg

Npaj ib pawg EKS nrog rau cov neeg ua haujlwm tshwj xeeb c5.4x ua nyob rau hauv ntau qhov chaw muaj nyob rau hauv cov pods nrog Kafka brokers, nrog rau cov nodes rau lub load generator thiab saib xyuas infrastructure.

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

Thaum EKS pawg tau nce thiab khiav, pab kom nws ua ke kev saib xyuas - Nws yuav xa Prometheus thiab Grafana mus rau hauv ib pawg.

Kafka system Cheebtsam

Nruab Kafka system Cheebtsam (Zookeeper, kafka-operator) hauv EKS siv supertubes CLI:

supertubes install -a --no-democluster --kubeconfig <path-to-eks-cluster-kubeconfig-file>

Kafka pawg

Los ntawm lub neej ntawd, EKS siv EBS ntim ntawm hom gp2, yog li koj yuav tsum tsim kom muaj chav kawm cais raws li ntim io1 Rau Kafka pawg:

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

Teem lub parameter rau brokers min.insync.replicas=3 thiab xa tus broker pods ntawm cov nodes hauv peb thaj chaw muaj nyob sib txawv:

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

Xai

Peb tau khiav peb lub tshuab hluav taws xob thauj khoom hauv qhov sib npaug. Txhua tus sau rau lawv tus kheej lub ntsiab lus, uas yog, peb xav tau peb lub ntsiab lus hauv tag nrho:

supertubes cluster topic create -n kafka --kubeconfig <path-to-eks-cluster-kubeconfig-file> -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 <path-to-eks-cluster-kubeconfig-file> -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 <path-to-eks-cluster-kubeconfig-file> -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

Rau txhua lub ntsiab lus, qhov rov ua dua tshiab yog 3-qhov tsawg kawg nkaus pom zoo tus nqi rau cov tshuab tsim khoom muaj ntau.

Load Generation Tool

Peb tau tsim peb daim ntawv theej ntawm lub tshuab hluav taws xob thauj khoom (txhua tus sau rau hauv ib lub ncauj lus cais). Rau kev thauj khoom lub tshuab hluav taws xob, koj yuav tsum teeb tsa qhov kev sib raug zoo kom lawv tau teem sijhawm tsuas yog ntawm cov nodes faib rau lawv:

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

Qee cov ntsiab lus yuav tsum nco ntsoov:

  • Lub tshuab hluav taws xob thauj khoom tsim cov lus ntawm 512 bytes ntev thiab tshaj tawm rau Kafka hauv pawg ntawm 500 cov lus.
  • Siv kev sib cav -required-acks=all Kev tshaj tawm yog suav tias ua tiav thaum txhua qhov kev sib txuas ua ke ntawm cov lus tau txais thiab lees paub los ntawm Kafka brokers. Qhov no txhais tau hais tias nyob rau hauv lub benchmark peb ntsuas tsis tau tsuas yog qhov ceev ntawm cov thawj coj tau txais cov lus, tab sis kuj lawv cov followers replicating lus. Lub hom phiaj ntawm qhov kev xeem no tsis yog ntsuas cov neeg siv khoom nyeem ntawv ceev (cov neeg siv khoom) tsis ntev los no tau txais cov lus uas tseem nyob hauv OS nplooj ntawv cache, thiab nws qhov kev sib piv nrog kev nyeem ntawv ceev ntawm cov lus khaws cia hauv disk.
  • Lub tshuab hluav taws xob thauj khoom siv 20 tus neeg ua haujlwm sib luag (-workers=20). Txhua tus neeg ua haujlwm muaj 5 tus tsim tawm uas qhia cov neeg ua haujlwm sib txuas rau Kafka pawg. Yog li ntawd, txhua lub tshuab hluav taws xob muaj 100 tus neeg tsim khoom, thiab lawv txhua tus xa lus mus rau Kafka pawg.

Saib xyuas kev noj qab haus huv ntawm pawg

Thaum lub sij hawm kuaj load ntawm Kafka pawg, peb kuj tau soj ntsuam nws txoj kev noj qab haus huv kom paub tseeb tias tsis muaj cov pods rov pib dua, tsis muaj kev sib koom ua ke, thiab qhov siab tshaj plaws nrog kev hloov pauv tsawg:

  • Lub tshuab hluav taws xob thauj khoom sau cov qauv kev txheeb xyuas txog cov xov tooj ntawm cov lus tshaj tawm thiab qhov ua yuam kev. Qhov kev ua yuam kev yuav tsum nyob li qub 0,00%.
  • Kev Tswj Xyuas Kev Nyab Xeeb, deployed by kafka-operator, muab lub dashboard qhov twg peb tuaj yeem saib xyuas lub xeev ntawm pawg. Mus saib lub vaj huam sib luag no ua:
    supertubes cluster cruisecontrol show -n kafka --kubeconfig <path-to-eks-cluster-kubeconfig-file>
  • ISR qib (tus naj npawb ntawm "in-sync" replicas) shrink thiab expansion yog sib npaug rau 0.

Kev ntsuas ntsuas

3 brokers, lus loj - 512 bytes

Nrog kev faib khoom sib npaug sib faib thoob plaws peb tus broker, peb muaj peev xwm ua tiav kev ua tau zoo ~ 500 Mb / s (kwv yees li 990 txhiab lus ib ob):

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Lub cim xeeb noj ntawm JVM virtual tshuab tsis tshaj 2 GB:

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Disk throughput mus txog qhov siab tshaj plaws I / O node throughput ntawm tag nrho peb lub sij hawm uas cov brokers tau khiav:

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Los ntawm cov ntaub ntawv ntawm kev siv nco los ntawm cov nodes, nws ua raws li qhov system buffering thiab caching coj ~ 10-15 GB:

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

3 brokers, lus loj - 100 bytes

Raws li cov lus loj zuj zus, kev xa khoom poob los ntawm kwv yees li 15-20%: lub sijhawm siv ua txhua cov lus cuam tshuam rau nws. Tsis tas li ntawd, lub processor load yuav luag ob npaug.

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txij li thaum tus broker nodes tseem muaj cov cores tsis siv, kev ua tau zoo tuaj yeem txhim kho los ntawm kev hloov kho Kafka. Qhov no tsis yog ib txoj haujlwm yooj yim, yog li txhawm rau ua kom muaj txiaj ntsig nws yog qhov zoo dua los ua haujlwm nrog cov lus loj dua.

4 brokers, lus loj - 512 bytes

Koj tuaj yeem yooj yim nce kev ua tau zoo ntawm Kafka pawg los ntawm tsuas yog ntxiv cov neeg ua haujlwm tshiab thiab tswj kom muaj kev sib npaug ntawm kev faib tawm (qhov no ua kom cov khoom sib npaug sib npaug ntawm cov brokers). Nyob rau hauv peb cov ntaub ntawv, tom qab ntxiv ib tug broker, pawg throughput nce mus rau ~ 580 Mb / s (~ 1,1 lab cov lus hauv ib ob). Qhov kev loj hlob tau dhau los ua tsawg dua li qhov xav tau: qhov no feem ntau piav qhia los ntawm qhov tsis sib xws ntawm kev faib tawm (tsis yog txhua tus neeg ua haujlwm ua haujlwm ntawm qhov kawg ntawm lawv lub peev xwm).

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Nco noj ntawm JVM tshuab tseem qis dua 2 GB:

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Kev ua haujlwm ntawm cov neeg ua haujlwm nrog cov tsav tsheb tau cuam tshuam los ntawm qhov tsis sib xws ntawm kev faib tawm:

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

Txiav txim siab qhov loj me rau Kafka pawg hauv Kubernetes

tshawb pom

Txoj hauv kev uas tau hais los saum toj no tuaj yeem nthuav dav kom npog ntau qhov xwm txheej uas cuam tshuam nrog ntau pua tus neeg siv khoom, kev faib tawm, dov hloov tshiab, pod restarts, thiab lwm yam. Tag nrho cov no tso cai rau peb los ntsuas qhov txwv ntawm Kafka pawg lub peev xwm hauv ntau yam xwm txheej, txheeb xyuas cov kev tsis sib haum xeeb hauv nws txoj haujlwm thiab nrhiav txoj hauv kev los tawm tsam lawv.

Peb tsim Supertubes kom sai thiab yooj yim xa ib pawg, teeb tsa nws, ntxiv / tshem tawm cov neeg ua haujlwm thiab cov ncauj lus, teb cov lus ceeb toom, thiab xyuas kom Kafka feem ntau ua haujlwm zoo ntawm Kubernetes. Peb lub hom phiaj yog los pab koj tsom mus rau lub luag haujlwm tseem ceeb ("tsim" thiab "siv" Kafka cov lus), thiab tawm txhua txoj haujlwm nyuaj rau Supertubes thiab Kafka tus neeg teb xov tooj.

Yog tias koj txaus siab rau Banzai Cloud technologies thiab Open Source tej yaam num, sau npe mus rau lub tuam txhab ntawm GitHub, LinkedIn los yog Twitter.

PS los ntawm tus txhais lus

Nyeem kuj ntawm peb blog:

Tau qhov twg los: www.hab.com

Ntxiv ib saib