Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Akiyesi. itumọ.: Ninu nkan yii, Banzai Cloud ṣe alabapin apẹẹrẹ ti bii awọn irinṣẹ aṣa rẹ ṣe le ṣee lo lati jẹ ki Kafka rọrun lati lo laarin Kubernetes. Awọn itọnisọna atẹle yii ṣe apejuwe bi o ṣe le pinnu iwọn to dara julọ ti awọn amayederun rẹ ati tunto Kafka funrararẹ lati ṣaṣeyọri igbejade ti o nilo.

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Apache Kafka jẹ ipilẹ ṣiṣan ti o pin kaakiri fun ṣiṣẹda igbẹkẹle, iwọn ati awọn ọna ṣiṣe ṣiṣan akoko-giga. Awọn agbara iwunilori rẹ le faagun ni lilo Kubernetes. Fun eyi a ti ni idagbasoke Ṣii orisun Kafka oniṣẹ ati ọpa ti a npe ni Supertubes. Wọn gba ọ laaye lati ṣiṣe Kafka lori Kubernetes ati lo awọn ẹya oriṣiriṣi rẹ, gẹgẹbi ṣiṣe atunṣe atunto alagbata, iwọn-orisun metric pẹlu iwọntunwọnsi, imọ agbeko, “rọ” (Oluwa) sẹsẹ awọn imudojuiwọn, ati be be lo.

Gbiyanju Supertubes ninu iṣupọ rẹ:

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

Tabi olubasọrọ iwe. O tun le ka nipa diẹ ninu awọn agbara ti Kafka, iṣẹ pẹlu eyiti o jẹ adaṣe adaṣe ni lilo Supertubes ati oniṣẹ Kafka. A ti kọ tẹlẹ nipa wọn lori bulọọgi:

Nigbati o ba pinnu lati ran iṣupọ Kafka sori Kubernetes, o ṣee ṣe ki o dojukọ ipenija ti ṣiṣe ipinnu iwọn to dara julọ ti awọn amayederun ipilẹ ati iwulo lati ṣatunṣe atunto Kafka rẹ daradara lati pade awọn ibeere igbejade. Iṣẹ ṣiṣe ti o pọ julọ ti alagbata kọọkan jẹ ipinnu nipasẹ iṣẹ ti awọn paati amayederun ipilẹ, gẹgẹbi iranti, ero isise, iyara disiki, bandiwidi nẹtiwọọki, ati bẹbẹ lọ.

Bi o ṣe yẹ, iṣeto alagbata yẹ ki o jẹ iru pe gbogbo awọn eroja amayederun ni a lo si awọn agbara ti o pọju wọn. Sibẹsibẹ, ni igbesi aye gidi iṣeto yii jẹ eka pupọ. O ṣeese diẹ sii pe awọn olumulo yoo tunto awọn alagbata lati mu iwọn lilo ọkan tabi meji awọn paati (disiki, iranti, tabi ero isise). Ni gbogbogbo, alagbata fihan iṣẹ ṣiṣe ti o pọ julọ nigbati iṣeto rẹ ngbanilaaye paati ti o lọra lati lo si iwọn kikun rẹ. Ni ọna yii a le ni imọran inira ti ẹru ti alagbata kan le mu.

Ni imọ-jinlẹ, a tun le ṣe iṣiro nọmba awọn alagbata ti o nilo lati mu ẹru ti a fun. Sibẹsibẹ, ni iṣe ọpọlọpọ awọn aṣayan iṣeto ni awọn ipele oriṣiriṣi ti o ṣoro pupọ (ti ko ba ṣeeṣe) lati ṣe iṣiro iṣẹ ṣiṣe ti iṣeto kan pato. Ni awọn ọrọ miiran, o nira pupọ lati gbero iṣeto kan ti o da lori diẹ ninu awọn iṣẹ ti a fun.

