αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž…αŸ†αžŽαžΆαŸ†αŸ” αž”αž€αž”αŸ’αžšαŸ‚αŸ– αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ Banzai Cloud αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž§αž‘αžΆαž αžšαžŽαŸαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™ Kafka αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ” αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŠαŸαž›αŸ’αž’αž”αŸ’αžšαžŸαžΎαžšαž“αŸƒαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ Kafka αžαŸ’αž›αž½αž“αžœαžΆαžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αžΌαžœαž›αŸ†αž αžΌαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ”

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

Apache Kafka αž‚αžΊαž‡αžΆαžœαŸαž‘αž·αž€αžΆαžŸαŸ’αž‘αŸ’αžšαžΈαž˜αž…αŸ‚αž€αž…αžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αžŸαžΆαž™αžαžΆαž˜αž–αŸαž›αžœαŸαž›αžΆαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“ αž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αž–αžŸαŸ‹αŸ” αžŸαž˜αžαŸ’αžαž—αžΆαž–αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžšαž”αžŸαŸ‹αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αžŠαŸ„αž™αž”αŸ’αžšαžΎ Kubernetes αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΏαž„αž“αŸαŸ‡αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš Kafka αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž  αž“αž·αž„αž§αž”αž€αžšαžŽαŸαž˜αž½αž™αž αŸ…αžαžΆ Supertubes. αž–αž½αž€αž‚αŸαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Kafka αž›αžΎ Kubernetes αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž˜αž»αžαž„αžΆαžšαž•αŸ’αžŸαŸαž„αŸ—αžšαž”αžŸαŸ‹αžœαžΆ αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž˜αŸ‰αŸ‚αžαŸ’αžšαž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαž»αž›αŸ’αž™αž—αžΆαž–αž‘αžΎαž„αžœαž·αž‰ αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž’αŸ†αž–αžΈαžšαŸ‰αžΆαž€αŸ‚αž "αž‘αž“αŸ‹" (αž–αž·αžšαŸ„αŸ‡) αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ”αž›αŸ”

αžŸαžΆαž€αž›αŸ’αž”αž„ Supertubes αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ–

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

αž¬αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„ αž―αž€αžŸαžΆαžš. αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αž’αžΆαž“αž’αŸ†αž–αžΈαžŸαž˜αžαŸ’αžαž—αžΆαž–αž˜αž½αž™αž…αŸ†αž“αž½αž“αžšαž”αžŸαŸ‹ Kafka αžŠαŸ‚αž›αž‡αžΆαž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŠαŸ„αž™αž”αŸ’αžšαžΎ Supertubes αž“αž·αž„ Kafka operatorαŸ” αž™αžΎαž„αž”αžΆαž“αžŸαžšαžŸαŸαžšαž’αŸ†αž–αžΈαž–αž½αž€αž‚αŸαžšαž½αž…αž αžΎαž™αž“αŸ…αž›αžΎαž”αŸ’αž›αž€αŸ‹αŸ–

αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ Kafka cluster αž“αŸ…αž›αžΎ Kubernetes αž’αŸ’αž“αž€αž‘αŸ†αž“αž„αž‡αžΆαž“αžΉαž„αž”αŸ’αžšαžˆαž˜αž˜αž»αžαž“αžΉαž„αž”αž‰αŸ’αž αžΆαž”αŸ’αžšαžˆαž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŠαŸαž›αŸ’αž’αž”αŸ’αžšαžŸαžΎαžšαž“αŸƒαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž“αž·αž„αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ Kafka αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž±αŸ’αž™αž”αžΆαž“αž›αŸ’αž’ αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž–αŸαž‰αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžαž·αž”αžšαž˜αžΆαžšαž”αžŸαŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αžŠαžΌαž…αž‡αžΆαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αžαž½αžšαž€αŸ’αž”αžΆαž› αž›αŸ’αž”αžΏαž“αžŒαžΈαžŸ αž€αž˜αŸ’αžšαž·αžαž”αž‰αŸ’αž‡αžΌαž“αž”αžŽαŸ’αžαžΆαž‰αž‡αžΆαžŠαžΎαž˜αŸ”

αžαžΆαž˜αž§αžαŸ’αžŠαž˜αž‚αžαž· αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž‚αž½αžšαžαŸ‚αž˜αžΆαž“αžŠαžΌαž…αžŠαŸ‚αž›αž’αžΆαžαž»αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αžαŸ’αžαž—αžΆαž–αž’αžαž·αž”αžšαž˜αžΆαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΈαžœαž·αžαž–αž·αžαž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž“αŸαŸ‡αž‚αžΊαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αžŽαžΆαžŸαŸ‹αŸ” αžœαžΆαž‘αŸ†αž“αž„αž‡αžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αžΉαž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαž˜αžΆαžŸαž—αžΆαž‚αž˜αž½αž™ αž¬αž–αžΈαžš (ថអស αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž¬αžαž½αžšαž€αŸ’αž”αžΆαž›)αŸ” αž“αž·αž™αžΆαž™αž‡αžΆαž‘αžΌαž‘αŸ… αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž”αž„αŸ’αž αžΆαž‰αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αžαž·αž”αžšαž˜αžΆαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αŸ’αžšαžΎαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž™αžΊαžαž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αž˜αŸ’αžšαž·αžαž–αŸαž‰αž›αŸαž‰αž”αŸ†αž•αž»αžαŸ” αžœαž·αž’αžΈαž“αŸαŸ‡αž™αžΎαž„αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αž‚αŸ†αž“αž·αžαžšαžŠαž»αž”αž“αŸƒαž”αž“αŸ’αž‘αž»αž€αžŠαŸ‚αž›αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž˜αŸ’αž“αžΆαž€αŸ‹αž’αžΆαž…αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αžΆαž“αŸ”

