Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Thoir an aire. eadar-theangachadh.: San artaigil seo, tha Banzai Cloud a’ roinn eisimpleir air mar a ghabhas na h-innealan àbhaisteach aige a chleachdadh gus Kafka a dhèanamh nas fhasa a chleachdadh taobh a-staigh Kubernetes. Tha an stiùireadh a leanas a’ sealltainn mar as urrainn dhut am meud as fheàrr den bhun-structair agad a dhearbhadh agus Kafka fhèin a rèiteachadh gus an t-slighe a tha a dhìth a choileanadh.

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Tha Apache Kafka na àrd-ùrlar sruthadh sgaoilte airson siostaman sruthadh fìor-ùine earbsach, scalable agus àrd-choileanaidh a chruthachadh. Faodar na comasan drùidhteach aige a leudachadh le bhith a ’cleachdadh Kubernetes. Airson seo tha sinn air a leasachadh Gnìomhaiche Open Source Kafka agus inneal ris an canar Supertubes. Leigidh iad leat Kafka a ruith air Kubernetes agus na diofar fheartan aige a chleachdadh, leithid gleusadh rèiteachadh a’ bhrocair, sgèileadh stèidhichte air meatrach le ath-chothromachadh, mothachadh raca, “bog” (gràsmhor) a’ sgaoileadh ùrachaidhean, msaa.

Feuch Supertubes anns a’ bhuidheann agad:

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

No cuir fios sgrìobhainnean. Faodaidh tu cuideachd leughadh mu chuid de na comasan aig Kafka, an obair leis a bheil e fèin-ghluasadach a’ cleachdadh Supertubes agus gnìomhaiche Kafka. Tha sinn mu thràth air sgrìobhadh mun deidhinn air a’ bhlog:

Nuair a cho-dhùnas tu cruinneachadh Kafka a chuir air Kubernetes, tha coltas ann gum bi an dùbhlan agad a bhith a’ dearbhadh am meud as fheàrr den bhun-structar bunaiteach agus an fheum air do rèiteachadh Kafka a ghleusadh gus coinneachadh ri riatanasan trochur. Tha coileanadh as àirde gach broker air a dhearbhadh le coileanadh nam pàirtean bun-structair, leithid cuimhne, pròiseasar, astar diosc, leud-bann lìonra, msaa.

Mas fheàrr, bu chòir rèiteachadh a’ bhròcair a bhith cho mòr is gum bi na h-eileamaidean bun-structair uile air an cleachdadh gu na comasan as àirde aca. Ach, ann am fìor bheatha tha an suidheachadh seo gu math iom-fhillte. Tha e nas dualtaiche gum bi luchd-cleachdaidh a’ rèiteachadh brocairean gus an fheum as fheàrr a dhèanamh de aon no dhà de phàirtean (diosg, cuimhne, no pròiseasar). San fharsaingeachd, bidh broker a’ sealltainn an coileanadh as àirde nuair a tha an rèiteachadh aige a’ leigeil leis a’ phàirt as slaodaiche a bhith air a chleachdadh chun na h-ìre as àirde. San dòigh seo gheibh sinn beachd garbh air an luchd as urrainn dha aon broker a làimhseachadh.

Gu teòiridheach, is urrainn dhuinn cuideachd tuairmse a dhèanamh air an àireamh de brocairean a dh ’fheumar gus luchd sònraichte a làimhseachadh. Ach, ann an cleachdadh tha uimhir de roghainnean rèiteachaidh aig diofar ìrean gu bheil e gu math duilich (mura h-eil e do-dhèanta) measadh a dhèanamh air coileanadh a dh’ fhaodadh a bhith aig rèiteachadh sònraichte. Ann am faclan eile, tha e gu math duilich rèiteachadh a dhealbhadh stèidhichte air cuid de choileanadh sònraichte.

