เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹. เปเบ›.: เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, Banzai Cloud เปเบšเปˆเบ‡เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบเปเบฒเบซเบ™เบปเบ”เป€เบญเบ‡เบ‚เบญเบ‡เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰ Kafka เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบฒเบเปƒเบ™ Kubernetes. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบงเบดเบ—เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเบเปเบฒเบ™เบปเบ” Kafka เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบœเบปเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™.

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

Apache Kafka เป€เบ›เบฑเบ™เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เปเบšเบšเปเบˆเบเบขเบฒเบเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เปเบšเบšเบชเบปเบ”เป†เบ—เบตเปˆเปœเป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบท, เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰ เปเบฅเบฐเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡. เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบซเบ™เป‰เบฒเบ›เบฐเบ—เบฑเบšเปƒเบˆเบ‚เบญเบ‡เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ Kubernetes. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Open Source เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™ Kafka เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ Supertubes. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ Kafka เปƒเบ™ Kubernetes เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบฅเบฑเบเบชเบฐเบ™เบฐเบ•เปˆเบฒเบ‡เป†เบ‚เบญเบ‡เบ•เบปเบ™, เป€เบŠเบฑเปˆเบ™: เบ›เบฑเบšเบ›เบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบ™เบฒเบเบซเบ™เป‰เบฒ, เบ‚เบฐเบซเบ™เบฒเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ metric เบเบฑเบš rebalancing, rack awareness, "เบญเปˆเบญเบ™" (เบชเบฐเบซเบ‡เปˆเบฒเบ‡เบฒเบก) เป€เบ›เบตเบ”เบ•เบปเบงเบญเบฑเบšเป€เบ”เบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เบฅเบญเบ‡เปƒเบŠเป‰ Supertubes เปƒเบ™เบเบธเปˆเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™:

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

เบซเบผเบทเบ•เบดเบ”เบ•เปเปˆ เป€เบญเบเบฐเบชเบฒเบ™. เบ™เบญเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบ—เปˆเบฒเบ™โ€‹เบเบฑเบ‡โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบญเปˆเบฒเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบšเบฒเบ‡โ€‹เบชเปˆเบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ‚เบญเบ‡ Kafkaโ€‹, เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบ—เบตเปˆโ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹เป‚เบ”เบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ Supertubes เปเบฅเบฐ Kafka operatorโ€‹. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ‚เบฝเบ™เบเปˆเบฝเบงเบเบฑเบšเบžเบงเบเบกเบฑเบ™เบขเบนเปˆเปƒเบ™ blog เปเบฅเป‰เบง:

เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes, เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ›เบฐเป€เบŠเบตเบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ—เป‰เบฒเบ—เบฒเบเปƒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเบฐเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Kafka เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบžเบทเปˆเบญเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบœเปˆเบฒเบ™. เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบ™เบฒเบเบซเบ™เป‰เบฒเปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™, เป€เบŠเบฑเปˆเบ™: เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เป‚เบ›เป€เบŠเบ”เป€เบŠเบต, เบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เปเบœเปˆเบ™, เปเบšเบ™เบงเบดเบ”เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เป‚เบ”เบเบซเบฅเบฑเบเบเบฒเบ™เปเบฅเป‰เบง, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบฒเบเบซเบ™เป‰เบฒเบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™เป€เบŠเบฑเปˆเบ™เบงเปˆเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เป‚เบ„เบ‡เบฅเปˆเบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เปƒเบ™เบŠเบตเบงเบดเบ”เบˆเบดเบ‡, เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบชเบฑเบšเบชเบปเบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบˆเบฐเบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒเบ™เบฒเบเบซเบ™เป‰เบฒเป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบชเบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš (เปเบœเปˆเบ™, เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เบซเบผเบทเป‚เบ›เป€เบŠเบ”เป€เบŠเบต). เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบง, เบ™เบฒเบเบซเบ™เป‰เบฒเบชเบฐเปเบ”เบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบชเบธเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบŠเป‰เบฒเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ. เบงเบดเบ—เบตเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบ„เบดเบ” rough เบ‚เบญเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเบซเบ™เบถเปˆเบ‡เบ™เบฒเบเบซเบ™เป‰เบฒเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™.

เปƒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบต, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ›เบฐเป€เบกเบตเบ™เบˆเปเบฒเบ™เบงเบ™เบ™เบฒเบเบซเบ™เป‰เบฒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เป„เบ”เป‰. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เปƒเบ™เบ—เบฒเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”, เบกเบตเบซเบผเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบซเบผเบฒเบ (เบ–เป‰เบฒเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰) เป€เบžเบทเปˆเบญเบ›เบฐเป€เบกเบตเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฐเป€เบžเบฒเบฐ. เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบญเบทเปˆเบ™เป†, เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบเบฒเบเบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเบงเบฒเบ‡เปเบœเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเบฒเบ‡เบญเบฑเบ™.

เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ Supertubes, เบžเบงเบเป€เบฎเบปเบฒเบกเบฑเบเบˆเบฐเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰: เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบšเบฒเบ‡เบขเปˆเบฒเบ‡ (เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™ + เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ), เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบกเบฑเบ™, เบ›เบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบฒเบเบซเบ™เป‰เบฒเปเบฅเบฐเป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡. เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบˆเบปเบ™เบเปˆเบงเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบŠเป‰เบฒเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบชเปˆเบงเบ™.

เบ”เป‰เบงเบเบงเบดเบ—เบตเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบเบงเปˆเบฒเบงเปˆเบฒเบˆเปเบฒเบ™เบงเบ™เบ™เบฒเบเบซเบ™เป‰เบฒเบเบธเปˆเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™ (เบˆเปเบฒเบ™เบงเบ™เบ™เบฒเบเบซเบ™เป‰เบฒเบเบฑเบ‡เบ‚เบถเป‰เบ™เบเบฑเบšเบ›เบฑเบ”เปƒเบˆเบญเบทเปˆเบ™เป†, เป€เบŠเบฑเปˆเบ™: เบˆเปเบฒเบ™เบงเบ™เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบก replicas เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเบขเบทเบ”เบขเบธเปˆเบ™, เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™. เบœเบนเป‰เบ™เปเบฒ, เปเบฅเบฐเบญเบทเปˆเบ™เป†). เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบเปˆเบฝเบงเบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เป‚เบ„เบ‡เบฅเปˆเบฒเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบกเปเบ™เบงเบ•เบฑเป‰เบ‡.

เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบชเบนเบ‡เบชเบธเบ”เบˆเบฒเบเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบŠเป‰เบฒเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เปเบฅเบฐเบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบœเปˆเบฒเบ™เบ‚เบญเบ‡เบเบธเปˆเบก 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 drives เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบชเบนเบ‡ gp2 เบšเปเบฅเบดเป‚เบžเบเบชเบดเบ™เป€เบŠเบทเปˆเบญเบชเบฐเบชเบปเบก (เบชเบดเบ™เป€เบŠเบทเปˆเบญ I/O), เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบกเบฑเบเบ›เบฐเป€เบžเบ” io1, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป„เบซเบผเป€เบ‚เบปเป‰เบฒเบชเบนเบ‡เบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡.

เบ›เบฐเป€เบžเบ”เบ•เบปเบงเบขเปˆเบฒเบ‡

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ Kafka เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบกเบตเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบ™เบฒเบเบซเบ™เป‰เบฒ (JVM) เปเบฅเบฐ cache เบซเบ™เป‰เบฒ. เบ•เบปเบงเบขเปˆเบฒเบ‡ c5.2xlarge - เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบ—เบตเปˆโ€‹เบ”เบตโ€‹, เป€เบ™เบทเปˆเบญเบ‡โ€‹เบˆเบฒเบโ€‹เบงเปˆเบฒโ€‹เบกเบฑเบ™โ€‹เบกเบต 16 GB เบ‚เบญเบ‡โ€‹เบซเบ™เปˆเบงเบโ€‹เบ„เบงเบฒเบกโ€‹เบˆเปเบฒโ€‹เปเบฅเบฐโ€‹ เบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เป€เปเบฒเบฐเบชเบปเบกเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš EBS. เบ‚เปเป‰เป€เบชเบเบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบชเบฐเบซเบ™เบญเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเปˆเป€เบเบตเบ™ 30 เบ™เบฒเบ—เบตเบ—เบธเบเป† 24 เบŠเบปเปˆเบงเป‚เบกเบ‡. เบ–เป‰เบฒเบงเบฝเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบชเบธเบ”เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™, เป€เบˆเบปเป‰เบฒเบญเบฒเบ”เบ•เป‰เบญเบ‡เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ›เบฐเป€เบžเบ”เบ•เบปเบงเบขเปˆเบฒเบ‡เบญเบทเปˆเบ™เป†. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”, เบขเบธเบ”เบขเบนเปˆ c5.4xlarge. เบกเบฑเบ™เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบชเบนเบ‡เบชเบธเบ”เปƒเบ™ 593,75 Mb/s. เบเบฐเปเบชเป„เบŸเบŸเป‰เบฒเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™ EBS io1 เบชเบนเบ‡เบเบงเปˆเบฒเบ•เบปเบงเบขเปˆเบฒเบ‡ c5.4xlarge, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบŠเป‰เบฒเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบกเปˆเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™ I/O เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰ (เป€เบŠเบดเปˆเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ„เบงเบ™เบขเบทเบ™เบขเบฑเบ™เป€เบŠเบฑเปˆเบ™เบเบฑเบ™).