Fun awọn olumulo Supertubes, a maa n gba ọna atẹle: a bẹrẹ pẹlu diẹ ninu awọn atunto (awọn eto amayederun +), lẹhinna wiwọn iṣẹ rẹ, ṣatunṣe awọn eto alagbata ati tun ilana naa tun. Eyi yoo ṣẹlẹ titi ti paati ti o lọra julọ ti awọn amayederun ti wa ni lilo ni kikun.

Ni ọna yii, a ni oye diẹ sii ti iye awọn alagbata ti iṣupọ nilo lati mu ẹru kan (nọmba awọn alagbata tun da lori awọn ifosiwewe miiran, gẹgẹbi nọmba ti o kere ju ti awọn ẹda ifiranṣẹ lati rii daju pe resiliency, nọmba ti ipin. awọn olori, ati bẹbẹ lọ). Ni afikun, a ni oye sinu eyiti awọn paati amayederun nilo iwọn inaro.

Nkan yii yoo sọrọ nipa awọn igbesẹ ti a ṣe lati ni anfani pupọ julọ ninu awọn ohun elo ti o lọra ni awọn atunto ibẹrẹ ati wiwọn iwọnjade ti iṣupọ Kafka kan. Iṣeto isọdọtun giga nilo o kere ju awọn alagbata nṣiṣẹ mẹta (min.insync.replicas=3), pin kaakiri awọn agbegbe iraye si oriṣiriṣi mẹta. Lati tunto, iwọn ati abojuto awọn amayederun Kubernetes, a lo pẹpẹ iṣakoso eiyan tiwa fun awọn awọsanma arabara - Pipeline. O ṣe atilẹyin agbegbe ile (irin igboro, VMware) ati awọn iru awọsanma marun (Alibaba, AWS, Azure, Google, Oracle), ati eyikeyi apapo wọn.

Awọn ero lori Kafka iṣupọ amayederun ati iṣeto ni

Fun awọn apẹẹrẹ ni isalẹ, a yan AWS bi olupese awọsanma ati EKS bi pinpin Kubernetes. A iru iṣeto ni le ti wa ni muse lilo P.K.E. - Kubernetes pinpin lati Banzai awọsanma, ifọwọsi nipasẹ CNCF.

Ṣiṣẹ

Amazon nfun orisirisi EBS iwọn didun orisi. Ni mojuto gp2 и io1 awọn awakọ SSD wa, sibẹsibẹ, lati rii daju ilojade giga gp2 agbara akojo kirediti (I/O kirediti), nitorina a fẹ iru io1, eyi ti o nfun ni ibamu ga losi.

Awọn iru apẹẹrẹ

Iṣe Kafka jẹ igbẹkẹle pupọ lori kaṣe oju-iwe ẹrọ ẹrọ, nitorinaa a nilo awọn iṣẹlẹ pẹlu iranti to fun awọn alagbata (JVM) ati kaṣe oju-iwe. Apeere c5.2x tobi - kan ti o dara ibere, niwon o ni 16 GB iranti ati iṣapeye lati ṣiṣẹ pẹlu EBS. Alailanfani rẹ ni pe o lagbara nikan lati pese iṣẹ ṣiṣe ti o pọju fun ko ju ọgbọn iṣẹju lọ ni gbogbo wakati 30. Ti iṣẹ ṣiṣe rẹ ba nilo iṣẹ ṣiṣe to gun ju igba pipẹ lọ, o le fẹ lati gbero awọn iru apẹẹrẹ miiran. Iyẹn gan-an ni a ṣe, duro ni c5.4x tobi. O pese o pọju losi ni 593,75 Mb/s. O pọju iwọn didun EBS io1 ti o ga ju apẹẹrẹ lọ c5.4x tobi, nitorina ohun elo ti o lọra julọ ti awọn amayederun jẹ eyiti o le jẹ iṣiṣẹ I / O ti iru apẹẹrẹ yii (eyiti awọn idanwo fifuye wa yẹ ki o tun jẹrisi).

Nẹtiwọki

