ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ื”ืขืจื”. ืชืจื’ื•ื: ื‘ืžืืžืจ ื–ื”, Banzai Cloud ื—ื•ืœืง ื“ื•ื’ืžื” ื›ื™ืฆื“ ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ื ื”ืžื•ืชืืžื™ื ืื™ืฉื™ืช ืฉืœื• ื›ื“ื™ ืœื”ืคื•ืš ืืช ืงืคืงื ืœืงืœ ื™ื•ืชืจ ืœืฉื™ืžื•ืฉ ื‘ืชื•ืš Kubernetes. ื”ื”ื•ืจืื•ืช ื”ื‘ืื•ืช ืžืžื—ื™ืฉื•ืช ื›ื™ืฆื“ ืชื•ื›ืœ ืœืงื‘ื•ืข ืืช ื”ื’ื•ื“ืœ ื”ืื•ืคื˜ื™ืžืœื™ ืฉืœ ื”ืชืฉืชื™ืช ืฉืœืš ื•ืœื”ื’ื“ื™ืจ ืืช ืงืคืงื ืขืฆืžื” ื›ื“ื™ ืœื”ืฉื™ื’ ืืช ื”ืชืคื•ืงื” ื”ื ื“ืจืฉืช.

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

Apache Kafka ื”ื™ื ืคืœื˜ืคื•ืจืžืช ืกื˜ืจื™ืžื™ื ื’ ืžื‘ื•ื–ืจืช ืœื™ืฆื™ืจืช ืžืขืจื›ื•ืช ืกื˜ืจื™ืžื™ื ื’ ื‘ื–ืžืŸ ืืžืช ืืžื™ื ื•ืช, ื ื™ืชื ื•ืช ืœื”ืจื—ื‘ื” ื•ื‘ืขืœื•ืช ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื. ื ื™ืชืŸ ืœื”ืจื—ื™ื‘ ืืช ื”ื™ื›ื•ืœื•ืช ื”ืžืจืฉื™ืžื•ืช ืฉืœื• ื‘ืืžืฆืขื•ืช Kubernetes. ื‘ืฉื‘ื™ืœ ื–ื” ืคื™ืชื—ื ื• ืžืคืขื™ืœ ืงื•ื“ ืคืชื•ื— ืฉืœ ืงืคืงื ื•ื›ืœื™ ืฉื ืงืจื ืฆื™ื ื•ืจื•ืช ืขืœ. ื”ื ืžืืคืฉืจื™ื ืœืš ืœื”ืคืขื™ืœ ืืช ืงืคืงื ื‘-Kubernetes ื•ืœื”ืฉืชืžืฉ ื‘ืชื›ื•ื ื•ืช ื”ืฉื•ื ื•ืช ืฉืœื•, ื›ืžื• ื›ื•ื•ื ื•ืŸ ืขื“ื™ืŸ ืฉืœ ืชืฆื•ืจืช ื”ื‘ืจื•ืงืจ, ืงื ื” ืžื™ื“ื” ืžื‘ื•ืกืก ืžื“ื“ื™ื ืขื ืื™ื–ื•ืŸ ืžื—ื“ืฉ, ืžื•ื“ืขื•ืช rack, "ืจืš" (ืžึฐืขื•ึผื“ึธืŸ) ื”ืคืงืช ืขื“ื›ื•ื ื™ื ื•ื›ื•'.

ื ืกื” ืืช Supertubes ื‘ืืฉื›ื•ืœ ืฉืœืš:

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

ืื• ืœื™ืฆื•ืจ ืงืฉืจ ืชื™ืขื•ื“. ื ื™ืชืŸ ื’ื ืœืงืจื•ื ืขืœ ื—ืœืง ืžื”ื™ื›ื•ืœื•ืช ืฉืœ ืงืคืงื, ืฉื”ืขื‘ื•ื“ื” ืื™ืชื” ืื•ื˜ื•ืžื˜ื™ืช ื‘ืืžืฆืขื•ืช Supertubes ื•ืื•ืคืจื˜ื•ืจ ืงืคืงื. ื›ื‘ืจ ื›ืชื‘ื ื• ืขืœื™ื”ื ื‘ื‘ืœื•ื’:

ื›ืืฉืจ ืชื—ืœื™ื˜ ืœืคืจื•ืก ืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes, ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืชืขืžื•ื“ ื‘ืคื ื™ ื”ืืชื’ืจ ืฉืœ ืงื‘ื™ืขืช ื”ื’ื•ื“ืœ ื”ืื•ืคื˜ื™ืžืœื™ ืฉืœ ื”ืชืฉืชื™ืช ื”ื‘ืกื™ืกื™ืช ื•ื”ืฆื•ืจืš ืœื›ื•ื•ื ืŸ ืขื“ื™ืŸ ืืช ืชืฆื•ืจืช ืงืคืงื ืฉืœืš ื›ื“ื™ ืœืขืžื•ื“ ื‘ื“ืจื™ืฉื•ืช ื”ืชืคื•ืงื”. ื”ื‘ื™ืฆื•ืขื™ื ื”ืžืงืกื™ืžืœื™ื™ื ืฉืœ ื›ืœ ื‘ืจื•ืงืจ ื ืงื‘ืขื™ื ืขืœ ืคื™ ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืจื›ื™ื‘ื™ ื”ืชืฉืชื™ืช ื”ื‘ืกื™ืกื™ื™ื, ื›ื’ื•ืŸ ื–ื™ื›ืจื•ืŸ, ืžืขื‘ื“, ืžื”ื™ืจื•ืช ื“ื™ืกืง, ืจื•ื—ื‘ ืคืก ืจืฉืช ื•ื›ื•'.

ื‘ืื•ืคืŸ ืื™ื“ื™ืืœื™, ืชืฆื•ืจืช ื”ืžืชื•ื•ืš ืฆืจื™ื›ื” ืœื”ื™ื•ืช ื›ื–ื• ืฉื›ืœ ืจื›ื™ื‘ื™ ื”ืชืฉืชื™ืช ื™ืฉืžืฉื• ืืช ื”ื™ื›ื•ืœื•ืช ื”ืžืงืกื™ืžืœื™ื•ืช ืฉืœื”ื. ืขื ื–ืืช, ื‘ื—ื™ื™ื ื”ืืžื™ืชื™ื™ื ื”ื’ื“ืจื” ื–ื• ืžื•ืจื›ื‘ืช ืœืžื“ื™. ืกื‘ื™ืจ ื™ื•ืชืจ ืฉืžืฉืชืžืฉื™ื ื™ื’ื“ื™ืจื• ืžืชื•ื•ื›ื™ื ื›ื“ื™ ืœืžืงืกื ืืช ื”ืฉื™ืžื•ืฉ ื‘ืจื›ื™ื‘ ืื—ื“ ืื• ืฉื ื™ื™ื (ื“ื™ืกืง, ื–ื™ื›ืจื•ืŸ ืื• ืžืขื‘ื“). ื‘ืื•ืคืŸ ื›ืœืœื™, ื‘ืจื•ืงืจ ืžืฆื™ื’ ื‘ื™ืฆื•ืขื™ื ืžืงืกื™ืžืœื™ื™ื ื›ืืฉืจ ื”ืชืฆื•ืจื” ืฉืœื• ืžืืคืฉืจืช ืœื”ืฉืชืžืฉ ื‘ืจื›ื™ื‘ ื”ืื™ื˜ื™ ื‘ื™ื•ืชืจ ื‘ืžืœื•ืื•. ื›ืš ื ื•ื›ืœ ืœืงื‘ืœ ืžื•ืฉื’ ื’ืก ืขืœ ื”ืขื•ืžืก ืฉื‘ืจื•ืงืจ ืื—ื“ ื™ื›ื•ืœ ืœื”ืชืžื•ื“ื“ ืื™ืชื•.