เป€เบ„เบทเบญเบ‚เปˆเบฒเบ

เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ•เป‰เบญเบ‡เบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบžเปเบชเบปเบกเบ—เบฝเบšเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ VM instance เปเบฅเบฐ disk, เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบ„เปเบ‚เบงเบ”. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ c5.4xlarge เบฎเบญเบ‡เบฎเบฑเบšเบ„เบงเบฒเบกเป„เบงเบชเบนเบ‡เป€เบ–เบดเบ‡ 10 Gb/s, เป€เบŠเบดเปˆเบ‡เบชเบนเบ‡เบเบงเปˆเบฒเบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™ I/O เบ‚เบญเบ‡ VM instance.

เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบ™เบฒเบเปœเป‰เบฒ

เบ™เบฒเบเปœเป‰เบฒเบ„เบงเบ™เบ–เบทเบเบ™เบณเปƒเบŠเป‰ (เบเบณเบ™เบปเบ”เป€เบงเบฅเบฒเปƒเบ™ Kubernetes) เปƒเบซเป‰เบเบฑเบš nodes เบ—เบตเปˆเบญเบธเบ—เบดเบ”เบ•เบปเบ™เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบญเบทเปˆเบ™เป†เบชเบณเบฅเบฑเบš CPU, memory, network, and disk resources.

เบฅเบธเป‰เบ™ Java

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เปเบกเปˆเบ™ Java 11 เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš Docker เปƒเบ™เบ„เบงเบฒเบกเบซเบกเบฒเบเบ—เบตเปˆ JVM เบเปเบฒเบ™เบปเบ”เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเปเบฅเบฐเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบเบฑเบšเบ–เบฑเบ‡เบ—เบตเปˆเบ™เบฒเบเบซเบ™เป‰เบฒเบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบ. เป‚เบ”เบเบฎเบนเป‰เบงเปˆเบฒเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡ CPU เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™, JVM เบžเบฒเบเปƒเบ™เปเบฅเบฐเป‚เบ›เปˆเบ‡เปƒเบชเบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ GC threads เปเบฅเบฐ JIT threads. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ™เปเบฒเปƒเบŠเป‰เบฎเบนเบšเบžเบฒเบš Kafka banzaicloud/kafka:2.13-2.4.0เป€เบŠเบดเปˆเบ‡เบฅเบงเบกเบกเบต Kafka เป€เบงเบตเบŠเบฑเบ™ 2.4.0 (Scala 2.13) เปƒเบ™ Java 11.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบš Java / JVM เปƒเบ™ Kubernetes, เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ‚เบญเบ‡เบ™เบฒเบเบซเบ™เป‰เบฒ

เบกเบตเบชเบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบ™เบฒเบเบซเบ™เป‰เบฒ: เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบš JVM เปเบฅเบฐเบชเปเบฒเบฅเบฑเบš pod Kubernetes. เบ‚เบตเบ”เบˆเปเบฒเบเบฑเบ”เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบชเปเบฒเบฅเบฑเบš pod เบˆเบฐเบ•เป‰เบญเบ‡เปƒเบซเบเปˆเบเบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ” heap เบชเบนเบ‡เบชเบธเบ”เป€เบžเบทเปˆเบญเปƒเบซเป‰ JVM เบกเบตเบžเบทเป‰เบ™เบ—เบตเปˆเบชเปเบฒเบฅเบฑเบš Java metaspace เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เปเบฅเบฐเบชเปเบฒเบฅเบฑเบš cache เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆ Kafka เปƒเบŠเป‰เบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™. เปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบ›เบตเบ”เบ•เบปเบงเบ™เบฒเบเบซเบ™เป‰เบฒ Kafka เบ—เบตเปˆเบกเบตเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต -Xmx4G -Xms2G, เปเบฅเบฐเบ„เบงเบฒเบกเบˆเปเบฒเบˆเปเบฒเบเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฑเบเปเบกเปˆเบ™ 10 Gi. เบเบฐเบฅเบธเบ™เบฒเบฎเบฑเบšเบŠเบฒเบšเบงเปˆเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเบชเบณเบฅเบฑเบš JVM เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰ -XX:MaxRAMPercentage ะธ -X:MinRAMPercentage, เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบ„เบงเบฒเบกเบˆเปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฑเบ.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ™เบฒเบเบซเบ™เป‰เบฒ

เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ‚เบฐเบซเบ™เบฒเบ™เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบกเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฐเบ—เบนเป‰เบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบ Kafka. เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบซเบผเบฒเบเบ—เบตเปˆเบกเบตเบขเบนเปˆเบชเปเบฒเบฅเบฑเบš Kafka, เบ”เบตเบเบงเปˆเบฒ. เปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡ 6 เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเปเบฅเบฐเบ„เปˆเบญเบเป† (เบœเปˆเบฒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบญเบตเบ) เป€เบžเบตเปˆเบกเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป€เบ›เบฑเบ™ 15. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”. num.network.threads=12 เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบฒเบเบซเบ™เป‰เบฒเป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบˆเปเบฒเบ™เบงเบ™เบเบฐเบ—เบนเป‰เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบฅเบฐเบชเบปเปˆเบ‡เบกเบฑเบ™. เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบ„เบปเป‰เบ™เบžเบปเบšเบงเปˆเบฒเบ™เบฒเบเบซเบ™เป‰เบฒเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบšเปเปˆเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบš replicas เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบžเบฝเบ‡เบžเป, เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบเบปเบเบ‚เบถเป‰เบ™เบกเบฒ num.replica.fetchers เป€เบ–เบดเบ‡ 4 เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเป„เบงเบ—เบตเปˆเบ™เบฒเบเบซเบ™เป‰เบฒเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก replicated เบ‚เปเป‰เบ„เบงเบฒเบกเบˆเบฒเบเบœเบนเป‰เบ™เปเบฒ.

Load Generation Tool

เบ—เปˆเบฒเบ™เบ„เบงเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ”เบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเป€เบฅเบทเบญเบเบšเปเปˆเบซเบกเบปเบ”เบ„เบงเบฒเบกเบญเบฒเบ”เบชเบฒเบกเบฒเบ”เบเปˆเบญเบ™เบ—เบตเปˆเบเบธเปˆเบก Kafka (เบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™) เบšเบฑเบ™เบฅเบธเบเบฒเบ™เป‚เบซเบผเบ”เบชเบนเบ‡เบชเบธเบ”. เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบญเบทเปˆเบ™เป†, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเบฒเบ™เป‚เบซเบผเบ”, เปเบฅเบฐเบเบฑเบ‡เป€เบฅเบทเบญเบเบ›เบฐเป€เบžเบ”เบ•เบปเบงเบขเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™เบ”เป‰เบงเบเบˆเปเบฒเบ™เบงเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเปเบฅเบฐเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบžเบฝเบ‡เบžเป. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบœเบฐเบฅเบดเบ”เบเบฒเบ™เป‚เบซเบผเบ”เบซเบผเบฒเบเบเปˆเบงเบฒเบเบธเปˆเบก Kafka เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™เป„เบ”เป‰. เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ•เบปเบเบฅเบปเบ‡เบชเบฒเบกเบชเบฐเบšเบฑเบš c5.4xlarge, เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ”เป„เบŸเบŸเป‰เบฒเปเบฅเปˆเบ™.

Benchmarking