αžαžΆαž˜αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈ αž™αžΎαž„αž€αŸαž’αžΆαž…αž”αŸ‰αžΆαž“αŸ‹αž”αŸ’αžšαž˜αžΆαžŽαž…αŸ†αž“αž½αž“αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž“αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž€αž˜αŸ’αžšαž·αžαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ αžŠαŸ‚αž›αžœαžΆαž‡αžΆαž€αžΆαžšαž›αŸ†αž”αžΆαž€αžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹ (αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž’αžΆαž…αž‘αŸ…αžšαž½αž…) αžŠαžΎαž˜αŸ’αž”αžΈαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŸαž€αŸ’αžαžΆαž“αž»αž–αž›αž“αŸƒαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžŽαžΆαž˜αž½αž™αŸ” αž˜αŸ’αž™αŸ‰αžΆαž„αžœαž·αž‰αž‘αŸ€αž αžœαžΆαž‡αžΆαž€αžΆαžšαž›αŸ†αž”αžΆαž€αžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž•αŸ‚αž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Supertubes αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž™αžΎαž„αž”αŸ’αžšαž€αžΆαž“αŸ‹αž™αž€αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ– αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αž½αž™αž…αŸ†αž“αž½αž“ (αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ + αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹) αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžœαžΆαžŸαŸ‹αžŸαŸ’αž‘αž„αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž”αžŸαŸ‹αžœαžΆ αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αžœαžΆαž€αžΎαžαž‘αžΎαž„αžšαž αžΌαžαžŠαž›αŸ‹αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž™αžΊαžαž”αŸ†αž•αž»αžαž“αŸƒαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž–αŸαž‰αž›αŸαž‰αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αž’αžΈαž“αŸαŸ‡ αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž‚αŸ†αž“αž·αžαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαž…αŸ†αž“αž½αž“αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž˜αž½αž™αž€αŸ’αžšαž»αž˜αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž“αŸ’αž‘αž»αž€αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ (αž…αŸ†αž“αž½αž“αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž€αŸαž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž€αžαŸ’αžαžΆαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž•αž„αžŠαŸ‚αžš αžŠαžΌαž…αž‡αžΆαž…αŸ†αž“αž½αž“αž’αž”αŸ’αž”αž”αžšαž˜αžΆαž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„αžŸαžΆαžš αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαž—αžΆαž–αž’αž“αŸ‹ αž…αŸ†αž“αž½αž“αž—αžΆαž‚αžαžΆαžŸαŸ” αž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αž‡αžΆαžŠαžΎαž˜) αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž’αŸ†αž–αžΈαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž‘αžΆαž˜αž‘αžΆαžšαž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž”αž‰αŸ’αžˆαžšαŸ”

αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž‡αŸ†αž αžΆαž“αžŠαŸ‚αž›αž™αžΎαž„αž’αŸ’αžœαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž…αŸ’αžšαžΎαž“αž”αŸ†αž•αž»αžαž–αžΈαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž™αžΊαžαž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ†αž”αžΌαž„ αž“αž·αž„αžœαžΆαžŸαŸ‹αžŸαŸ’αž‘αž„αŸ‹αž›αŸ†αž αžΌαžšαž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜ Kafka αŸ” αž€αžΆαžšβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’β€‹αž’αž“αŸ‹β€‹αžαŸ’αž–αžŸαŸ‹β€‹αžαž˜αŸ’αžšαžΌαžœβ€‹αž±αŸ’αž™β€‹αž˜αžΆαž“β€‹αžˆαŸ’αž˜αž½αž‰β€‹αž€αžŽαŸ’αžαžΆαž›β€‹αž™αŸ‰αžΆαž„β€‹αž αŸ„αž…β€‹αžŽαžΆαžŸαŸ‹β€‹αž”αžΈβ€‹αž“αžΆαž€αŸ‹β€‹αžŠαŸ‚αž›β€‹αž€αŸ†αž–αž»αž„β€‹αžšαžαŸ‹ (min.insync.replicas=3) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž“αŸ…αž‘αžΌαž‘αžΆαŸ†αž„αžαŸ†αž”αž“αŸ‹αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž…αŸ†αž“αž½αž“αž”αžΈαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“ αž“αž·αž„αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ Kubernetes αž™αžΎαž„αž”αŸ’αžšαžΎαžœαŸαž‘αž·αž€αžΆαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž»αž„αžαžΊαž“αŸαžšαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž™αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž–αž€αž…αž˜αŸ’αžšαž»αŸ‡ - αž”αŸ†αž–αž„αŸ‹αž”αž„αŸ’αž αžΌαžš. αžœαžΆαž‚αžΆαŸ†αž‘αŸ’αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžœαŸαžŽ (αž›αŸ„αž αŸˆαž‘αž‘αŸ, VMware) αž“αž·αž„αž–αž–αž€αž”αŸ’αžšαžΆαŸ†αž”αŸ’αžšαž—αŸαž‘ (Alibaba, AWS, Azure, Google, Oracle) αž€αŸαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αŸƒαž–αž½αž€αžœαžΆαžŽαžΆαž˜αž½αž™αŸ”