Airson luchd-cleachdaidh Supertubes, mar as trice bidh sinn a’ gabhail an dòigh-obrach a leanas: bidh sinn a’ tòiseachadh le beagan rèiteachaidh (bun-structar + roghainnean), an uairsin a’ tomhas a choileanadh, atharraich na roghainnean broker agus ath-aithris a dhèanamh air a’ phròiseas. Bidh seo a’ tachairt gus an tèid am pàirt as slaodaiche den bhun-structar a chleachdadh gu h-iomlan.

San dòigh seo, gheibh sinn beachd nas soilleire air cia mheud brocairean a dh’ fheumas buidheann a bhith a’ làimhseachadh luchd sònraichte (tha an àireamh de brocairean cuideachd an urra ri factaran eile, leithid an àireamh as lugha de ath-bhualaidhean teachdaireachd gus dèanamh cinnteach à tapachd, an àireamh de sgaradh stiùirichean, msaa). A bharrachd air an sin, gheibh sinn sealladh air dè na pàirtean bun-structair a dh’ fheumas sgèileadh dìreach.

Bruidhnidh an artaigil seo mu na ceumannan a bhios sinn a’ gabhail gus a’ chuid as fheàrr fhaighinn de na pàirtean as slaodaiche ann an rèiteachaidhean tùsail agus tomhas an t-slighe a-steach de bhuidheann Kafka. Feumaidh rèiteachadh fìor sheasmhach co-dhiù trì brocairean ruith (min.insync.replicas=3), air a chuairteachadh thairis air trì sònaichean ruigsinneachd eadar-dhealaichte. Gus bun-structar Kubernetes a rèiteachadh, a sgèile agus a sgrùdadh, bidh sinn a’ cleachdadh an àrd-ùrlar riaghlaidh soithichean againn fhèin airson sgòthan tar-chinealach - Pìob-loidhne. Bidh e a’ toirt taic do on-premise (meatailt lom, VMware) agus còig seòrsaichean sgòthan (Alibaba, AWS, Azure, Google, Oracle), a bharrachd air measgachadh sam bith dhiubh.

Beachdan air bun-structar cruinneachadh Kafka agus rèiteachadh

Airson na h-eisimpleirean gu h-ìosal, thagh sinn AWS mar an solaraiche sgòthan agus EKS mar an cuairteachadh Kubernetes. Faodar rèiteachadh coltach ris a chuir an gnìomh le bhith a ’cleachdadh P.K.E. - Sgaoileadh Kubernetes bho Banzai Cloud, air a dhearbhadh le CNCF.

Slighe

Tha Amazon a’ tabhann diofar Seòrsan tomhas-lìonaidh EBS. Aig cridhe gp2 и io1 tha dràibhearan SSD ann, ge-tà, gus dèanamh cinnteach à toradh àrd gp2 ag ithe creideasan cruinnichte (Creideas I/O), agus mar sin b' fheàrr leinn an seòrsa io1, a tha a’ tabhann toradh àrd cunbhalach.

Seòrsan eisimpleirean

Tha coileanadh Kafka gu mòr an urra ri tasgadan duilleag an t-siostam obrachaidh, agus mar sin feumaidh sinn suidheachaidhean le cuimhne gu leòr airson na brocairean (JVM) agus tasgadan duilleag. mar eisimpleir c5.2x mòr - toiseach tòiseachaidh math, leis gu bheil 16 GB de chuimhne agus leasaichte airson obrachadh le EBS. Is e an ana-cothrom a th’ ann nach urrainn dha ach an coileanadh as àirde a thoirt seachad airson gun a bhith nas fhaide na 30 mionaid gach 24 uair. Ma tha feum aig an eallach obrach agad air àrd-choileanadh thar ùine nas fhaide, is dòcha gum bi thu airson beachdachadh air seòrsachan eisimpleirean eile. Sin dìreach a rinn sinn, stad aig c5.4x mòr. Tha e a 'toirt seachad an ìre as àirde tron ​​​​chur a-steach 593,75 Mb/s. An ìre as àirde de thionndadh EBS io1 nas àirde na an eisimpleir c5.4x mòr, agus mar sin tha e coltach gur e an eileamaid as slaodaiche den bhun-structar an gluasad I / O den t-seòrsa eisimpleir seo (a bu chòir na deuchainnean luchd againn a dhearbhadh cuideachd).