ืชื™ืื•ืจื˜ื™ืช, ืื ื• ื™ื›ื•ืœื™ื ื’ื ืœื”ืขืจื™ืš ืืช ืžืกืคืจ ื”ืžืชื•ื•ื›ื™ื ื”ื ื“ืจืฉื™ื ืœื˜ื™ืคื•ืœ ื‘ืขื•ืžืก ื ืชื•ืŸ. ืขื ื–ืืช, ื‘ืคื•ืขืœ ื™ืฉ ื›ืœ ื›ืš ื”ืจื‘ื” ืืคืฉืจื•ื™ื•ืช ืชืฆื•ืจื” ื‘ืจืžื•ืช ืฉื•ื ื•ืช ืฉืงืฉื” ืžืื•ื“ (ืื ืœื ื‘ืœืชื™ ืืคืฉืจื™) ืœื”ืขืจื™ืš ืืช ื”ื‘ื™ืฆื•ืขื™ื ื”ืคื•ื˜ื ืฆื™ืืœื™ื™ื ืฉืœ ืชืฆื•ืจื” ืžืกื•ื™ืžืช. ื‘ืžื™ืœื™ื ืื—ืจื•ืช, ืงืฉื” ืžืื•ื“ ืœืชื›ื ืŸ ืชืฆื•ืจื” ื”ืžื‘ื•ืกืกืช ืขืœ ื‘ื™ืฆื•ืขื™ื ืžืกื•ื™ืžื™ื.

ืขื‘ื•ืจ ืžืฉืชืžืฉื™ Supertubes, ืื ื—ื ื• ื‘ื“ืจืš ื›ืœืœ ื ื•ืงื˜ื™ื ื‘ื’ื™ืฉื” ื”ื‘ืื”: ืื ื—ื ื• ืžืชื—ื™ืœื™ื ืขื ืชืฆื•ืจื” ื›ืœืฉื”ื™ (ืชืฉืชื™ืช + ื”ื’ื“ืจื•ืช), ื•ืื– ืžื•ื“ื“ื™ื ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœื”, ืžืชืงื ื™ื ืืช ื”ื’ื“ืจื•ืช ื”ื‘ืจื•ืงืจ ื•ื—ื•ื–ืจื™ื ืขืœ ื”ืชื”ืœื™ืš ืฉื•ื‘. ื–ื” ืงื•ืจื” ืขื“ ืฉื”ืจื›ื™ื‘ ื”ืื™ื˜ื™ ื‘ื™ื•ืชืจ ืฉืœ ื”ืชืฉืชื™ืช ืžื ื•ืฆืœ ื‘ืžืœื•ืื•.