αž‚αŸ†αž“αž·αžαž›αžΎαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αž™αžΎαž„αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ AWS αž‡αžΆαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž–αž–αž€ αž“αž·αž„ EKS αž‡αžΆαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ Kubernetes αŸ” αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αž”αŸ’αžšαžΎ P.K.E. - αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ Kubernetes αž–αžΈ Banzai Cloud αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ„αž™ CNCF αŸ”

ថអស

αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ Amazon αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ αž”αŸ’αžšαž—αŸαž‘αž”αžšαž·αž˜αžΆαžŽ EBS. αž“αŸ…αžŸαŸ’αž“αžΌαž› gp2 ΠΈ io1 αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž˜αžΆαž“αžŠαŸ’αžšαžΆαž™ SSD αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž›αŸ†αž αžΌαžšαžαŸ’αž–αžŸαŸ‹αŸ” gp2 αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž₯αžŽαž‘αžΆαž“αž”αž„αŸ’αž‚αžš (αž₯αžŽαž‘αžΆαž“ I/O)αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž…αžΌαž›αž…αž·αžαŸ’αžαž”αŸ’αžšαž—αŸαž‘ io1αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž‘αž·αž“αŸ’αž“αž•αž›αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž”αŸ‹αž›αžΆαž”αŸ‹αŸ”

αž”αŸ’αžšαž—αŸαž‘αž§αž‘αžΆαž αžšαžŽαŸ

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαž”αžŸαŸ‹ Kafka αž‚αžΊαž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αž‘αŸ…αž›αžΎαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαžœαžαŸ’αžαž»αžŠαŸ‚αž›αž˜αžΆαž“αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› (JVM) αž“αž·αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ†αž–αŸαžšαŸ” ឧ c5.2x αž’αŸ† - αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸαž›αŸ’αž’αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž˜αžΆαž“αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† 16 GB αž“αž·αž„ αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ EBS. αž‚αž»αžŽαžœαž·αž”αžαŸ’αžαž·αžšαž”αžŸαŸ‹αžœαžΆαž‚αžΊαžαžΆαžœαžΆαž˜αžΆαž“αžŸαž˜αžαŸ’αžαž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ‚αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžαž·αž”αžšαž˜αžΆαž˜αž·αž“αž›αžΎαžŸαž–αžΈ 30 αž“αžΆαž‘αžΈαžšαŸ€αž„αžšαžΆαž›αŸ‹ 24 αž˜αŸ‰αŸ„αž„αž˜αŸ’αžαž„αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αžΆαž˜αž‘αžΆαžšαž±αŸ’αž™αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αž–αžŸαŸ‹αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„αž‡αžΆαž„αž“αŸαŸ‡ αž’αŸ’αž“αž€αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž…αž„αŸ‹αž–αž·αž…αžΆαžšαžŽαžΆαž”αŸ’αžšαž—αŸαž‘αž§αž‘αžΆαž αžšαžŽαŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž–αž½αž€αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎ αžŠαŸ„αž™αžˆαž”αŸ‹αž“αŸ… c5.4x αž’αŸ†. αžœαžΆαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž›αŸ†αž αžΌαžšαž…αžΌαž›αž’αžαž·αž”αžšαž˜αžΆ 593,75 Mbps. αž›αŸ†αž αžΌαžšαž’αžαž·αž”αžšαž˜αžΆαž“αŸƒαž”αžšαž·αž˜αžΆαžŽ EBS io1 αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„αž§αž‘αžΆαž αžšαžŽαŸ c5.4x αž’αŸ†αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αžΆαžαž»αž™αžΊαžαž”αŸ†αž•αž»αžαž“αŸƒαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αŸ†αž“αž„αž‡αžΆαž†αŸ’αž›αž„αž€αžΆαžαŸ‹ I/O αž“αŸƒαž”αŸ’αžšαž—αŸαž‘αžœαžαŸ’αžαž»αž“αŸαŸ‡ (αžŠαŸ‚αž›αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž•αŸ’αž‘αž»αž€αžšαž”αžŸαŸ‹αž™αžΎαž„αž‚αž½αžšαžαŸ‚αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž•αž„αžŠαŸ‚αžš)αŸ”

αž”αžŽαŸ’αžαžΆαž‰

αž›αŸ†αž αžΌαžšαž“αŸƒαž”αžŽαŸ’αžαžΆαž‰αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αž‘αŸ†αž αŸ†αž’αŸ†αž›αŸ’αž˜αž˜αž”αžΎαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž”αžŸαŸ‹ VM instance αž“αž·αž„ disk αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸαž”αžŽαŸ’αžαžΆαž‰αž“αžΉαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžαžΆαž‰ c5.4x αž’αŸ† αž‚αžΆαŸ†αž‘αŸ’αžšαž›αŸ’αž”αžΏαž“αžšαž αžΌαžαžŠαž›αŸ‹ 10 Gb/s αžŠαŸ‚αž›αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„ I/O αžαžΆαž˜αžšαž™αŸˆ VM instance αŸ”

αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›

αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ (αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž–αŸαž›αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes) αž‘αŸ…αž“αžΉαž„αžαŸ’αž“αžΆαŸ†αž„αžŠαŸ‚αž›αžαž·αžαžαŸ†αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CPU, memory, network, and disk resourcesαŸ”