Imudara nẹtiwọọki gbọdọ jẹ nla to akawe si iṣẹ ti apẹẹrẹ VM ati disk, bibẹẹkọ nẹtiwọọki naa di igo. Ninu ọran wa, wiwo nẹtiwọki c5.4x tobi ṣe atilẹyin awọn iyara ti o to 10 Gb/s, eyiti o ga ni pataki ju igbejade I/O ti apẹẹrẹ VM kan.

Alagbata imuṣiṣẹ

Awọn alagbata yẹ ki o gbe lọ (ṣeto ni Kubernetes) si awọn apa igbẹhin lati yago fun idije pẹlu awọn ilana miiran fun Sipiyu, iranti, nẹtiwọki, ati awọn orisun disk.

Java version

Yiyan ọgbọn jẹ Java 11 nitori pe o ni ibamu pẹlu Docker ni ori pe JVM ṣe ipinnu deede awọn ilana ati iranti ti o wa si eiyan ninu eyiti alagbata nṣiṣẹ. Mọ pe awọn opin Sipiyu ṣe pataki, JVM inu ati ni gbangba ṣeto nọmba ti awọn okun GC ati awọn okun JIT. A lo aworan Kafka banzaicloud/kafka:2.13-2.4.0, eyiti o pẹlu ẹya Kafka 2.4.0 (Scala 2.13) lori Java 11.

Ti o ba fẹ lati ni imọ siwaju sii nipa Java/JVM lori Kubernetes, ṣayẹwo awọn ifiweranṣẹ wa wọnyi:

Awọn eto iranti alagbata

Awọn aaye bọtini meji wa lati tunto iranti alagbata: awọn eto fun JVM ati fun Kubernetes pod. Iwọn iranti ti a ṣeto fun adarọ ese gbọdọ jẹ tobi ju iwọn okiti ti o pọju lọ ki JVM ni aye fun metaspace Java ti o wa ninu iranti tirẹ ati fun kaṣe oju-iwe ẹrọ ti Kafka nlo lọwọ. Ninu awọn idanwo wa a ṣe ifilọlẹ awọn alagbata Kafka pẹlu awọn aye -Xmx4G -Xms2G, ati awọn iranti iye to fun podu wà 10 Gi. Jọwọ ṣe akiyesi pe awọn eto iranti fun JVM le ṣee gba laifọwọyi ni lilo -XX:MaxRAMPercentage и -X:MinRAMPercentage, da lori iranti iye to fun podu.

Alagbata isise eto

Ni gbogbogbo, o le ni ilọsiwaju iṣẹ nipasẹ jijẹ afiwera nipa jijẹ nọmba awọn okun ti Kafka lo. Awọn ilana diẹ sii ti o wa fun Kafka, dara julọ. Ninu idanwo wa, a bẹrẹ pẹlu opin ti awọn ilana 6 ati diėdiė (nipasẹ iterations) gbe nọmba wọn soke si 15. Ni afikun, a ṣeto num.network.threads=12 ninu awọn eto alagbata lati mu nọmba awọn okun ti o gba data lati nẹtiwọki ati firanṣẹ. Lẹsẹkẹsẹ ṣe iwari pe awọn alagbata atẹle ko le gba awọn ẹda ni iyara to, wọn dide num.replica.fetchers si 4 lati mu iyara pọ si eyiti awọn alagbata ọmọlẹyin tun ṣe awọn ifiranṣẹ lati ọdọ awọn oludari.

Fifuye Iran Ọpa

O yẹ ki o rii daju pe olupilẹṣẹ fifuye ti o yan ko pari ni agbara ṣaaju iṣupọ Kafka (eyiti o jẹ ami-ami) de ẹru ti o pọju. Ni awọn ọrọ miiran, o jẹ dandan lati ṣe igbelewọn alakoko ti awọn agbara ti irinṣẹ iran fifuye, ati tun yan awọn iru apẹẹrẹ fun pẹlu nọmba to ti awọn ilana ati iranti. Ni ọran yii, ọpa wa yoo gbe ẹru diẹ sii ju iṣupọ Kafka le mu. Lẹhin ọpọlọpọ awọn adanwo, a yanju lori awọn ẹda mẹta c5.4x tobi, kọọkan ti o ní a monomono nṣiṣẹ.