Lìonra

Feumaidh an lìonra trochur a bhith mòr gu leòr an taca ri coileanadh an eisimpleir VM agus diosc, air neo bidh an lìonra na bhotal. Anns a 'chùis againn, an eadar-aghaidh lìonra c5.4x mòr a’ toirt taic do astaran suas ri 10 Gb / s, a tha gu math nas àirde na an gluasad I / O de eisimpleir VM.

Cleachdadh Broker

Bu chòir brocairean a bhith air an cleachdadh (clàraichte ann an Kubernetes) gu nodan sònraichte gus nach bi iad a’ farpais ri pròiseasan eile airson goireasan CPU, cuimhne, lìonra agus diosc.

Tionndadh Java

Is e an roghainn loidsigeach Java 11 oir tha e co-chòrdail ri Docker anns an fhaireachdainn gu bheil an JVM a’ dearbhadh gu ceart na pròiseasairean agus an cuimhne a tha ri fhaighinn don ghobhar anns a bheil am broker a ’ruith. Le fios gu bheil crìochan CPU cudromach, tha an JVM a-staigh agus gu follaiseach a’ suidheachadh an àireamh de snàithleanan GC agus snàithleanan JIT. Chleachd sinn an dealbh Kafka banzaicloud/kafka:2.13-2.4.0, a tha a’ toirt a-steach dreach Kafka 2.4.0 (Scala 2.13) air Java 11.

Ma tha thu airson barrachd ionnsachadh mu Java/JVM air Kubernetes, thoir sùil air na puist a leanas againn:

Roghainnean cuimhne Broker

Tha dà phrìomh thaobh ann a bhith a’ rèiteachadh cuimhne broker: roghainnean airson an JVM agus airson pod Kubernetes. Feumaidh an ìre cuimhne a tha air a shuidheachadh airson pod a bhith nas motha na a’ mheud tiùrr as motha gus am bi àite aig an JVM airson an metaspace Java a tha a’ fuireach na chuimhne fhèin agus airson tasgadan duilleag an t-siostaim obrachaidh a bhios Kafka a’ cleachdadh gu gnìomhach. Anns na deuchainnean againn chuir sinn air bhog brocairean Kafka le crìochan -Xmx4G -Xms2G, agus b’ e crìoch cuimhne a’ phod 10 Gi. Thoir an aire gum faighear roghainnean cuimhne airson an JVM gu fèin-ghluasadach a’ cleachdadh -XX:MaxRAMPercentage и -X:MinRAMPercentage, stèidhichte air crìoch cuimhne airson a’ pod.

Roghainnean pròiseasar broker

San fharsaingeachd, faodaidh tu coileanadh a leasachadh le bhith a 'meudachadh co-shìnteachd le bhith a' meudachadh àireamh nan snàithleanan a chleachdas Kafka. Mar as motha de phròiseasan a tha rim faighinn airson Kafka, ’s ann as fheàrr. Anns an deuchainn againn, thòisich sinn le crìoch de phròiseasan 6 agus mean air mhean (tro ath-aithrisean) thog sinn an àireamh aca gu 15. A bharrachd air an sin, shuidhich sinn num.network.threads=12 anns na roghainnean broker gus an àireamh de snàithleanan a gheibh dàta bhon lìonra àrdachadh agus a chuir. Sa bhad a ’faighinn a-mach nach b’ urrainn dha na brocairean leanmhainn mac-samhail fhaighinn luath gu leòr, thog iad num.replica.fetchers gu 4 gus an astar aig am biodh brocairean luchd-leantainn ag ath-aithris teachdaireachdan bho stiùirichean.

Inneal ginealach luchdachadh