αž€αŸ†αžŽαŸ‚ Java

αž‡αž˜αŸ’αžšαžΎαžŸαž‘αžΌαž‡αžΈαžαž›αž‚αžΊ Java 11 αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ Docker αž€αŸ’αž“αž»αž„αž“αŸαž™αžαžΆ JVM αž€αŸ†αžŽαžαŸ‹αž™αŸ‰αžΆαž„αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αžΌαžœ processors αž“αž·αž„ memory αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αžŠαŸ„αž™αžŠαžΉαž„αžαžΆαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžšαž”αžŸαŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹ JVM αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™ GC αž“αž·αž„αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™ JIT αž”αŸ’αžšαž€αž”αžŠαŸ„αž™αžαž˜αŸ’αž›αžΆαž—αžΆαž–αŸ” αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΎαžšαžΌαž”αž—αžΆαž– Kafka banzaicloud/kafka:2.13-2.4.0αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› Kafka αž€αŸ†αžŽαŸ‚ 2.4.0 (Scala 2.13) αž“αŸ…αž›αžΎ Java 11 αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈ Java/JVM αž“αŸ…αž›αžΎ Kubernetes αžŸαžΌαž˜αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ–

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž˜αŸαž˜αŸ‰αžΌαžšαžΈαžšαž”αžŸαŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›

αž˜αžΆαž“αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžŸαŸ†αžαžΆαž“αŸ‹αž–αžΈαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αŸ– αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ JVM αž“αž·αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αž Kubernetes αŸ” αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αžαžαŸ’αžšαžΌαžœαžαŸ‚αž’αŸ†αž‡αžΆαž„αž‘αŸ†αž αŸ†αž’αžαž·αž”αžšαž˜αžΆ αžŠαžΌαž…αŸ’αž“αŸαŸ‡ JVM αž˜αžΆαž“αž€αž“αŸ’αž›αŸ‚αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Java metaspace αžŠαŸ‚αž›αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžšαž”αžŸαŸ‹αžœαžΆαž•αŸ’αž‘αžΆαž›αŸ‹ αž“αž·αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ†αž–αŸαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž› Kafka αž”αŸ’αžšαžΎαž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžšαž”αžŸαŸ‹αž™αžΎαž„αž™αžΎαž„αž”αžΆαž“αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› Kafka αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš -Xmx4G -Xms2Gαž αžΎαž™αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒαž€αžΆαžšαž…αž„αž…αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αžαž‚αžΊ 10 Gi. αžŸαžΌαž˜αž…αŸ†αžŽαžΆαŸ†αžαžΆαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ JVM αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŠαŸ„αž™αž”αŸ’αžšαžΎ -XX:MaxRAMPercentage ΠΈ -X:MinRAMPercentageαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒαž€αžΆαžšαž…αž„αž…αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αžαŸ”

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž”αžŸαŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›

αž“αž·αž™αžΆαž™αž‡αžΆαž‘αžΌαž‘αŸ… αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž—αžΆαž–αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαžŠαŸ„αž™αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž…αŸ†αž“αž½αž“αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αžŠαŸ‚αž›αž”αŸ’αžšαžΎαžŠαŸ„αž™ Kafka αŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kafka αž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžŸαžΎαžšαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžšαž”αžŸαŸ‹αž™αžΎαž„ αž™αžΎαž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒ 6 processors αž αžΎαž™αž”αž“αŸ’αžαž·αž…αž˜αŸ’αžαž„αŸ— (αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž’αŸ’αžœαžΎαž˜αŸ’αžαž„αž‘αŸ€αž) αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž“αž…αŸ†αž“αž½αž“αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαžŠαž›αŸ‹ 15αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž™αžΎαž„αž€αŸ†αžŽαžαŸ‹ num.network.threads=12 αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž…αŸ†αž“αž½αž“αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αžŠαŸ‚αž›αž‘αž‘αž½αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαž”αžŽαŸ’αžαžΆαž‰ αž αžΎαž™αž”αž‰αŸ’αž‡αžΌαž“αžœαžΆαŸ” αžŠαŸ„αž™β€‹αžŠαžΉαž„β€‹αž—αŸ’αž›αžΆαž˜αŸ—β€‹αžαžΆβ€‹αžˆαŸ’αž˜αž½αž‰β€‹αž€αžŽαŸ’αžαžΆαž›β€‹αžŠαŸ‚αž›β€‹αžαžΆαž˜β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αž‘αž‘αž½αž›β€‹αž€αžΆαžšβ€‹αž…αž˜αŸ’αž›αž„β€‹αž”αžΆαž“β€‹αž›αžΏαž“β€‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αž“αŸ„αŸ‡β€‹αž–αž½αž€αž‚αŸβ€‹αž”αžΆαž“β€‹αž›αžΎαž€β€‹αž‘αžΎαž„ num.replica.fetchers αžŠαž›αŸ‹ 4 αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αžŠαŸ‚αž›αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž…αž˜αŸ’αž›αž„αžŸαžΆαžšαž–αžΈαž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αŸ”

αž•αŸ’αž‘αž»αž€αž§αž”αž€αžšαžŽαŸαž”αž„αŸ’αž€αžΎαž

αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αž’αžΆαž“αžΆαžαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž›αžΎαž„αž•αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž˜αž·αž“αž’αžŸαŸ‹αžŸαž˜αžαŸ’αžαž—αžΆαž– αž˜αž»αž“αž–αŸαž›αžŠαŸ‚αž›αž…αž„αŸ’αž€αŸ„αž˜ Kafka (αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹) αžˆαžΆαž“αžŠαž›αŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž’αžαž·αž”αžšαž˜αžΆαžšαž”αžŸαŸ‹αžœαžΆαŸ” αž˜αŸ’αž™αŸ‰αžΆαž„αžœαž·αž‰αž‘αŸ€αž αžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž”αž‹αž˜αž’αŸ†αž–αžΈαžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹αž§αž”αž€αžšαžŽαŸαž”αž„αŸ’αž€αžΎαžαž”αž“αŸ’αž‘αž»αž€ αž αžΎαž™αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž”αŸ’αžšαž—αŸαž‘αž§αž‘αžΆαž αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž…αŸ†αž“αž½αž“ processor αž“αž·αž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αž§αž”αž€αžšαžŽαŸαžšαž”αžŸαŸ‹αž™αžΎαž„αž“αžΉαž„αž•αž›αž·αžαž”αž“αŸ’αž‘αž»αž€αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž’αžΆαž…αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αžΆαž“αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαž‡αžΆαž…αŸ’αžšαžΎαž“ αž™αžΎαž„αž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž›αžΎαž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž…αŸ†αž“αž½αž“αž”αžΈ c5.4x αž’αŸ†αžŠαŸ‚αž›αž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž›αžΎαž„αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž·αž“αŸ’αž‘αž»

αž€αžΆαžšαžœαžΆαžŸαŸ‹αžœαŸ‚αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‚αžΊαž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαžŠαŸ‚αž›αŸ—αžŠαŸ‚αž›αžšαž½αž˜αž˜αžΆαž“αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ (αž…αž„αŸ’αž€αŸ„αž˜ EKS, αž…αž„αŸ’αž€αŸ„αž˜ Kafka, αž§αž”αž€αžšαžŽαŸαž”αž„αŸ’αž€αžΎαžαž”αž“αŸ’αž‘αž»αž€ αž€αŸαžŠαžΌαž…αž‡αžΆ Prometheus αž“αž·αž„ Grafana);
  • αž”αž„αŸ’αž€αžΎαžαž”αž“αŸ’αž‘αž»αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αžŠαžΎαž˜αŸ’αž”αžΈαžαŸ’αžšαž„αž‚αž˜αŸ’αž›αžΆαžαž…αŸƒαžŠαž“αŸ’αž™αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαžΌαž…αž“αžΆαž€αžšαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αŸ”
  • αž€αžΆαžšαž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαžΌαž…αž“αžΆαž€αžšαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ‚αž›αž”αžΆαž“αž’αž„αŸ’αž€αŸαžαŸ”
  • αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αŸ’αžαž„αž‘αŸ€αžαžšαž αžΌαžαžŠαž›αŸ‹αž€αž˜αŸ’αžšαž·αžαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαž“αŸƒαž›αŸ†αž αžΌαžšαž…αž„αŸ’αž€αŸ„αž˜ Kafka αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αžœαžΆαžαŸ’αžšαžΌαžœαžαŸ‚αž’αžΆαž…αž•αž›αž·αžαž‘αžΎαž„αžœαž·αž‰αž”αžΆαž“αž‡αžΆαž”αŸ‹αž›αžΆαž”αŸ‹ αž“αž·αž„αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž€αžΆαžšαž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›αžαž·αž…αžαž½αž…αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αŸ”

αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž‡αŸ†αž αžΆαž“αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž€αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž–αž·αž“αŸ’αž‘αž»αž€αŸ’αžšαž»αž˜αžŸαžΆαž€αž›αŸ’αž”αž„αŸ”

αž§αž”αž€αžšαžŽαŸ

αž§αž”αž€αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αž”αž„αŸ’αž€αžΎαžαž”αž“αŸ’αž‘αž»αž€ αž“αž·αž„αžœαžΆαžŸαŸ‹αžœαŸ‚αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαŸ–

  • Banzai Cloud Pipeline αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαŸ€αž”αž…αŸ† EKS cluster αž–αžΈ Amazon c Prometheus (αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαž˜αžΌαž› Kafka αž“αž·αž„αž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’) αž“αž·αž„ αž αŸ’αž‚αŸ’αžšαŸαžŽαžΆαžŽαžΆ (αžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžšαž˜αŸƒαž˜αžΎαž›αž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡) αŸ” αž™αžΎαž„αž”αžΆαž“αž‘αžΆαž‰αž™αž€αž”αŸ’αžšαž™αŸ„αž‡αž“αŸ αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ Π² αž”αŸ†αž–αž„αŸ‹αž”αž„αŸ’αž αžΌαžš αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŸαž αž–αŸαž“αŸ’αž’ αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž€αžŽαŸ’αžαžΆαž› αž€αžΆαžšαžŸαŸ’αž€αŸαž“αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡ αž€αžΆαžšαžŸαž„αŸ’αž‚αŸ’αžšαŸ„αŸ‡αž‚αŸ’αžšαŸ„αŸ‡αž˜αž αž“αŸ’αžαžšαžΆαž™ αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž€αž˜αŸ’αžšαž·αžαžŸαž αž‚αŸ’αžšαžΆαžŸ αž“αž·αž„αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ”
  • Sangrenel - αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž‘αž»αž€αžŸαžΆαž€αž›αŸ’αž”αž„αž…αž„αŸ’αž€αŸ„αž˜ Kafka αŸ”
  • αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ Grafana αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž˜αžΎαž›αžƒαžΎαž‰αž˜αŸ‰αŸ‚αžαŸ’αžš Kafka αž“αž·αž„αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ– Kubernetes Kafka, αž’αŸ’αž“αž€αž“αžΆαŸ†αž…αŸαž‰αžαŸ’αž“αžΆαŸ†αž„.
  • Supertubes CLI αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαž·αž’αžΈαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž€αŸ’αžšαž»αž˜ Kafka αž“αŸ…αž›αžΎ Kubernetes αŸ” Zookeeper, Kafka operator, Envoy αž“αž·αž„αžŸαž˜αžΆαžŸαž—αžΆαž‚αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž™αŸ‰αžΆαž„αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αžšαž»αž˜ Kafka αžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž…αž•αž›αž·αžαž“αŸ…αž›αžΎ Kubernetes αŸ”
    • αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„ supertubes CLI αž”αŸ’αžšαžΎαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™ αž“αŸ…αž‘αžΈαž“αŸαŸ‡.

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž…αž„αŸ’αž€αŸ„αž˜ EKS