Benchmarking

Iwọn iṣẹ ṣiṣe jẹ ilana aṣetunṣe ti o pẹlu awọn ipele wọnyi:

  • eto awọn amayederun (iṣupọ EKS, iṣupọ Kafka, ọpa iran fifuye, ati Prometheus ati Grafana);
  • ṣiṣẹda fifuye fun akoko kan lati ṣe àlẹmọ awọn iyapa laileto ninu awọn afihan iṣẹ ṣiṣe ti a gba;
  • ṣatunṣe awọn amayederun alagbata ati iṣeto ti o da lori awọn afihan iṣẹ ṣiṣe ti a ṣe akiyesi;
  • tun ilana naa titi ti ipele ti a beere fun ti iṣelọpọ iṣupọ Kafka ti waye. Ni akoko kanna, o gbọdọ jẹ atunṣe nigbagbogbo ati ṣe afihan awọn iyatọ ti o kere julọ ni ṣiṣejade.

Abala ti o tẹle ṣe apejuwe awọn igbesẹ ti a ṣe lakoko ilana isamisi iṣupọ idanwo.

Awọn irin-iṣẹ

Awọn irinṣẹ atẹle wọnyi ni a lo lati mu iṣeto ipilẹ ni kiakia, ṣe agbejade awọn ẹru, ati wiwọn iṣẹ ṣiṣe:

  • Banzai awọsanma Pipeline fun siseto iṣupọ EKS lati Amazon c Ipolowo (lati gba Kafka ati awọn metiriki amayederun) ati Grafana (lati wo awọn metiriki wọnyi). A lo anfani ese в Pipeline awọn iṣẹ ti o pese ibojuwo isọdọkan, ikojọpọ log ti aarin, ọlọjẹ ailagbara, imularada ajalu, aabo ile-iṣẹ ati pupọ diẹ sii.
  • Sangrenel - ọpa kan fun idanwo fifuye kan iṣupọ Kafka.
  • Awọn dasibodu Grafana fun wiwo awọn metiriki Kafka ati awọn amayederun: Kubernetes Kafka, Node Exporter.
  • Supertubes CLI fun ọna ti o rọrun julọ lati ṣeto iṣupọ Kafka kan lori Kubernetes. Zookeeper, oniṣẹ Kafka, Aṣoju ati ọpọlọpọ awọn paati miiran ti fi sori ẹrọ ati tunto daradara lati ṣiṣẹ iṣupọ Kafka ti o ti ṣetan lori Kubernetes.
    • Fun fifi sori supertubes CLI lo awọn ilana ti a pese nibi.

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

EKS iṣupọ

Mura iṣupọ EKS kan pẹlu awọn apa oṣiṣẹ igbẹhin c5.4x tobi ni awọn agbegbe wiwa ti o yatọ fun awọn adarọ-ese pẹlu awọn alagbata Kafka, ati awọn apa igbẹhin fun olupilẹṣẹ fifuye ati awọn amayederun ibojuwo.

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

Ni kete ti iṣupọ EKS ti wa ni oke ati ṣiṣiṣẹ, jẹ ki iṣọpọ rẹ ṣiṣẹ monitoring iṣẹ - yoo ran Prometheus ati Grafana sinu iṣupọ kan.

Kafka eto irinše

Fi awọn paati eto Kafka sori ẹrọ (Zookeeper, kafka-operator) ni EKS ni lilo supertubes CLI:

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

Kafka iṣupọ

Nipa aiyipada, EKS nlo awọn iwọn EBS ti iru gp2, nitorinaa o nilo lati ṣẹda kilasi ipamọ lọtọ ti o da lori awọn iwọn didun io1 fun iṣupọ Kafka:

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

Ṣeto paramita fun awọn alagbata min.insync.replicas=3 ki o si ran awọn adarọ-ese alagbata lori awọn apa ni awọn agbegbe wiwa oriṣiriṣi mẹta:

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

Awọn koko-ọrọ