Bu chòir dhut dèanamh cinnteach nach ruith an gineadair luchdan taghte a-mach à comas mus ruig an cruinneachadh Kafka (a thathas a’ tomhas) an luchd as àirde. Ann am faclan eile, feumar measadh tòiseachaidh a dhèanamh air comasan an inneal gineadh luchdan, agus cuideachd seòrsaichean eisimpleirean a thaghadh air a shon le àireamh gu leòr de phròiseasan agus cuimhne. Anns a ’chùis seo, bheir an inneal againn barrachd luchd na as urrainn don bhuidheann Kafka a làimhseachadh. Às deidh mòran dheuchainnean, shocraich sinn air trì leth-bhreacan c5.4x mòr, agus bha gineadair a 'ruith aig gach fear dhiubh.

Slat-tomhais

Tha tomhas coileanaidh na phròiseas ath-aithriseach anns a bheil na h-ìrean a leanas:

  • stèidheachadh bun-structair (cruinneachadh EKS, cruinneachadh Kafka, inneal gineadh luchdan, a bharrachd air Prometheus agus Grafana);
  • a’ gineadh luchd airson ùine sònraichte gus sgaraidhean air thuaiream a shìoladh anns na comharran coileanaidh cruinnichte;
  • ag atharrachadh bun-structar agus rèiteachadh a’ bhròcair stèidhichte air comharran coileanaidh a chaidh fhaicinn;
  • ag ath-aithris a’ phròiseis gus an ruigear an ìre riatanach de chnuasachd Kafka. Aig an aon àm, feumaidh e a bhith air ath-riochdachadh gu cunbhalach agus a bhith a’ nochdadh glè bheag de dh’ atharrachaidhean ann an toradh.

Tha an ath earrann a’ toirt cunntas air na ceumannan a chaidh a dhèanamh tron ​​phròiseas slat-tomhais cruinneachadh deuchainn.

Innealan

Chaidh na h-innealan a leanas a chleachdadh gus rèiteachadh bun-loidhne a chuir an gnìomh gu sgiobalta, luchdan a ghineadh, agus coileanadh a thomhas:

  • Pìob-loidhne Cloud Banzai airson cruinneachadh EKS a chuir air dòigh bho Amazon c Prometheus (gus Kafka agus meatrach bun-structair a chruinneachadh) agus grafana (gus na slatan-tomhais seo fhaicinn). Ghabh sinn brath aonaichte в Pìob-loidhne seirbheisean a bheir seachad sgrùdadh aonaichte, cruinneachadh logaichean sa mheadhan, sganadh so-leòntachd, faighinn seachad air mòr-thubaist, tèarainteachd ìre iomairt agus mòran a bharrachd.
  • Sangrenel - inneal airson deuchainn luchdan air cruinneachadh Kafka.
  • Clàran-deasachaidh Grafana airson a bhith a’ faicinn metrics agus bun-structar Kafka: Kubernetes Kafka, Exporter Node.
  • Supertubes CLI airson an dòigh as fhasa air cruinneachadh Kafka a stèidheachadh air Kubernetes. Tha Zookeeper, gnìomhaiche Kafka, Tosgaire agus mòran phàirtean eile air an stàladh agus air an rèiteachadh gu ceart gus cruinneachadh Kafka deiseil airson cinneasachadh a ruith air Kubernetes.
    • Gus stàladh supertubes CLI cleachd an stiùireadh a chaidh a thoirt seachad an seo.

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Buidheann EKS

Ullaich buidheann EKS le nodan luchd-obrach sònraichte c5.4x mòr ann an diofar sònaichean ruigsinneachd airson pods le brocairean Kafka, a bharrachd air nodan sònraichte airson gineadair luchdan agus bun-structar sgrùdaidh.

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

Aon uair ‘s gu bheil an cruinneachadh EKS ag obair, thoir comas dha amalaichte seirbheis sgrùdaidh - cuiridh i Prometheus agus Grafana gu buidheann.

Co-phàirtean siostam Kafka

Cuir a-steach co-phàirtean siostam Kafka (Zookeeper, kafka-operator) ann an EKS a’ cleachdadh supertubes CLI:

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

Buidheann Kafka