αžšαŸ€αž”αž…αŸ†αž…αž„αŸ’αž€αŸ„αž˜ EKS αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαŸ’αž“αžΆαŸ†αž„αž€αž˜αŸ’αž˜αž€αžšαž–αž·αžŸαŸαžŸ c5.4x αž’αŸ† αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αžŠαŸ‚αž›αž’αžΆαž…αžšαž€αž”αžΆαž“αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αžαž‡αžΆαž˜αž½αž™αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› Kafka αž€αŸαžŠαžΌαž…αž‡αžΆαžαŸ’αž“αžΆαŸ†αž„αžŠαŸ‚αž›αž§αž‘αŸ’αž‘αž·αžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž›αžΎαž„αž•αŸ’αž‘αž»αž€ αž“αž·αž„αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ”

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

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› EKS cluster αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž αžΎαž™ αžŸαžΌαž˜αž”αžΎαž€αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αžšαž”αžŸαŸ‹αžœαžΆαŸ” αžŸαŸαžœαžΆαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ - αž“αžΆαž„αž“αžΉαž„αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ Prometheus αž“αž·αž„ Grafana αž‘αŸ…αž‡αžΆαž…αž„αŸ’αž€αŸ„αž˜αŸ”

αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’ Kafka

αžŠαŸ†αž‘αžΎαž„αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Kafka (Zookeeper, kafka-operator) αž“αŸ…αž€αŸ’αž“αž»αž„ EKS αžŠαŸ„αž™αž”αŸ’αžšαžΎ supertubes CLIαŸ–

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

αž…αž„αŸ’αž€αŸ„αž˜ Kafka

αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ EKS αž”αŸ’αžšαžΎαž”αžšαž·αž˜αžΆαžŽ EBS αž“αŸƒαž”αŸ’αžšαž—αŸαž‘ gp2αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαžαžαŸ’αž“αžΆαž€αŸ‹αž•αŸ’αž‘αž»αž€αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž—αžΆαž‚ io1 αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαž»αž˜ 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

αž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› min.insync.replicas=3 αž“αž·αž„αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ pods αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž…αŸ†αž“αž½αž“αž”αžΈαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ–

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 αž”αŸƒ αž αžΎαž™αž”αŸ„αŸ‡αž•αŸ’αžŸαžΆαž™αžœαžΆαž‘αŸ… Kafka αž‡αžΆαž”αžΆαž…αŸ‹αž“αŸƒ 500 αžŸαžΆαžšαŸ”
  • αžŠαŸ„αž™αž”αŸ’αžšαžΎαž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹ -required-acks=all αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž—αž•αŸ’αžŸαžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αž‘αž»αž€αžαžΆαž‘αž‘αž½αž›αž”αžΆαž“αž‡αŸ„αž‚αž‡αŸαž™αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž…αž˜αŸ’αž›αž„αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž› αž“αž·αž„αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ„αž™αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› Kafka αŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆ αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž‚αŸ„αž› αž™αžΎαž„αž”αžΆαž“αžœαžΆαžŸαŸ‹αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž›αŸ’αž”αžΏαž“αž“αŸƒαž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αž‘αž‘αž½αž›αžŸαžΆαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž’αŸ’αž“αž€αžŠαžΎαžšαžαžΆαž˜αž–αž½αž€αž‚αŸαž…αž˜αŸ’αž›αž„αžŸαžΆαžšαž‘αŸ€αžαž•αž„αŸ” αž‚αŸ„αž›αž”αŸ†αžŽαž„αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž“αŸαŸ‡αž‚αžΊαž˜αž·αž“αž˜αŸ‚αž“αžŠαžΎαž˜αŸ’αž”αžΈαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž›αŸ’αž”αžΏαž“αž’αžΆαž“αžšαž”αžŸαŸ‹αž’αžαž·αžαž·αž‡αž“αž“αŸ„αŸ‡αž‘αŸαŸ” (αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹) αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡αž”αžΆαž“αž‘αž‘αž½αž›αžŸαžΆαžšαžŠαŸ‚αž›αž“αŸ…αžαŸ‚αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ†αž–αŸαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžšαž”αžŸαŸ‹αžœαžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αŸ’αž”αžΏαž“αž’αžΆαž“αžŸαžΆαžšαžŠαŸ‚αž›αž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαžαžΆαžŸαŸ”
  • αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž›αžΎαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš 20 αž€αž˜αŸ’αž˜αž€αžšαžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆ (-workers=20) αž€αž˜αŸ’αž˜αž€αžšαž“αž·αž˜αž½αž™αŸ—αž˜αžΆαž“αž’αŸ’αž“αž€αž•αž›αž·αž 5 αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžšαž”αžŸαŸ‹αž€αž˜αŸ’αž˜αž€αžšαž‘αŸ…αž“αžΉαž„αž€αŸ’αžšαž»αž˜ Kafka αŸ” αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž›αžΎαž„αž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“αž’αŸ’αž“αž€αž•αž›αž·αž 100 αž“αžΆαž€αŸ‹ αž αžΎαž™αž–αž½αž€αž‚αŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž•αŸ’αž‰αžΎαžŸαžΆαžšαž‘αŸ…αž€αžΆαž“αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αŸ”