ื‘ื“ืจืš ื–ื•, ืื ื• ืžืงื‘ืœื™ื ืžื•ืฉื’ ื‘ืจื•ืจ ื™ื•ืชืจ ื›ืžื” ืžืชื•ื•ื›ื™ื ืฆืจื™ืš ืืฉื›ื•ืœ ื›ื“ื™ ืœื”ืชืžื•ื“ื“ ืขื ืขื•ืžืก ืžืกื•ื™ื (ืžืกืคืจ ื”ืžืชื•ื•ื›ื™ื ืชืœื•ื™ ื’ื ื‘ื’ื•ืจืžื™ื ืื—ืจื™ื, ื›ื’ื•ืŸ ื”ืžืกืคืจ ื”ืžื™ื ื™ืžืœื™ ืฉืœ ื”ืขืชืงื™ ื”ื•ื“ืขื•ืช ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ื’ืžื™ืฉื•ืช, ืžืกืคืจ ื”ืžื—ื™ืฆื•ืช ืžื ื”ื™ื’ื™ื ื•ื›ื•'). ื‘ื ื•ืกืฃ, ืื ื• ืžืงื‘ืœื™ื ืชื•ื‘ื ื” ืœื’ื‘ื™ ืื™ืœื• ืจื›ื™ื‘ื™ ืชืฉืชื™ืช ื“ื•ืจืฉื™ื ืงื ื” ืžื™ื“ื” ืื ื›ื™.

ืžืืžืจ ื–ื” ื™ื“ื‘ืจ ืขืœ ื”ืฆืขื“ื™ื ืฉืื ื• ื ื•ืงื˜ื™ื ื›ื“ื™ ืœื”ืคื™ืง ืืช ื”ืžืจื‘ ืžื”ืจื›ื™ื‘ื™ื ื”ืื™ื˜ื™ื™ื ื‘ื™ื•ืชืจ ื‘ืชืฆื•ืจื•ืช ืจืืฉื•ื ื™ื•ืช ื•ืœืžื“ื•ื“ ืืช ื”ืชืคื•ืงื” ืฉืœ ืืฉื›ื•ืœ ืงืคืงื. ืชืฆื•ืจื” ืขืžื™ื“ื” ื‘ื™ื•ืชืจ ื“ื•ืจืฉืช ืœืคื—ื•ืช ืฉืœื•ืฉื” ืžืชื•ื•ื›ื™ื ืคื•ืขืœื™ื (min.insync.replicas=3), ื”ืžื•ืคืฅ ืขืœ ืคื ื™ ืฉืœื•ืฉื” ืื–ื•ืจื™ ื ื’ื™ืฉื•ืช ืฉื•ื ื™ื. ื›ื“ื™ ืœื”ื’ื“ื™ืจ, ืœื”ืจื—ื™ื‘ ื•ืœื ื˜ืจ ืืช ืชืฉืชื™ืช Kubernetes, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืคืœื˜ืคื•ืจืžืช ื ื™ื”ื•ืœ ืงื•ื ื˜ื™ื™ื ืจื™ื ืžืฉืœื ื• ืขื‘ื•ืจ ืขื ื ื™ื ื”ื™ื‘ืจื™ื“ื™ื™ื - ืฆื™ื ื•ืจ. ื”ื•ื ืชื•ืžืš ื‘ืžืงื•ื (ืžืชื›ืช ื—ืฉื•ืคื”, VMware) ื•ื‘ื—ืžื™ืฉื” ืกื•ื’ื™ื ืฉืœ ืขื ื ื™ื (Alibaba, AWS, Azure, Google, Oracle), ื›ืžื• ื’ื ื›ืœ ืฉื™ืœื•ื‘ ื‘ื™ื ื™ื”ื.

ืžื—ืฉื‘ื•ืช ืขืœ ืชืฉืชื™ืช ื•ืชืฆื•ืจืช ืืฉื›ื•ืœื•ืช ืงืคืงื

ืขื‘ื•ืจ ื”ื“ื•ื’ืžืื•ืช ืฉืœื”ืœืŸ, ื‘ื—ืจื ื• ื‘-AWS ื›ืกืคืงื™ืช ื”ืขื ืŸ ื•ื‘-EKS ื›ื”ืคืฆืช Kubernetes. ื ื™ืชืŸ ืœื™ื™ืฉื ืชืฆื•ืจื” ื“ื•ืžื” ื‘ืืžืฆืขื•ืช P.K.E. - ื”ืคืฆืช Kubernetes ืžื‘ื™ืช Banzai Cloud, ืžืื•ืฉืจ ืขืœ ื™ื“ื™ CNCF.

ื“ื™ืกืง

ืืžื–ื•ืŸ ืžืฆื™ืขื” ืžื’ื•ื•ืŸ ืกื•ื’ื™ ื ืคื— EBS. ื‘ื‘ืกื™ืก gp2 ะธ io1 ืขื ื–ืืช, ื™ืฉื ื ื›ื•ื ื ื™ SSD ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืชืคื•ืงื” ื’ื‘ื•ื”ื” gp2 ืฆื•ืจืš ื–ื™ื›ื•ื™ื™ื ืฉื ืฆื‘ืจื• (ืงืจื“ื™ื˜ I/O), ืื– ื”ืขื“ืคื ื• ืืช ื”ืกื•ื’ io1, ืฉืžืฆื™ืข ืชืคื•ืงื” ื’ื‘ื•ื”ื” ืขืงื‘ื™ืช.

ืกื•ื’ื™ ืžื•ืคืขื™ื

ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืงืคืงื ืชืœื•ื™ื™ื ืžืื•ื“ ื‘ืžื˜ืžื•ืŸ ื”ืขืžื•ื“ื™ื ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื”, ื›ืš ืฉืื ื• ื–ืงื•ืงื™ื ืœืžื•ืคืขื™ื ืขื ืžืกืคื™ืง ื–ื™ื›ืจื•ืŸ ืขื‘ื•ืจ ื”ืžืชื•ื•ื›ื™ื (JVM) ื•ืžื˜ืžื•ืŸ ื”ืขืžื•ื“ื™ื. ืœืžืฉืœ c5.2x ืœื”ื’ื“ื™ืœ - ื”ืชื—ืœื” ื˜ื•ื‘ื”, ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื• 16 ื’'ื™ื’ื”-ื‘ื™ื™ื˜ ืฉืœ ื–ื™ื›ืจื•ืŸ ื• ืžื•ืชืื ืœืขื‘ื•ื“ื” ืขื EBS. ื”ื—ื™ืกืจื•ืŸ ืฉืœื• ื”ื•ื ืฉื”ื•ื ืžืกื•ื’ืœ ืœืกืคืง ื‘ื™ืฆื•ืขื™ื ืžืงืกื™ืžืœื™ื™ื ืจืง ืœื ื™ื•ืชืจ ืž-30 ื“ืงื•ืช ื›ืœ 24 ืฉืขื•ืช. ืื ืขื•ืžืก ื”ืขื‘ื•ื“ื” ืฉืœืš ื“ื•ืจืฉ ื‘ื™ืฆื•ืขื™ ืฉื™ื ืœืื•ืจืš ืชืงื•ืคื” ืืจื•ื›ื” ื™ื•ืชืจ, ืžื•ืžืœืฅ ืœืฉืงื•ืœ ืกื•ื’ื™ ืžื•ืคืขื™ื ืื—ืจื™ื. ื–ื” ื‘ื“ื™ื•ืง ืžื” ืฉืขืฉื™ื ื•, ื ืขืฆืจื ื• c5.4x ืœื”ื’ื“ื™ืœ. ื–ื” ืžืกืคืง ืชืคื•ืงื” ืžืงืกื™ืžืœื™ืช ืคื ื™ืžื” 593,75 Mb/s. ืชืคื•ืงื” ืžืงืกื™ืžืœื™ืช ืฉืœ ื ืคื— EBS io1 ื’ื‘ื•ื” ืžื”ืžื•ืคืข c5.4x ืœื”ื’ื“ื™ืœ, ื›ืš ืฉื”ืจื›ื™ื‘ ื”ืื™ื˜ื™ ื‘ื™ื•ืชืจ ืฉืœ ื”ืชืฉืชื™ืช ืขืฉื•ื™ ืœื”ื™ื•ืช ืชืคื•ืงืช ื”-I/O ืžืกื•ื’ ื–ื” (ืฉื’ื ื‘ื“ื™ืงื•ืช ื”ืขื•ืžืก ืฉืœื ื• ืืžื•ืจื•ืช ืœืืฉืจ).

ืจืฉืช

ืชืคื•ืงืช ื”ืจืฉืช ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ื’ื“ื•ืœื” ืžืกืคื™ืง ื‘ื”ืฉื•ื•ืื” ืœื‘ื™ืฆื•ืขื™ื ืฉืœ ืžื•ืคืข ื”-VM ื•ื”ื“ื™ืกืง, ืื—ืจืช ื”ืจืฉืช ื”ื•ืคื›ืช ืœืฆื•ื•ืืจ ื‘ืงื‘ื•ืง. ื‘ืžืงืจื” ืฉืœื ื•, ืžืžืฉืง ื”ืจืฉืช c5.4x ืœื”ื’ื“ื™ืœ ืชื•ืžืš ื‘ืžื”ื™ืจื•ื™ื•ืช ืฉืœ ืขื“ 10 Gb/s, ืฉื”ื•ื ื’ื‘ื•ื” ืžืฉืžืขื•ืชื™ืช ืžืชืคื•ืงืช ื”-I/O ืฉืœ ืžื•ืคืข VM.

ืคืจื™ืกืช ื‘ืจื•ืงืจ

ื™ืฉ ืœืคืจื•ืก ื‘ืจื•ืงืจื™ื (ืžืชื•ื–ืžื ื™ื ื‘-Kubernetes) ืœืฆืžืชื™ื ื™ื™ืขื•ื“ื™ื™ื ื›ื“ื™ ืœื”ื™ืžื ืข ืžืชื—ืจื•ืช ืขื ืชื”ืœื™ื›ื™ื ืื—ืจื™ื ืขื‘ื•ืจ ืžืฉืื‘ื™ ืžืขื‘ื“, ื–ื™ื›ืจื•ืŸ, ืจืฉืช ื•ื“ื™ืกืงื™ื.

ื’ืจืกืช Java

ื”ื‘ื—ื™ืจื” ื”ื”ื’ื™ื•ื ื™ืช ื”ื™ื Java 11 ืžื›ื™ื•ื•ืŸ ืฉื”ื™ื ืชื•ืืžืช ืœ-Docker ื‘ืžื•ื‘ืŸ ื–ื” ืฉื”-JVM ืงื•ื‘ืข ื‘ืฆื•ืจื” ื ื›ื•ื ื” ืืช ื”ืžืขื‘ื“ื™ื ื•ื”ื–ื™ื›ืจื•ืŸ ื”ื–ืžื™ื ื™ื ืœืงื•ื ื˜ื™ื™ื ืจ ื‘ื• ืคื•ืขืœ ื”ื‘ืจื•ืงืจ. ื‘ื™ื“ื™ืขื” ืฉืžื’ื‘ืœื•ืช ื”-CPU ื—ืฉื•ื‘ื•ืช, ื”-JVM ืžื’ื“ื™ืจ ื‘ืื•ืคืŸ ืคื ื™ืžื™ ื•ืฉืงื•ืฃ ืืช ืžืกืคืจ ื”ืฉืจืฉื•ืจื™ื ืฉืœ GC ื•-JIT. ื”ืฉืชืžืฉื ื• ื‘ืชืžื•ื ื” ืฉืœ ืงืคืงื banzaicloud/kafka:2.13-2.4.0, ื”ื›ื•ืœืœ ืืช ื’ืจืกื” 2.4.0 ืฉืœ Kafka (Scala 2.13) ื‘-Java 11.

ืื ืชืจืฆื” ืœืœืžื•ื“ ืขื•ื“ ืขืœ Java/JVM ื‘-Kubernetes, ืขื™ื™ืŸ ื‘ืคื•ืกื˜ื™ื ื”ื‘ืื™ื ืฉืœื ื•:

ื”ื’ื“ืจื•ืช ื–ื™ื›ืจื•ืŸ ื‘ืจื•ืงืจ

ื™ืฉื ื ืฉื ื™ ื”ื™ื‘ื˜ื™ื ืžืจื›ื–ื™ื™ื ืœื”ื’ื“ืจืช ื–ื™ื›ืจื•ืŸ ื”ืžืชื•ื•ืš: ื”ื’ื“ืจื•ืช ืขื‘ื•ืจ ื”-JVM ื•ืขื‘ื•ืจ ื”ืคื•ื“ Kubernetes. ืžื’ื‘ืœืช ื”ื–ื™ื›ืจื•ืŸ ืฉื”ื•ื’ื“ืจื” ืขื‘ื•ืจ ืคื•ื“ ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ื’ื“ื•ืœื” ืžื’ื•ื“ืœ ื”ืขืจื™ืžื” ื”ืžืงืกื™ืžืœื™ืช ื›ื“ื™ ืฉืœ-JVM ื™ื”ื™ื” ืžืงื•ื ืœืžื˜ื-ืกืคื™ื™ืก ืฉืœ Java ื”ืฉื•ื›ืŸ ื‘ื–ื™ื›ืจื•ืŸ ืฉืœื• ื•ืœืžื˜ืžื•ืŸ ื“ืคื™ ืžืขืจื›ืช ื”ื”ืคืขืœื” ืฉื‘ื• ืงืคืงื ืžืฉืชืžืฉ ื‘ืื•ืคืŸ ืคืขื™ืœ. ื‘ื‘ื“ื™ืงื•ืช ืฉืœื ื• ื”ืฉืงื ื• ื‘ืจื•ืงืจื™ื ืฉืœ ืงืคืงื ืขื ืคืจืžื˜ืจื™ื -Xmx4G -Xms2G, ื•ืžื’ื‘ืœืช ื”ื–ื™ื›ืจื•ืŸ ืขื‘ื•ืจ ื”ืคื•ื“ ื”ื™ื™ืชื” 10 Gi. ืฉื™ืžื• ืœื‘ ืฉื ื™ืชืŸ ืœื”ืฉื™ื’ ื”ื’ื“ืจื•ืช ื–ื™ื›ืจื•ืŸ ืขื‘ื•ืจ JVM ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื‘ืืžืฆืขื•ืช -XX:MaxRAMPercentage ะธ -X:MinRAMPercentage, ื‘ื”ืชื‘ืกืก ืขืœ ืžื’ื‘ืœืช ื”ื–ื™ื›ืจื•ืŸ ืขื‘ื•ืจ ื”ืคื•ื“.

ื”ื’ื“ืจื•ืช ืžืขื‘ื“ ื‘ืจื•ืงืจ

ื‘ืื•ืคืŸ ื›ืœืœื™, ืืชื” ื™ื›ื•ืœ ืœืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืขืœ ื™ื“ื™ ื”ื’ื“ืœืช ื”ืžืงื‘ื™ืœื™ื•ืช ืขืœ ื™ื“ื™ ื”ื’ื“ืœืช ืžืกืคืจ ื”ืฉืจืฉื•ืจื™ื ืฉื‘ื”ื ืžืฉืชืžืฉ ืงืคืงื. ื›ื›ืœ ืฉื™ื•ืชืจ ืžืขื‘ื“ื™ื ื–ืžื™ื ื™ื ืขื‘ื•ืจ ืงืคืงื, ื›ืš ื™ื™ื˜ื‘. ื‘ื‘ื“ื™ืงื” ืฉืœื ื• ื”ืชื—ืœื ื• ืขื ืžื’ื‘ืœื” ืฉืœ 6 ืžืขื‘ื“ื™ื ื•ื‘ื”ื“ืจื’ื” (ื‘ืืžืฆืขื•ืช ืื™ื˜ืจืฆื™ื•ืช) ื”ืขืœื™ื ื• ืืช ืžืกืคืจื ืœ-15. ื‘ื ื•ืกืฃ, ืงื‘ืขื ื• num.network.threads=12 ื‘ื”ื’ื“ืจื•ืช ื”ื‘ืจื•ืงืจ ื›ื“ื™ ืœื”ื’ื“ื™ืœ ืืช ืžืกืคืจ ื”ืฉืจืฉื•ืจื™ื ืฉืžืงื‘ืœื™ื ื ืชื•ื ื™ื ืžื”ืจืฉืช ื•ืฉื•ืœื—ื™ื ืื•ืชื. ืžื™ื“ ื’ื™ืœื• ืฉื”ื‘ืจื•ืงืจื™ื ื”ืขื•ืงื‘ื™ื ืœื ื™ื›ื•ืœื™ื ืœืงื‘ืœ ื”ืขืชืงื™ื ืžืกืคื™ืง ืžื”ืจ, ื”ื ื”ืขืœื• num.replica.fetchers ืœ-4 ื›ื“ื™ ืœื”ื’ื‘ื™ืจ ืืช ื”ืžื”ื™ืจื•ืช ืฉื‘ื” ื‘ืจื•ืงืจื™ื ืขื•ืงื‘ื™ื ืžืฉื›ืคืœื™ื ื”ื•ื“ืขื•ืช ืžืžื ื”ื™ื’ื™ื.

ื›ืœื™ ืœื™ืฆื™ืจืช ืขื•ืžืกื™ื

ืขืœื™ืš ืœื•ื•ื“ื ืฉื’ื ืจื˜ื•ืจ ื”ืขื•ืžืก ื”ื ื‘ื—ืจ ืœื ื™ื’ืžืจ ืžื”ืงื™ื‘ื•ืœืช ืœืคื ื™ ืฉืืฉื›ื•ืœ ืงืคืงื (ืฉื ืžืฆื ืœืžื‘ื—ืŸ) ื™ื’ื™ืข ืœืขื•ืžืก ื”ืžืจื‘ื™ ืฉืœื•. ื‘ืžื™ืœื™ื ืื—ืจื•ืช, ื™ืฉ ืฆื•ืจืš ืœื‘ืฆืข ื”ืขืจื›ื” ืจืืฉื•ื ื™ืช ืฉืœ ื”ื™ื›ื•ืœื•ืช ืฉืœ ื›ืœื™ ื™ืฆื™ืจืช ื”ืขื•ืžืก, ื•ื’ื ืœื‘ื—ื•ืจ ืขื‘ื•ืจื• ืกื•ื’ื™ ืžื•ืคืขื™ื ืขื ืžืกืคืจ ืžืกืคื™ืง ืฉืœ ืžืขื‘ื“ื™ื ื•ื–ื™ื›ืจื•ืŸ. ื‘ืžืงืจื” ื–ื”, ื”ื›ืœื™ ืฉืœื ื• ื™ืคื™ืง ื™ื•ืชืจ ืขื•ืžืก ืžืžื” ืฉืืฉื›ื•ืœ ืงืคืงื ื™ื›ื•ืœ ืœืขืžื•ื“ ื‘ื•. ืœืื—ืจ ื ื™ืกื•ื™ื™ื ืจื‘ื™ื, ื”ืกืชืคืงื ื• ื‘ืฉืœื•ืฉื” ืขื•ืชืงื™ื c5.4x ืœื”ื’ื“ื™ืœ, ืฉืœื›ืœ ืื—ื“ ืžื”ื ื”ื™ื” ื’ื ืจื˜ื•ืจ ืคื•ืขืœ.

Benchmarking

ืžื“ื™ื“ืช ื‘ื™ืฆื•ืขื™ื ื”ื™ื ืชื”ืœื™ืš ืื™ื˜ืจื˜ื™ื‘ื™ ื”ื›ื•ืœืœ ืืช ื”ืฉืœื‘ื™ื ื”ื‘ืื™ื:

  • ื”ืงืžืช ืชืฉืชื™ืช (ืืฉื›ื•ืœ EKS, ืืฉื›ื•ืœ ืงืคืงื, ื›ืœื™ ืœื™ืฆื™ืจืช ืขื•ืžืกื™ื ื•ื›ืŸ ืคืจื•ืžืชืื•ืก ื•ื’ืจืคืื ื”);
  • ื™ืฆื™ืจืช ืขื•ืžืก ืœืชืงื•ืคื” ืžืกื•ื™ืžืช ื›ื“ื™ ืœืกื ืŸ ืกื˜ื™ื•ืช ืืงืจืื™ื•ืช ื‘ืžื—ื•ื•ื ื™ ื”ื‘ื™ืฆื•ืขื™ื ืฉื ืืกืคื•;
  • ื”ืชืืžืช ื”ืชืฉืชื™ืช ื•ื”ืชืฆื•ืจื” ืฉืœ ื”ื‘ืจื•ืงืจ ื‘ื”ืชื‘ืกืก ืขืœ ืžื“ื“ื™ ื‘ื™ืฆื•ืขื™ื ื ืฆืคื™ื;
  • ื—ื–ืจื” ืขืœ ื”ืชื”ืœื™ืš ืขื“ ืœื”ืฉื’ืช ื”ืจืžื” ื”ื ื“ืจืฉืช ืฉืœ ืชืคื•ืงืช ืืฉื›ื•ืœ ืงืคืงื. ื™ื—ื“ ืขื ื–ืืช, ืขืœื™ื” ืœื”ื™ื•ืช ื ื™ืชื ืช ืœืฉื—ื–ื•ืจ ื‘ืื•ืคืŸ ืขืงื‘ื™ ื•ืœื”ืคื’ื™ืŸ ืฉื™ื ื•ื™ื™ื ืžื™ื ื™ืžืœื™ื™ื ื‘ืชืคื•ืงื”.

ื”ืกืขื™ืฃ ื”ื‘ื ืžืชืืจ ืืช ื”ืฉืœื‘ื™ื ืฉื‘ื•ืฆืขื• ื‘ืžื”ืœืš ืชื”ืœื™ืš ื”ืฉื•ื•ืืช ืืฉื›ื•ืœ ื”ื‘ื“ื™ืงื”.

ื›ืœื™ ืขื‘ื•ื“ื”

ื”ื›ืœื™ื ื”ื‘ืื™ื ืฉื™ืžืฉื• ืœืคืจื™ืกื” ืžื”ื™ืจื” ืฉืœ ืชืฆื•ืจืช ื‘ืกื™ืก, ื™ืฆื™ืจืช ืขื•ืžืกื™ื ื•ืžื“ื™ื“ืช ื‘ื™ืฆื•ืขื™ื:

  • Banzai Cloud Pipeline ืœืืจื’ื•ืŸ ืืฉื›ื•ืœ EKS ืžืืžื–ื•ืŸ ื’ ืคืจื•ืžืชืื•ืก (ืœืืกื•ืฃ ืžื“ื“ื™ ืงืคืงื ื•ืชืฉืชื™ื•ืช) ื• ื’ืจืคื ื” (ื›ื“ื™ ืœื“ืžื™ื™ืŸ ืืช ื”ืžื“ื“ื™ื ื”ืœืœื•). ื ื™ืฆืœื ื• ืžึฐืฉืื•ึผืœึธื‘ ะฒ ืฆื™ื ื•ืจ ืฉื™ืจื•ืชื™ื ื”ืžืกืคืงื™ื ื ื™ื˜ื•ืจ ืžืื•ื—ื“, ืื™ืกื•ืฃ ื™ื•ืžื ื™ื ืžืจื›ื–ื™, ืกืจื™ืงืช ืคื’ื™ืขื•ืช, ื”ืชืื•ืฉืฉื•ืช ืžืืกื•ืŸ, ืื‘ื˜ื—ื” ื‘ืจืžื” ืืจื’ื•ื ื™ืช ื•ืขื•ื“ ื•ืขื•ื“.
  • ืกื ื’ืจื ืœ - ื›ืœื™ ืœื‘ื“ื™ืงืช ืขื•ืžืก ืฉืœ ืืฉื›ื•ืœ ืงืคืงื.
  • ืœื•ื—ื•ืช ืžื—ื•ื•ื ื™ื ืฉืœ Grafana ืœื”ืžื—ืฉืช ืžื“ื“ื™ ืงืคืงื ื•ืชืฉืชื™ืช: ืงื•ื‘ืจื ื˜ืก ืงืคืงื, ื™ืฆื•ืื ื™ืช ืฆื•ืžืช.
  • Supertubes CLI ืœื“ืจืš ื”ืงืœื” ื‘ื™ื•ืชืจ ืœื”ื’ื“ื™ืจ ืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes. Zookeeper, ืžืคืขื™ืœ Kafka, Envoy ื•ืจื›ื™ื‘ื™ื ืจื‘ื™ื ืื—ืจื™ื ืžื•ืชืงื ื™ื ื•ืžื•ื’ื“ืจื™ื ื›ืจืื•ื™ ืœื”ืคืขื™ืœ ืืฉื›ื•ืœ ืงืคืงื ืžื•ื›ืŸ ืœื™ื™ืฆื•ืจ ื‘-Kubernetes.
    • ืœื”ืชืงื ื” supertubes CLI ื”ืฉืชืžืฉ ื‘ื”ื•ืจืื•ืช ืฉืกื•ืคืงื• ื›ืืŸ.

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืืฉื›ื•ืœ EKS

ื”ื›ืŸ ืืฉื›ื•ืœ EKS ืขื ืฆืžืชื™ ืขื•ื‘ื“ื™ื ื™ื™ืขื•ื“ื™ื™ื c5.4x ืœื”ื’ื“ื™ืœ ื‘ืื–ื•ืจื™ ื–ืžื™ื ื•ืช ืฉื•ื ื™ื ืœืชืจืžื™ืœื™ื ืขื ืžืชื•ื•ื›ื™ื ืฉืœ ืงืคืงื, ื›ืžื• ื’ื ืฆืžืชื™ื ื™ื™ืขื•ื“ื™ื™ื ืœืžื—ื•ืœืœ ื”ืขื•ืžืกื™ื ื•ืชืฉืชื™ืช ื”ื ื™ื˜ื•ืจ.

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

ืœืื—ืจ ืฉืืฉื›ื•ืœ ื”-EKS ืคื•ืขืœ, ื”ืคืขืœ ืืช ื”ืžืฉื•ืœื‘ ืฉืœื• ืฉื™ืจื•ืช ื ื™ื˜ื•ืจ - ื”ื™ื ืชืคืจื•ืก ืืช ืคืจื•ืžืชืื•ืก ื•ื’ืจืืคื ื” ืœืืฉื›ื•ืœ.

ืจื›ื™ื‘ื™ ืžืขืจื›ืช ืงืคืงื

ื”ืชืงืŸ ืืช ืจื›ื™ื‘ื™ ืžืขืจื›ืช ืงืคืงื (Zookeeper, ืงืคืงื-ืžืคืขื™ืœ) ื‘-EKS ื‘ืืžืฆืขื•ืช supertubes CLI:

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

ืืฉื›ื•ืœ ืงืคืงื

ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, EKS ืžืฉืชืžืฉ ื‘ื ืคื—ื™ EBS ืžืกื•ื’ gp2, ืื– ืขืœื™ืš ืœื™ืฆื•ืจ ืžื—ืœืงืช ืื—ืกื•ืŸ ื ืคืจื“ืช ื”ืžื‘ื•ืกืกืช ืขืœ ื ืคื—ื™ื io1 ืขื‘ื•ืจ ืืฉื›ื•ืœ ืงืคืงื:

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

ื”ื’ื“ืจ ืืช ื”ืคืจืžื˜ืจ ืขื‘ื•ืจ ื‘ืจื•ืงืจื™ื min.insync.replicas=3 ื•ืœืคืจื•ืก ืชืจืžื™ืœื™ื ืฉืœ ื‘ืจื•ืงืจื™ื ืขืœ ืฆืžืชื™ื ื‘ืฉืœื•ืฉื” ืื–ื•ืจื™ ื–ืžื™ื ื•ืช ืฉื•ื ื™ื:

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

ื ื•ืฉืื™ื

ื”ืจืฆื ื• ืฉืœื•ืฉื” ืžื•ืคืขื™ ืžื—ื•ืœืœ ืขื•ืžืก ื‘ืžืงื‘ื™ืœ. ื›ืœ ืื—ื“ ืžื”ื ื›ื•ืชื‘ ืœื ื•ืฉื ืฉืœื•, ื›ืœื•ืžืจ, ืื ื—ื ื• ืฆืจื™ื›ื™ื ืฉืœื•ืฉื” ื ื•ืฉืื™ื ื‘ืกืš ื”ื›ืœ:

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

ืขื‘ื•ืจ ื›ืœ ื ื•ืฉื, ืžืงื“ื ื”ืฉื›ืคื•ืœ ื”ื•ื 3 - ื”ืขืจืš ื”ืžื™ื ื™ืžืœื™ ื”ืžื•ืžืœืฅ ืขื‘ื•ืจ ืžืขืจื›ื•ืช ื™ื™ืฆื•ืจ ื–ืžื™ื ื•ืช ื‘ืžื™ื•ื—ื“.

ื›ืœื™ ืœื™ืฆื™ืจืช ืขื•ืžืกื™ื

ื”ืฉืงื ื• ืฉืœื•ืฉื” ืขื•ืชืงื™ื ืฉืœ ืžื—ื•ืœืœ ื”ืขื•ืžืก (ื›ืœ ืื—ื“ ื›ืชื‘ ื‘ื ื•ืฉื ื ืคืจื“). ืขื‘ื•ืจ ืชืจืžื™ืœื™ื ืฉืœ ืžื—ื•ืœืœ ืขื•ืžืก, ืขืœื™ืš ืœื”ื’ื“ื™ืจ ื–ื™ืงื” ืœืฆื•ืžืช ื›ืš ืฉื”ื ืžืชื•ื–ืžื ื™ื ืจืง ื‘ืฆืžืชื™ื ืฉื”ื•ืงืฆื• ืœื”ื:

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

ื›ืžื” ื ืงื•ื“ื•ืช ืœืฉื™ื ืœื‘:

  • ืžื—ื•ืœืœ ื”ืขื•ืžืก ืžื™ื™ืฆืจ ื”ื•ื“ืขื•ืช ื‘ืื•ืจืš ืฉืœ 512 ื‘ืชื™ื ื•ืžืคืจืกื ืื•ืชืŸ ืœืงืคืงื ื‘ืงื‘ื•ืฆื•ืช ืฉืœ 500 ื”ื•ื“ืขื•ืช.
  • ืฉื™ืžื•ืฉ ื‘ื˜ื™ืขื•ืŸ -required-acks=all ื”ืคืจืกื•ื ื ื—ืฉื‘ ืžื•ืฆืœื— ื›ืืฉืจ ื›ืœ ื”ื”ืขืชืงื™ื ื”ืžืกื•ื ื›ืจื ื™ื ืฉืœ ื”ื”ื•ื“ืขื” ืžืชืงื‘ืœื™ื ื•ืžืื•ืฉืจื™ื ืขืœ ื™ื“ื™ ืžืชื•ื•ื›ื™ื ืฉืœ ืงืคืงื. ื”ืžืฉืžืขื•ืช ื”ื™ื ืฉื‘ืžื“ื“ ื”ืžื“ื“ื™ื ืžื“ื“ื ื• ืœื ืจืง ืืช ื”ืžื”ื™ืจื•ืช ืฉืœ ืžื ื”ื™ื’ื™ื ืฉืžืงื‘ืœื™ื ื”ื•ื“ืขื•ืช, ืืœื ื’ื ื”ืขื•ืงื‘ื™ื ืฉืœื”ื ืžืฉื›ืคืœื™ื ื”ื•ื“ืขื•ืช. ืžื˜ืจืช ื‘ื“ื™ืงื” ื–ื• ืื™ื ื” ืœื”ืขืจื™ืš ืืช ืžื”ื™ืจื•ืช ื”ืงืจื™ืื” ืฉืœ ื”ืฆืจื›ืŸ (ืฆืจื›ื ื™ื) ืœืื—ืจื•ื ื” ืงื™ื‘ืœื• ื”ื•ื“ืขื•ืช ืฉืขื“ื™ื™ืŸ ื ืฉืืจื• ื‘ืงื•ื‘ืฅ ื”ืฉืžื•ืจ ืฉืœ ื“ืคื™ ืžืขืจื›ืช ื”ื”ืคืขืœื”, ื•ื”ืฉื•ื•ืืชื” ืœืžื”ื™ืจื•ืช ื”ืงืจื™ืื” ืฉืœ ื”ื•ื“ืขื•ืช ื”ืžืื•ื—ืกื ื•ืช ื‘ื“ื™ืกืง.
  • ืžื—ื•ืœืœ ื”ืขื•ืžืกื™ื ืžืคืขื™ืœ 20 ืขื•ื‘ื“ื™ื ื‘ืžืงื‘ื™ืœ (-workers=20). ื›ืœ ืขื•ื‘ื“ ืžื›ื™ืœ 5 ืžืคื™ืงื™ื ื”ื—ื•ืœืงื™ื ืืช ื”ืงืฉืจ ืฉืœ ื”ืขื•ื‘ื“ ืœืืฉื›ื•ืœ ืงืคืงื. ื›ืชื•ืฆืื” ืžื›ืš, ืœื›ืœ ืžื—ื•ืœืœ ื™ืฉ 100 ืžืคื™ืงื™ื, ื•ื›ื•ืœื ืฉื•ืœื—ื™ื ื”ื•ื“ืขื•ืช ืœืืฉื›ื•ืœ ืงืคืงื.

ื ื™ื˜ื•ืจ ืชืงื™ื ื•ืช ื”ืืฉื›ื•ืœ

ื‘ืžื”ืœืš ื‘ื“ื™ืงืช ืขื•ืžืก ืฉืœ ืืฉื›ื•ืœ ืงืคืงื, ื ื™ื˜ืจื ื• ื’ื ืขืœ ืชืงื™ื ื•ืชื• ื›ื“ื™ ืœื•ื•ื“ื ืฉืœื ื”ื™ื• ื”ืคืขืœื” ืžื—ื“ืฉ ืฉืœ ื”ืคื•ื“, ืื™ืŸ ื”ืขืชืงื™ื ืœื ืžืกื•ื ื›ืจื ื™ื ื•ืชืคื•ืงื” ืžืงืกื™ืžืœื™ืช ืขื ืชื ื•ื“ื•ืช ืžื™ื ื™ืžืœื™ื•ืช:

  • ืžื—ื•ืœืœ ื”ืขื•ืžืก ื›ื•ืชื‘ ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ืกื˜ื ื“ืจื˜ื™ื•ืช ืœื’ื‘ื™ ืžืกืคืจ ื”ื”ื•ื“ืขื•ืช ืฉืคื•ืจืกืžื• ื•ืฉื™ืขื•ืจ ื”ืฉื’ื™ืื•ืช. ืฉื™ืขื•ืจ ื”ืฉื’ื™ืื•ืช ืฆืจื™ืš ืœื”ื™ืฉืืจ ื–ื”ื” 0,00%.
  • ื‘ืงืจืช ืฉื™ื•ื˜, ืฉื ืคืจืก ืขืœ ื™ื“ื™ kafka-operator, ืžืกืคืง ืœื•ื— ืžื—ื•ื•ื ื™ื ืฉื‘ื• ื ื•ื›ืœ ื’ื ืœื ื˜ืจ ืืช ืžืฆื‘ ื”ืืฉื›ื•ืœ. ื›ื“ื™ ืœืฆืคื•ืช ื‘ืœื•ื— ื–ื” ื‘ืฆืข:
    supertubes cluster cruisecontrol show -n kafka --kubeconfig <path-to-eks-cluster-kubeconfig-file>
  • ืจืžืช ISR (ืžืกืคืจ ื”ืขืชืงื™ื "ืžืกื•ื ื›ืจื ื™ื") ื›ื™ื•ื•ืฅ ื•ื”ืชืจื—ื‘ื•ืช ืฉื•ื•ื™ื ืœ-0.

ืชื•ืฆืื•ืช ืžื“ื™ื“ื”

3 ืžืชื•ื•ื›ื™ื, ื’ื•ื“ืœ ื”ื•ื“ืขื” - 512 ื‘ืชื™ื

ืขื ืžื—ื™ืฆื•ืช ืžืคื•ื–ืจื•ืช ื‘ืื•ืคืŸ ืฉื•ื•ื” ืขืœ ืคื ื™ ืฉืœื•ืฉื” ืžืชื•ื•ื›ื™ื, ื”ืฆืœื—ื ื• ืœื”ืฉื™ื’ ื‘ื™ืฆื•ืขื™ื ~500 Mb/s (ื›-990 ืืœืฃ ื”ื•ื“ืขื•ืช ื‘ืฉื ื™ื™ื”):

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืฆืจื™ื›ืช ื”ื–ื™ื›ืจื•ืŸ ืฉืœ ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช JVM ืœื ืขืœืชื” ืขืœ 2 GB:

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืชืคื•ืงืช ื”ื“ื™ืกืง ื”ื’ื™ืขื” ืœืชืคื•ืงื” ื”ืžืงืกื™ืžืœื™ืช ืฉืœ ืฆื•ืžืช ืงืœื˜/ืคืœื˜ ื‘ื›ืœ ืฉืœื•ืฉืช ื”ืžื•ืคืขื™ื ืฉื‘ื”ื ื”ื‘ืจื•ืงืจื™ื ืคืขืœื•:

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืžื”ื ืชื•ื ื™ื ืขืœ ืฉื™ืžื•ืฉ ื‘ื–ื™ื›ืจื•ืŸ ืขืœ ื™ื“ื™ ืฆืžืชื™ื, ืขื•ืœื” ื›ื™ ืื—ืกื•ืŸ ืžืขืจื›ืช ื•ืื—ืกื•ืŸ ื‘ืžื˜ืžื•ืŸ ืœืงื— ~10-15 GB:

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

3 ืžืชื•ื•ื›ื™ื, ื’ื•ื“ืœ ื”ื•ื“ืขื” - 100 ื‘ืชื™ื

ื›ื›ืœ ืฉื’ื•ื“ืœ ื”ื”ื•ื“ืขื” ืคื•ื—ืช, ื”ืชืคื•ืงื” ื™ื•ืจื“ืช ื‘ื›-15-20%: ื”ื–ืžืŸ ื”ืžื•ืฉืงืข ื‘ืขื™ื‘ื•ื“ ื›ืœ ื”ื•ื“ืขื” ืžืฉืคื™ืข ืขืœื™ื”. ื‘ื ื•ืกืฃ, ืขื•ืžืก ื”ืžืขื‘ื“ ื›ืžืขื˜ ื”ื•ื›ืคืœ.

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืžื›ื™ื•ื•ืŸ ืฉืœืฆืžืชื™ ื‘ืจื•ืงืจ ืขื“ื™ื™ืŸ ื™ืฉ ืœื™ื‘ื•ืช ืฉืื™ื ืŸ ื‘ืฉื™ืžื•ืฉ, ื ื™ืชืŸ ืœืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืขืœ ื™ื“ื™ ืฉื™ื ื•ื™ ืชืฆื•ืจืช ืงืคืงื. ื–ื• ืžืฉื™ืžื” ืœื ืคืฉื•ื˜ื”, ื•ืœื›ืŸ ื›ื“ื™ ืœื”ื’ื“ื™ืœ ืืช ื”ืชืคื•ืงื” ืขื“ื™ืฃ ืœืขื‘ื•ื“ ืขื ืžืกืจื™ื ื’ื“ื•ืœื™ื ื™ื•ืชืจ.

4 ืžืชื•ื•ื›ื™ื, ื’ื•ื“ืœ ื”ื•ื“ืขื” - 512 ื‘ืชื™ื

ืืชื” ื™ื›ื•ืœ ื‘ืงืœื•ืช ืœื”ื’ื“ื™ืœ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืืฉื›ื•ืœ ืงืคืงื ืคืฉื•ื˜ ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ืžืชื•ื•ื›ื™ื ื—ื“ืฉื™ื ื•ืฉืžื™ืจื” ืขืœ ืื™ื–ื•ืŸ ืžื—ื™ืฆื•ืช (ื–ื” ืžื‘ื˜ื™ื— ืฉื”ืขื•ืžืก ื™ืชื—ืœืง ื‘ืื•ืคืŸ ืฉื•ื•ื” ื‘ื™ืŸ ื”ืžืชื•ื•ื›ื™ื). ื‘ืžืงืจื” ืฉืœื ื•, ืœืื—ืจ ื”ื•ืกืคืช ืžืชื•ื•ืš, ืชืคื•ืงืช ื”ืืฉื›ื•ืœ ื’ื“ืœื” ืœ ~580 Mb/s (~1,1 ืžื™ืœื™ื•ืŸ ื”ื•ื“ืขื•ืช ื‘ืฉื ื™ื™ื”). ื”ืฆืžื™ื—ื” ื”ืชื‘ืจืจื” ื›ืคื—ื•ืชื” ืžื”ืฆืคื•ื™: ื–ื” ืžื•ืกื‘ืจ ื‘ืขื™ืงืจ ื‘ื—ื•ืกืจ ื”ืื™ื–ื•ืŸ ืฉืœ ื”ืžื—ื™ืฆื•ืช (ืœื ื›ืœ ื”ื‘ืจื•ืงืจื™ื ืขื•ื‘ื“ื™ื ื‘ืฉื™ื ื”ื™ื›ื•ืœื•ืช ืฉืœื”ื).

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืฆืจื™ื›ืช ื”ื–ื™ื›ืจื•ืŸ ืฉืœ ืžื›ื•ื ืช ื”-JVM ื ื•ืชืจื” ืžืชื—ืช ืœ-2 GB:

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืขื‘ื•ื“ืชื ืฉืœ ืžืชื•ื•ื›ื™ื ืขื ื›ื•ื ื ื™ื ื”ื•ืฉืคืขื” ืžื—ื•ืกืจ ื”ืื™ื–ื•ืŸ ืฉืœ ื”ืžื—ื™ืฆื•ืช:

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืงื‘ืข ืืช ื”ื’ื•ื“ืœ ื”ืžืชืื™ื ืœืืฉื›ื•ืœ ืงืคืงื ื‘-Kubernetes

ืžืžืฆืื™ื

ื ื™ืชืŸ ืœื”ืจื—ื™ื‘ ืืช ื”ื’ื™ืฉื” ื”ืื™ื˜ืจื˜ื™ื‘ื™ืช ืฉื”ื•ืฆื’ื” ืœืขื™ืœ ื›ื“ื™ ืœื›ืกื•ืช ืชืจื—ื™ืฉื™ื ืžื•ืจื›ื‘ื™ื ื™ื•ืชืจ ื”ื›ื•ืœืœื™ื ืžืื•ืช ืฆืจื›ื ื™ื, ื—ืœื•ืงื” ืžื—ื“ืฉ, ืขื“ื›ื•ื ื™ื ืžืชื’ืœื’ืœื™ื, ื”ืคืขืœื” ืžื—ื“ืฉ ืฉืœ ื”ืคื•ื“ ื•ื›ื•'. ื›ืœ ื–ื” ืžืืคืฉืจ ืœื ื• ืœื”ืขืจื™ืš ืืช ื’ื‘ื•ืœื•ืช ื”ื™ื›ื•ืœื•ืช ืฉืœ ืืฉื›ื•ืœ ืงืคืงื ื‘ืชื ืื™ื ืฉื•ื ื™ื, ืœื–ื”ื•ืช ืฆื•ื•ืืจื™ ื‘ืงื‘ื•ืง ื‘ื”ืคืขืœืชื• ื•ืœืžืฆื•ื ื“ืจื›ื™ื ืœื”ื™ืœื—ื ื‘ื”ื.

ืชื›ื ื ื• ืืช Supertubes ื›ื“ื™ ืœืคืจื•ืก ืงืœืกื˜ืจ ื‘ืžื”ื™ืจื•ืช ื•ื‘ืงืœื•ืช, ืœื”ื’ื“ื™ืจ ืื•ืชื•, ืœื”ื•ืกื™ืฃ/ืœื”ืกื™ืจ ืžืชื•ื•ื›ื™ื ื•ื ื•ืฉืื™ื, ืœื”ื’ื™ื‘ ืœื”ืชืจืื•ืช ื•ืœื”ื‘ื˜ื™ื— ืฉืงืคืงื ื‘ื›ืœืœ ืขื•ื‘ื“ ื›ืจืื•ื™ ื‘-Kubernetes. ื”ืžื˜ืจื” ืฉืœื ื• ื”ื™ื ืœืขื–ื•ืจ ืœื›ื ืœื”ืชืจื›ื– ื‘ืžืฉื™ืžื” ื”ืขื™ืงืจื™ืช ("ืœื™ืฆื•ืจ" ื•"ืœืฆืจื•ืš" ื”ื•ื“ืขื•ืช ืงืคืงื), ื•ืœื”ืฉืื™ืจ ืืช ื›ืœ ื”ืขื‘ื•ื“ื” ื”ืงืฉื” ืœืกื•ืคืจื˜ื™ื•ื‘ืก ื•ืœืžืคืขื™ืœ ืงืคืงื.

ืื ืืชื” ืžืขื•ื ื™ื™ืŸ ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช Banzai Cloud ื•ืคืจื•ื™ืงื˜ื™ื ืฉืœ ืงื•ื“ ืคืชื•ื—, ื”ื™ืจืฉื ืœื—ื‘ืจื” ื‘ื›ืชื•ื‘ืช GitHub, ืœื™ื ืงื“ื™ืŸ ืื• ื˜ื•ื™ื˜ืจ.

ื .ื‘ ืžื”ืžืชืจื’ื

ืงืจื ื’ื ื‘ื‘ืœื•ื’ ืฉืœื ื•:

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”