Gu gnàthach, bidh EKS a’ cleachdadh meudan seòrsa EBS gp2, mar sin feumaidh tu clas stòraidh fa leth a chruthachadh stèidhichte air meudan io1 airson buidheann 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

Suidhich am paramadair airson brocairean min.insync.replicas=3 agus cuir pods broker air nodan ann an trì sònaichean ruigsinneachd eadar-dhealaichte:

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

Cuspairean

Ruith sinn trì suidheachaidhean gineadair luchdan aig an aon àm. Bidh gach fear dhiubh a’ sgrìobhadh chun chuspair aca fhèin, is e sin, feumaidh sinn trì cuspairean uile gu lèir:

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

Airson gach cuspair, is e am feart ath-riochdachadh 3 - an luach as ìsle a thathar a’ moladh airson siostaman toraidh a tha rim faighinn gu mòr.

Inneal ginealach luchdachadh

Chuir sinn trì leth-bhreacan den ghineadair luchd air bhog (sgrìobh gach fear ann an cuspair air leth). Airson pods gineadair luchdan, feumaidh tu dàimh nodan a shuidheachadh gus nach bi iad clàraichte ach air na nodan a chaidh a shònrachadh dhaibh:

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

Beagan phuingean ri thoirt fa-near:

  • Bidh an gineadair luchdan a’ gineadh teachdaireachdan de 512 byte de dh’fhaid agus gan foillseachadh gu Kafka ann an baidsean de 500 teachdaireachd.
  • A’ cleachdadh argamaid -required-acks=all Thathas den bheachd gu bheil am foillseachadh soirbheachail nuair a gheibh brocairean Kafka a h-uile mac-samhail sioncronaich den teachdaireachd agus air a dhearbhadh. Tha seo a’ ciallachadh gun do thomhais sinn anns a’ shlat-tomhais chan ann a-mhàin air astar stiùirichean a’ faighinn teachdaireachdan, ach cuideachd an luchd-leantainn aca ag ath-aithris teachdaireachdan. Chan e adhbhar na deuchainn seo astar leughaidh luchd-cleachdaidh a mheasadh (luchd-cleachdaidh) teachdaireachdan a fhuaireadh o chionn ghoirid a tha fhathast ann an tasgadan duilleag an OS, agus an coimeas ri astar leughaidh teachdaireachdan air an stòradh air diosc.
  • Bidh an gineadair luchdan a’ ruith 20 neach-obrach aig an aon àm (-workers=20). Tha 5 riochdairean anns gach neach-obrach a bhios a’ roinn ceangal an neach-obrach ri cruinneachadh Kafka. Mar thoradh air an sin, tha 100 riochdaire aig gach gineadair, agus bidh iad uile a’ cur teachdaireachdan gu buidheann Kafka.

A’ cumail sùil air slàinte na buidhne

Rè deuchainn luchdan air cruinneachadh Kafka, rinn sinn sùil cuideachd air a shlàinte gus dèanamh cinnteach nach robh ath-thòiseachadh pod ann, nach robh mac-samhail taobh a-muigh sioncranachaidh, agus an gluasad as motha le glè bheag de dh’ atharrachaidhean:

  • Bidh an gineadair luchdan a’ sgrìobhadh staitistig àbhaisteach mun àireamh de theachdaireachdan a chaidh fhoillseachadh agus an ìre mearachd. Bu chòir an ìre mearachd fuireach mar a tha e 0,00%.
  • Smachd cuairt-mara, air a chleachdadh le kafka-operator, a’ toirt seachad deas-bhòrd far an urrainn dhuinn cuideachd sùil a chumail air staid a’ bhraisle. Gus am pannal seo fhaicinn dèan:
    supertubes cluster cruisecontrol show -n kafka --kubeconfig <path-to-eks-cluster-kubeconfig-file>
  • Ìre ISR (àireamh mac-samhail “in-sync”) tha crìonadh agus leudachadh co-ionann ri 0.

Toraidhean tomhais

3 brocairean, meud teachdaireachd - 512 bytes