เบเบฒเบ™โ€‹เบงเบฑเบ”โ€‹เปเบ—เบโ€‹เบ›เบฐโ€‹เบชเบดเบ”โ€‹เบ—เบดโ€‹เบžเบฒเบšโ€‹เป€เบ›เบฑเบ™โ€‹เบ‚เบฐโ€‹เบšเบงเบ™โ€‹เบเบฒเบ™โ€‹เบŠโ€‹เป‰โ€‹เปเบฒโ€‹เบ—เบตเปˆโ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบกเบตโ€‹เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

  • เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เป‚เบ„เบ‡เบฅเปˆเบฒเบ‡ (เบเบธเปˆเบก EKS, เบเบธเปˆเบก Kafka, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเบฒเบ™เป‚เบซเบผเบ”, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Prometheus เปเบฅเบฐ Grafana);
  • เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบชเปเบฒเบฅเบฑเบšเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เป€เบžเบทเปˆเบญเบเบฑเปˆเบ™เบ•เบญเบ‡เบเบฒเบ™เบšเบดเบ”เป€เบšเบทเบญเบ™เปเบšเบšเบชเบธเปˆเบกเปƒเบ™เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเป€เบเบฑเบšเบเปเบฒ;
  • เบเบฒเบ™เบ›เบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡ เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบ™เบฒเบเปœเป‰เบฒเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™;
  • เป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบˆเบปเบ™เบเปˆเบงเบฒเบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบ‚เบญเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบเบธเปˆเบก Kafka เปเบกเปˆเบ™เบšเบฑเบ™เบฅเบธเป„เบ”เป‰. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบœเปˆเบžเบฑเบ™เบขเปˆเบฒเบ‡เบชเบฐเบซเบกเปเปˆเบฒเบชเบฐเป€เบซเบกเบตเปเบฅเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”.

เบžเบฒเบเบชเปˆเบงเบ™เบ•เปเปˆเป„เบ›เบญเบฐเบ—เบดเบšเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ benchmarking เบเบธเปˆเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš.

เป€เบ„เบทเปˆเบญเบ‡เบกเบท

เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เป€เบžเบทเปˆเบญโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบขเปˆเบฒเบ‡โ€‹เบงเปˆเบญเบ‡โ€‹เป„เบงโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹, เบชเป‰เบฒเบ‡โ€‹เบเบฒเบ™โ€‹เป‚เบซเบผเบ”โ€‹, เปเบฅเบฐโ€‹เบงเบฑเบ”โ€‹เปเบ—เบโ€‹เบ›เบฐโ€‹เบชเบดเบ”โ€‹เบ—เบดโ€‹เบžเบฒเบšโ€‹:

  • Banzai Cloud Pipeline เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบธเปˆเบก EKS เบˆเบฒเบ Amazon c Prometheus (เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบเปเบฒ Kafka เปเบฅเบฐ metrics เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™) เปเบฅเบฐ เบเบฃเบฒเบŸเบฒเบ™เบฒ (เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบžเบฒเบšเบเบฒเบ™เบงเบฑเบ”เปเบ—เบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰). เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบญเบปเบฒเบ›เบฐเป‚เบซเบเบ” เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™ ะฒ เบ—เปเปˆเบ™เป‰เปเบฒ เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบ‚เบญเบ‡เบชเบฐเบซเบฐเบžเบฑเบ™, เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบชเบนเบ™เบเบฒเบ‡, เบเบฒเบ™เบชเบฐเปเบเบ™เบ„เบงเบฒเบกเบชเปˆเบฝเบ‡, เบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบนเป„เบžเบžเบดเบšเบฑเบ”, เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบฅเบฐเบ”เบฑเบšเบงเบดเบชเบฒเบซเบฐเบเบดเบ”เปเบฅเบฐเบญเบทเปˆเบ™เป†.
  • Sangrenel โ€” เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เบเบฒเบ™โ€‹เป‚เบซเบผเบ”โ€‹เบเบธเปˆเบก Kafkaโ€‹.
  • เปเบœเบ‡เปœเป‰เบฒเบ›เบฑเบ” Grafana เบชเบณเบฅเบฑเบšเบเบฒเบ™เป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™เบ•เบปเบงเบงเบฑเบ”เปเบ—เบ เปเบฅเบฐเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ Kafka: Kubernetes Kafka, Node Exporter.
  • Supertubes CLI เบชเปเบฒเบฅเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบ•เบฑเป‰เบ‡เบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes. Zookeeper, Kafka operator, Envoy เปเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐเบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเบธเปˆเบก Kafka เบ—เบตเปˆเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเบœเบฐเบฅเบดเบ”เบขเบนเปˆเปƒเบ™ Kubernetes.
    • เบชเบณ เบฅเบฑเบšเบ•เบดเบ”เบ•เบฑเป‰เบ‡ supertubes CLI เปƒเบŠเป‰เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰ เบ—เบตเปˆเบ™เบตเป‰.

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเบธเปˆเบก EKS