A ran mẹta fifuye monomono instances ni afiwe. Olukuluku wọn kọwe si koko-ọrọ tirẹ, iyẹn ni, a nilo awọn koko-ọrọ mẹta lapapọ:

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

Fun koko kọọkan, ifosiwewe isọdọtun jẹ 3-iye ti a ṣe iṣeduro ti o kere julọ fun awọn eto iṣelọpọ ti o wa ga julọ.

Fifuye Iran Ọpa

A ṣe ifilọlẹ awọn ẹda mẹta ti monomono fifuye (ọkọọkan kowe ni koko ọtọtọ). Fun awọn adarọ-ese monomono fifuye, o nilo lati ṣeto isunmọ ipade ki wọn ṣe eto nikan lori awọn apa ti a pin fun wọn:

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

Awọn aaye diẹ lati ṣe akiyesi:

  • Olupilẹṣẹ fifuye n ṣe awọn ifiranṣẹ ti awọn baiti 512 ni gigun ati gbejade wọn si Kafka ni awọn ipele ti awọn ifiranṣẹ 500.
  • Lilo ohun ariyanjiyan -required-acks=all Atẹjade naa jẹ aṣeyọri nigbati gbogbo awọn ẹda ti a muṣiṣẹpọ ti ifiranṣẹ naa gba ati timo nipasẹ awọn alagbata Kafka. Eyi tumọ si pe ni ala-ilẹ a ṣe iwọn kii ṣe iyara ti awọn oludari gbigba awọn ifiranṣẹ nikan, ṣugbọn awọn ọmọlẹyin wọn tun ṣe awọn ifiranṣẹ. Idi ti idanwo yii kii ṣe lati ṣe iṣiro iyara kika olumulo (awọn onibara) laipẹ gba awọn ifiranṣẹ ti o tun wa ninu kaṣe oju-iwe OS, ati lafiwe rẹ pẹlu iyara kika awọn ifiranṣẹ ti o fipamọ sori disiki.
  • Olupilẹṣẹ fifuye nṣiṣẹ awọn oṣiṣẹ 20 ni afiwe (-workers=20). Osise kọọkan ni awọn olupilẹṣẹ 5 ti o pin asopọ ti oṣiṣẹ si iṣupọ Kafka. Bi abajade, olupilẹṣẹ kọọkan ni awọn olupilẹṣẹ 100, ati pe gbogbo wọn firanṣẹ awọn ifiranṣẹ si iṣupọ Kafka.

Mimojuto ilera ti iṣupọ

Lakoko idanwo fifuye ti iṣupọ Kafka, a tun ṣe abojuto ilera rẹ lati rii daju pe ko si awọn atunbere adarọ-ese, ko si awọn ẹda-imuṣiṣẹpọ, ati iṣelọpọ ti o pọju pẹlu awọn iyipada kekere:

  • Olupilẹṣẹ fifuye kọ awọn iṣiro boṣewa nipa nọmba awọn ifiranṣẹ ti a tẹjade ati oṣuwọn aṣiṣe. Iwọn aṣiṣe yẹ ki o wa kanna 0,00%.
  • Iṣakoso oko oju omi, ti a fi ranṣẹ nipasẹ kafka-operator, pese dasibodu nibiti a tun le ṣe atẹle ipo iṣupọ naa. Lati wo nronu yii ṣe:
    supertubes cluster cruisecontrol show -n kafka --kubeconfig <path-to-eks-cluster-kubeconfig-file>
  • ISR ipele (nọmba awọn ẹda “in-sync”) isunki ati imugboroja jẹ dogba si 0.

Awọn abajade wiwọn

3 alagbata, ifiranṣẹ iwọn - 512 baiti

Pẹlu awọn ipin boṣeyẹ pinpin kọja awọn alagbata mẹta, a ni anfani lati ṣaṣeyọri iṣẹ ṣiṣe ~ 500 Mb/s (isunmọ awọn ifiranṣẹ 990 ẹgbẹrun fun iṣẹju kan):

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Lilo iranti ti ẹrọ foju JVM ko kọja 2 GB:

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣiṣejade disiki de ibi-ijade I/O ti o pọju lori gbogbo awọn iṣẹlẹ mẹta ti awọn alagbata nṣiṣẹ:

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Lati data lori lilo iranti nipasẹ awọn apa, o tẹle pe fifipamọ eto ati caching mu ~ 10-15 GB:

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