Le sgaraidhean air an sgaoileadh gu cothromach thairis air trì brocairean, bha e comasach dhuinn coileanadh a choileanadh ~ 500 Mb/s (mu 990 mìle teachdaireachd gach diog):

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Cha robh caitheamh cuimhne an inneal brìgheil JVM nas àirde na 2 GB:

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Ràinig trochur diosc an ìre as àirde tron ​​cur-a-steach nód I/O air na trì cùisean air an robh na brocairean a’ ruith:

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Bhon dàta air cleachdadh cuimhne le nodan, tha e a’ leantainn gun do ghabh buffering siostam agus tasgadh ~ 10-15 GB:

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

3 brocairean, meud teachdaireachd - 100 bytes

Mar a bhios meud na teachdaireachd a’ dol sìos, bidh trochur a’ tuiteam mu 15-20%: tha an ùine a thathar a’ caitheamh a’ giullachd gach teachdaireachd a’ toirt buaidh air. A bharrachd air an sin, tha an luchd pròiseasar cha mhòr air dùblachadh.

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Leis gu bheil coraichean fhathast aig nodan bròcair, faodar coileanadh a leasachadh le bhith ag atharrachadh rèiteachadh Kafka. Chan e obair fhurasta a tha seo, agus mar sin tha e nas fheàrr obrachadh le teachdaireachdan nas motha gus trochur a mheudachadh.

4 brocairean, meud teachdaireachd - 512 bytes

Faodaidh tu coileanadh cruinneachadh Kafka a mheudachadh gu furasta le bhith dìreach a ’cur brocairean ùra ris agus a’ cumail suas cothromachadh de sgaradh (bidh seo a ’dèanamh cinnteach gu bheil an luchd air a chuairteachadh gu cothromach eadar brocairean). Anns a ’chùis againn, às deidh dha broker a chuir ris, mheudaich an toradh brabhsair gu ~ 580 Mb/s (~1,1 millean teachdaireachd gach diog). Bha am fàs nas ìsle na bha dùil: tha seo gu ìre mhòr air a mhìneachadh leis an neo-chothromachadh de phàirtean (chan eil a h-uile brocer ag obair aig àirde an comasan).

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Bha caitheamh cuimhne an inneal JVM fhathast fo 2 GB:

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Thug mì-chothromachadh air sgaradh buaidh air obair brocairean le draibhearan:

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

Obraich a-mach am meud iomchaidh airson cruinneachadh Kafka ann an Kubernetes

toraidhean

Faodar an dòigh-obrach ath-aithriseach a tha air a thaisbeanadh gu h-àrd a leudachadh gus dèiligeadh ri suidheachaidhean nas iom-fhillte anns a bheil ceudan de luchd-cleachdaidh, ath-thionndadh, ùrachaidhean leantainneach, ath-thòiseachadh pod, msaa. Tha seo uile a’ toirt cothrom dhuinn measadh a dhèanamh air crìochan comasan buidheann Kafka ann an diofar shuidheachaidhean, botail a chomharrachadh san obair aige agus dòighean a lorg gus cuir an-aghaidh iad.

Dhealbhaich sinn Supertubes gus brabhsair a chuir an sàs gu sgiobalta agus gu furasta, a rèiteachadh, brocairean agus cuspairean a chuir ris / a thoirt air falbh, freagairt a thoirt do rabhaidhean, agus dèanamh cinnteach gu bheil Kafka san fharsaingeachd ag obair gu ceart air Kubernetes. Is e an t-amas againn do chuideachadh le bhith ag amas air a’ phrìomh obair (“gineadh” agus “caitheamh” teachdaireachdan Kafka), agus fàg an obair chruaidh gu Supertubes agus an gnìomhaiche Kafka.

Ma tha ùidh agad ann an teicneòlasan Banzai Cloud agus pròiseactan Open Source, fo-sgrìobh don chompanaidh aig GitHub, Dèan no Twitter.

PS bhon eadar-theangair

Leugh cuideachd air ar blog:

Source: www.habr.com

Cuir beachd ann