เบเบฐเบเบฝเบกเบเบธเปˆเบก EKS เบ—เบตเปˆเบกเบตเบ‚เปเป‰เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบœเบนเป‰เบญเบญเบเปเบฎเบ‡เบ‡เบฒเบ™ c5.4xlarge เปƒเบ™เป€เบ‚เบ”เบ—เบตเปˆเบกเบตเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฑเบเบ—เบตเปˆเบกเบตเบ™เบฒเบเบซเบ™เป‰เบฒ Kafka, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš nodes เบ—เบตเปˆเบญเบธเบ—เบดเบ”เบ•เบปเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ”เบเบฒเบ™เป‚เบซเบผเบ”เปเบฅเบฐเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก.

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

เป€เบกเบทเปˆเบญเบเบธเปˆเบก EKS เป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเป‰เบง, เปƒเบซเป‰เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™ เบšเปเบฅเบดเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก โ€” เบ™เบฒเบ‡โ€‹เบˆเบฐโ€‹เบ™เบณโ€‹เปƒเบŠเป‰ 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 เปเบฅเบฐ เบ™เบณ เปƒเบŠเป‰เบžเบญเบ”เบ™เบฒเบ เปœเป‰เบฒ เปƒเบ™ nodes เปƒเบ™เบชเบฒเบกเป€เบ‚เบ”เบเบฒเบ™เบกเบตเบขเบนเปˆเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™:

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 - เบกเบนเบ™เบ„เปˆเบฒเบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเบชเบนเบ‡.

Load Generation Tool

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบ›เบตเบ”เบ•เบปเบงเบชเบฒเบกเบชเปเบฒเป€เบ™เบปเบฒเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ”เบเบฒเบ™เป‚เบซเบผเบ” (เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบ‚เบฝเบ™เปƒเบ™เบซเบปเบงเบ‚เปเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ). เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ” pods generator, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡เบ‚เบญเบ‡ node เป€เบžเบทเปˆเบญเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ–เบทเบเบเปเบฒเบ™เบปเบ”เบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเปƒเบ™ nodes เบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ:

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 เบเบฒเบ™เบžเบดเบกเป€เบœเบตเบเปเบœเปˆเปเบกเปˆเบ™เบ–เบทเบงเปˆเบฒเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เป€เบกเบทเปˆเบญเบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆ synchronized เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ”เป‰เบฎเบฑเบšเปเบฅเบฐเบขเบทเบ™เบขเบฑเบ™เป‚เบ”เบเบ™เบฒเบเบซเบ™เป‰เบฒ Kafka. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเปƒเบ™เบ”เบฑเบ”เบŠเบฐเบ™เบตเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบงเบฑเบ”เปเบ—เบเบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบœเบนเป‰เบ™เปเบฒเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบก, เปเบ•เปˆเบเบฑเบ‡เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ replicating เบ‚เปเป‰เบ„เบงเบฒเบก. เบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ›เบฐเป€เบกเบตเบ™เบ„เบงเบฒเบกเป„เบงเบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบ (เบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบ) เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™ cache เบ‚เบญเบ‡เบซเบ™เป‰เบฒ OS, เปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบ„เบงเบฒเบกเป„เบงเบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เปเบœเปˆเบ™.
  • เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบšเบฑเบ™เบˆเบธ 20 เบ„เบปเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบฐเบซเบ™เบฒเบ™ (-workers=20). เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบกเบตเบœเบนเป‰เบœเบฐเบฅเบดเบ” 5 เบ„เบปเบ™เบ—เบตเปˆเปเบšเปˆเบ‡เบ›เบฑเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบเบฑเบšเบเบธเปˆเบก Kafka. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปเบ•เปˆเบฅเบฐเบœเบนเป‰เบœเบฐเบฅเบดเบ”เบกเบตเบœเบนเป‰เบœเบฐเบฅเบดเบ” 100 เบ„เบปเบ™, เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเป„เบ›เบซเบฒเบเบธเปˆเบก Kafka.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบชเบธเบ‚เบฐเบžเบฒเบšเบ‚เบญเบ‡เบเบธเปˆเบก

เปƒเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เบเบฒเบ™โ€‹เป‚เบซเบผเบ”โ€‹เบ‚เบญเบ‡โ€‹เบเบธเปˆเบก Kafkaโ€‹, เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเบฑเบ‡โ€‹เป„เบ”เป‰โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบงเบ”โ€‹เบเบฒโ€‹เบชเบธโ€‹เบ‚เบฐโ€‹เบžเบฒเบšโ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เปเบ™เปˆโ€‹เปƒเบˆเบงเปˆโ€‹เบฒโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™ restart เบเบฑเบโ€‹, เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบฅเบญเบ‡โ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบŠเบดเป‰เบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹, เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบœเปˆเบฒเบ™โ€‹เบชเบนเบ‡โ€‹เบชเบธเบ”โ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบœเบฑเบ™โ€‹เปเบ›โ€‹เบซเบ™เป‰เบญเบโ€‹:

  • เป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ”เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบฝเบ™เบชเบฐเบ–เบดเบ•เบดเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบ–เบทเบเป€เบœเบตเบเปเบœเปˆเปเบฅเบฐเบญเบฑเบ”เบ•เบฒเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบญเบฑเบ”เบ•เบฒเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ„เบงเบ™เบขเบนเปˆเบ„เบทเบเบฑเบ™ 0,00%.
  • เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบฅเปˆเบญเบ‡เป€เบฎเบทเบญ, deployed by kafka-operator, เบชเบฐเบซเบ™เบญเบ‡ dashboard เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡ cluster เป„เบ”เป‰. เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เปเบœเบ‡เบ™เบตเป‰, เป€เบฎเบฑเบ”:
    supertubes cluster cruisecontrol show -n kafka --kubeconfig <path-to-eks-cluster-kubeconfig-file>
  • เบฅเบฐเบ”เบฑเบš ISR (เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ "in-sync" replicas) shrink เปเบฅเบฐเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบš 0.

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบงเบฑเบ”เปเบ—เบ

3 เบ™เบฒเบเบซเบ™เป‰เบฒ, เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เปเป‰เบ„เบงเบฒเบก - 512 bytes

เบ”เป‰เบงเบเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เปเบšเปˆเบ‡เบญเบญเบเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เปƒเบ™เบ—เบปเปˆเบงเบชเบฒเบกเบ™เบฒเบเบซเบ™เป‰เบฒ, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบฅเบธเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” ~ 500 Mb/s (เบ›เบฐเบกเบฒเบ™ 990 เบžเบฑเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต):

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡ virtual JVM เบšเปเปˆเป€เบเบตเบ™ 2 GB:

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ”เบดเบชเบเปŒเป„เบ”เป‰เป€เบ–เบดเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบ‚เปเป‰ I/O เบชเบนเบ‡เบชเบธเบ”เปƒเบ™เบ—เบฑเบ‡เบชเบฒเบกเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ™เบฒเบเปœเป‰เบฒเบเบณเบฅเบฑเบ‡เปเบฅเปˆเบ™:

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบˆเบฒเบเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป‚เบ”เบ nodes, เบกเบฑเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบงเปˆเบฒเบฅเบฐเบšเบปเบš buffering เปเบฅเบฐ caching เป„เบ”เป‰ ~ 10-15 GB:

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

3 เบ™เบฒเบเบซเบ™เป‰เบฒ, เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เปเป‰เบ„เบงเบฒเบก - 100 bytes

เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เปเป‰เบ„เบงเบฒเบกเบซเบผเบธเบ”เบฅเบปเบ‡, เบญเบฑเบ”เบ•เบฒเบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ›เบฐเบกเบฒเบ™ 15-20%: เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เปเบ•เปˆเบฅเบฐเบ‚เปเป‰เบ„เบงเบฒเบกเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบกเบฑเบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบเบทเบญเบšเบชเบญเบ‡เป€เบ—เบปเปˆเบฒ.

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก Kafka เปƒเบ™ Kubernetes

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ nodes เบ‚เบญเบ‡เบ™เบฒเบเบซเบ™เป‰เบฒเบเบฑเบ‡เบกเบตเปเบเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ›เบธเบ‡เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบ›เปˆเบฝเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Kafka. เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบงเบฝเบเบ—เบตเปˆเบ‡เปˆเบฒเบ, เบชเบฐเบ™เบฑเป‰เบ™เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบกเบฑเบ™เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ.

4 เบ™เบฒเบเบซเบ™เป‰เบฒ, เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เปเป‰เบ„เบงเบฒเบก - 512 bytes

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบเบธเปˆเบก 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 เบˆเบฒเบเบ™เบฑเบเปเบ›

เบญเปˆเบฒเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™ blog เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™