3 alagbata, ifiranṣẹ iwọn - 100 baiti

Bi iwọn ifiranṣẹ ti n dinku, iṣelọpọ n lọ silẹ nipa isunmọ 15-20%: akoko ti o lo sisẹ ifiranṣẹ kọọkan yoo ni ipa lori rẹ. Ni afikun, awọn ero isise fifuye ti fere ilọpo meji.

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Niwọn igba ti awọn apa alagbata tun ni awọn ohun kohun ti ko lo, iṣẹ le ni ilọsiwaju nipasẹ yiyipada iṣeto Kafka. Eyi kii ṣe iṣẹ ti o rọrun, nitorinaa lati mu iṣelọpọ pọ si o dara lati ṣiṣẹ pẹlu awọn ifiranṣẹ nla.

4 alagbata, ifiranṣẹ iwọn - 512 baiti

O le ni rọọrun pọ si iṣẹ iṣupọ Kafka kan nipa fifi awọn alagbata titun kun ati mimu iwọntunwọnsi ti awọn ipin (eyi ṣe idaniloju pe ẹru naa ti pin boṣeyẹ laarin awọn alagbata). Ninu ọran wa, lẹhin fifi alagbata kan kun, iṣelọpọ iṣupọ pọ si ~ 580 Mb/s (~ 1,1 milionu awọn ifiranṣẹ fun iṣẹju kan). Idagba naa ti jade lati kere ju ti a ti ṣe yẹ lọ: eyi jẹ alaye nipataki nipasẹ aiṣedeede ti awọn ipin (kii ṣe gbogbo awọn alagbata ṣiṣẹ ni oke ti awọn agbara wọn).

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Lilo iranti ti ẹrọ JVM wa ni isalẹ 2 GB:

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Iṣẹ ti awọn alagbata pẹlu awọn awakọ ni ipa nipasẹ aiṣedeede ti awọn ipin:

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

Ṣe ipinnu iwọn ti o yẹ fun iṣupọ Kafka ni Kubernetes

awari

Ọna arosọ ti a gbekalẹ loke le jẹ faagun lati bo awọn oju iṣẹlẹ ti o nipọn diẹ sii ti o kan awọn ọgọọgọrun ti awọn alabara, ipadabọ, awọn imudojuiwọn yiyi, awọn atunbere adarọ ese, ati bẹbẹ lọ. Gbogbo eyi n gba wa laaye lati ṣe ayẹwo awọn opin ti awọn agbara iṣupọ Kafka ni awọn ipo pupọ, ṣe idanimọ awọn igo ni iṣẹ rẹ ati wa awọn ọna lati koju wọn.

A ṣe apẹrẹ Supertubes lati yara ati irọrun gbe iṣupọ kan, tunto rẹ, ṣafikun / yọ awọn alagbata ati awọn akọle kuro, dahun si awọn itaniji, ati rii daju pe Kafka ni gbogbogbo ṣiṣẹ daradara lori Kubernetes. Ibi-afẹde wa ni lati ṣe iranlọwọ fun ọ lati ṣojumọ lori iṣẹ-ṣiṣe akọkọ (“ipilẹṣẹ” ati “jẹ” awọn ifiranṣẹ Kafka), ati fi gbogbo iṣẹ takuntakun silẹ si Supertubes ati oniṣẹ Kafka.

Ti o ba nifẹ si awọn imọ-ẹrọ Banzai Cloud ati awọn iṣẹ akanṣe Orisun, ṣe alabapin si ile-iṣẹ ni GitHub, LinkedIn tabi twitter.

PS lati onitumọ

Ka tun lori bulọọgi wa:

orisun: www.habr.com

Fi ọrọìwòye kun