αžαžΆαž˜αžŠαžΆαž“αžŸαž»αžαž—αžΆαž–αžšαž”αžŸαŸ‹αž…αž„αŸ’αž€αŸ„αž˜

αž€αŸ†αž‘αž»αž„αž–αŸαž›αž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž•αŸ’αž‘αž»αž€αž”αž“αŸ’αž‘αž»αž€αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜ Kafka αž™αžΎαž„αž€αŸαž”αžΆαž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž–αžšαž”αžŸαŸ‹αžœαžΆαž•αž„αžŠαŸ‚αžš αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαžαžΆαž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ pod αž‘αžΎαž„αžœαž·αž‰ αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž…αŸαž‰αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜ αž“αž·αž„αž›αŸ†αž αžΌαžšαž’αžαž·αž”αžšαž˜αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›αžαž·αž…αžαž½αž…αž”αŸ†αž•αž»αžαŸ–

  • αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž„αŸ’αž€αžΎαžαž”αž“αŸ’αž‘αž»αž€αžŸαžšαžŸαŸαžšαžŸαŸ’αžαž·αžαž·αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž’αŸ†αž–αžΈαž…αŸ†αž“αž½αž“αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž– αž“αž·αž„αž’αžαŸ’αžšαžΆαž€αŸ†αž αž»αžŸαŸ” αž’αžαŸ’αžšαžΆαž€αŸ†αž αž»αžŸαž‚αž½αžšαžαŸ‚αž“αŸ…αžŠαžŠαŸ‚αž› 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 αž–αžΆαž“αŸ‹αžŸαžΆαžšαž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ):

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž JVM αž˜αž·αž“αž›αžΎαžŸαž–αžΈ 2 GBαŸ–

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž›αŸ†αž αžΌαžšαž“αŸƒαžŒαžΈαžŸαž”αžΆαž“αžˆαžΆαž“αžŠαž›αŸ‹αž€αž˜αŸ’αžšαž·αžαž”αž‰αŸ’αž‡αžΌαž“αž’αžαž·αž”αžšαž˜αžΆ I/O node αž›αžΎαž€αžšαžŽαžΈαž‘αžΆαŸ†αž„αž”αžΈαžŠαŸ‚αž›αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ–

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž–αžΈαž‘αž·αž“αŸ’αž“αž“αŸαž™αž›αžΎαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ„αž™αžαŸ’αž“αžΆαŸ†αž„ αžœαžΆαž’αŸ’αžœαžΎαžαžΆαž˜αžαžΆαž€αžΆαžšαž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž“αž·αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αžΆαž“αž™αž€ ~ 10-15 GBαŸ–

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

3 αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› αž‘αŸ†αž αŸ†αžŸαžΆαžš - 100 αž”αŸƒ

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž‘αŸ†αž αŸ†αžŸαžΆαžšαžαž™αž…αž»αŸ‡ αž›αŸ†αž αžΌαžšαž…αžΌαž›αž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αž”αŸ’αžšαž αŸ‚αž› 15-20%αŸ– αž–αŸαž›αžœαŸαž›αžΆαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ†αžŽαžΆαž™αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαžΆαžšαž“αžΈαž˜αž½αž™αŸ—αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αžœαžΆαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαž€αžΆαžšαž•αŸ’αž‘αž»αž€αžšαž”αžŸαŸ‹αžαž½αžšαž€αŸ’αž”αžΆαž›αž”αžΆαž“αž€αžΎαž“αž‘αžΎαž„αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αŸ’αžœαŸαžŠαž„αŸ”

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αžŠαŸ„αž™αžŸαžΆαžšαžαŸ’αž“αžΆαŸ†αž„αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž“αŸ…αžαŸ‚αž˜αžΆαž“αžŸαŸ’αž“αžΌαž›αžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αž”αŸ’αžšαžΎ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αž›αž˜αŸ’αž’αžŠαŸ„αž™αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ Kafka αŸ” αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž€αž·αž…αŸ’αž…αž€αžΆαžšαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αŸ„αŸ‡αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“ αžœαžΆαž‡αžΆαž€αžΆαžšαž”αŸ’αžšαžŸαžΎαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžŸαžΆαžšαž’αŸ†αž‡αžΆαž„αŸ”

4 αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› αž‘αŸ†αž αŸ†αžŸαžΆαžš - 512 αž”αŸƒ

αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜ Kafka αž”αžΆαž“αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž“αŸ’αžαŸ‚αž˜αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αžαŸ’αž˜αžΈ αž“αž·αž„αžšαž€αŸ’αžŸαžΆαžαž»αž›αŸ’αž™αž—αžΆαž–αž“αŸƒαž—αžΆαž‚αžαžΆαžŸ (αž“αŸαŸ‡αž’αžΆαž“αžΆαžαžΆαž”αž“αŸ’αž‘αž»αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžŸαŸ’αž˜αžΎαŸ—αž‚αŸ’αž“αžΆαžšαžœαžΆαž„αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›)αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž“αŸ’αžαŸ‚αž˜αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› αž›αŸ†αž αžΌαžšαž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜αž”αžΆαž“αž€αžΎαž“αž‘αžΎαž„αžŠαž›αŸ‹ ~580 Mb/s (~1,1 αž›αžΆαž“αžŸαžΆαžšαž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ). αž€αŸ†αžŽαžΎαž“αž“αŸαŸ‡αž”αžΆαž“αž”αŸ’αžšαŸ‚αž‘αŸ…αž‡αžΆαžαž·αž…αž‡αžΆαž„αž€αžΆαžšαžšαŸ†αž–αžΉαž„αž‘αž»αž€: αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž“αŸ’αž™αž›αŸ‹αž‡αžΆαž…αž˜αŸ’αž”αž„αžŠαŸ„αž™αž’αžαž»αž›αŸ’αž™αž—αžΆαž–αž“αŸƒαž—αžΆαž‚αžαžΆαžŸ (αž˜αž·αž“αž˜αŸ‚αž“αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž€αž˜αŸ’αžšαž·αžαž€αŸ†αž–αžΌαž›αž“αŸƒαžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž‘αŸ)αŸ”

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ JVM αž“αŸ…αžαŸ‚αž‘αžΆαž”αž‡αžΆαž„ 2 GBαŸ–

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αžŠαŸ‚αž›αž˜αžΆαž“αžŠαŸ’αžšαžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž„αž•αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαŸ„αž™αž’αžαž»αž›αŸ’αž™αž—αžΆαž–αž“αŸƒαž—αžΆαž‚αžαžΆαžŸ:

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αžŸαž˜αžŸαŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž€αžΆαžšαžšαž€αžƒαžΎαž‰

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαžŠαŸ‚αž›αŸ—αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαžΆαž„αž›αžΎαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž›αžΎαžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαžŸαŸ’αž˜αž»αž‚αŸ’αžšαžŸαŸ’αž˜αžΆαž‰αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžŠαŸ‚αž›αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αž“αžΉαž„αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαžΆαž”αŸ‹αžšαž™αž“αžΆαž€αŸ‹ αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž‘αžΎαž„αžœαž·αž‰ αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαžšαŸ†αž€αž·αž› αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž•αžαž‘αžΎαž„αžœαž·αž‰αŸ”αž›αŸ” αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αžœαžΆαž™αžαž˜αŸ’αž›αŸƒαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒαžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž•αŸ’αžŸαŸαž„αŸ— αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž‡αžΆαž”αŸ‹αž‚αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžšαž”αžŸαŸ‹αžœαžΆ αž“αž·αž„αžŸαŸ’αžœαŸ‚αž„αžšαž€αžœαž·αž’αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαž™αž»αž‘αŸ’αž’αž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž–αž½αž€αž‚αŸαŸ”

αž™αžΎαž„αžšαž…αž“αžΆ Supertubes αžŠαžΎαž˜αŸ’αž”αžΈαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž…αž„αŸ’αž€αŸ„αž˜αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž“αž·αž„αžšαž αŸαžŸ αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžœαžΆ αž”αž“αŸ’αžαŸ‚αž˜/αž›αž»αž”αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› αž“αž·αž„αž”αŸ’αžšαž’αžΆαž“αž”αž‘ αž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αž“αžΉαž„αž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„ αž“αž·αž„αž’αžΆαž“αžΆαžαžΆ Kafka αž‡αžΆαž‘αžΌαž‘αŸ…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸ…αž›αžΎ Kubernetes αŸ” αž‚αŸ„αž›αžŠαŸ…αžšαž”αžŸαŸ‹αž™αžΎαž„αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαž‡αž½αž™αž’αŸ’αž“αž€αž•αŸ’αžαŸ„αžαž›αžΎαž€αž·αž…αŸ’αž…αž€αžΆαžšαž…αž˜αŸ’αž”αž„ ("αž”αž„αŸ’αž€αžΎαž" αž“αž·αž„ "αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹" សអរ Kafka) αž αžΎαž™αž‘αž»αž€αž€αžΆαžšαžαž·αžαžαŸ†αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‘αŸ… Supertubes αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš Kafka αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž›αžΎαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ Banzai Cloud αž“αž·αž„αž‚αž˜αŸ’αžšαŸ„αž„ Open Source αžŸαžΌαž˜αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž‡αžΆαž˜αž½αž™αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž“αŸ… GitHub, LinkedIn ឬ Twitter.

PS αž–αžΈαž’αŸ’αž“αž€αž”αž€αž”αŸ’αžšαŸ‚

αžŸαžΌαž˜αž’αžΆαž“αž•αž„αžŠαŸ‚αžšαž“αŸ…αž›αžΎαž”αŸ’αž›αž€αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ–

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