តើ Kafka αž“αŸ…αž›αžΎ Kubernetes αž›αŸ’αž’αž‘αŸ?

αž‡αŸ†αžšαžΆαž”αžŸαž½αžš, Habr!

αž“αŸ…αž–αŸαž›αž˜αž½αž™αž™αžΎαž„αž‡αžΆαž’αŸ’αž“αž€αžŠαŸ†αž”αžΌαž„αžŠαŸ‚αž›αžŽαŸ‚αž“αžΆαŸ†αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αŸ…αž€αžΆαž“αŸ‹αž‘αžΈαž•αŸ’αžŸαžΆαžšαžšαž»αžŸαŸ’αžŸαŸŠαžΈ αž€αžΆαž€αžΆαž€αžΆαŸ” αž“αž·αž„αž”αž“αŸ’αž αž”αž‘ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžšαž”αžŸαŸ‹αžœαžΆαŸ” αž‡αžΆαž–αž·αžŸαŸαžŸαž™αžΎαž„αž”αžΆαž“αžšαž€αžƒαžΎαž‰αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸƒαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αžšαžœαžΆαž„ Kafka αž“αž·αž„ Kubernetes. αž’αžΆαž…αžŸαž„αŸ’αž€αŸαžαž”αžΆαž“ (αž“αž·αž„αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“) αž’αžαŸ’αžαž”αž‘ αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™αž“αŸ…αž›αžΎαž”αŸ’αž›αž»αž€ Confluent αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ‚αžαž»αž›αžΆαž†αŸ’αž“αžΆαŸ†αž˜αž»αž“αž€αŸ’αžšαŸ„αž˜αž€αžΆαžšαž“αž·αž–αž“αŸ’αž’αžšαž”αžŸαŸ‹ Gwen Shapira αŸ” αžαŸ’αž„αŸƒαž“αŸαŸ‡ αž™αžΎαž„αž…αž„αŸ‹αž‘αžΆαž‰αž…αŸ†αžŽαžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ…αž’αžαŸ’αžαž”αž‘αžαŸ’αž˜αžΈαž˜αž½αž™αž‘αŸ€αžαž–αžΈαžαŸ‚αž˜αŸαžŸαžΆ αžŠαŸ„αž™ Johann Gyger αžŠαŸ‚αž›αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž˜αž·αž“αž˜αžΆαž“αžŸαž‰αŸ’αž‰αžΆαžŸαž½αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαž„αž‡αžΎαž„αž€αŸαžŠαŸ„αž™ αž€αŸαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžŽαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αž‡αžΆαž„ αžŠαŸ„αž™αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αž’αžαŸ’αžαž”αž‘αžŠαŸ‚αž›αž˜αžΆαž“αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαŸ” αžŸαžΌαž˜αž’αž—αŸαž™αž‘αŸ„αžŸαž±αŸ’αž™αž–αž½αž€αž™αžΎαž„αž“αžΌαžœαž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚αžŠαŸ„αž™αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαž“αŸƒ "αžŸαŸ’αžœαžΆαžœαžΉαž€αžœαžš" αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“!

តើ Kafka αž“αŸ…αž›αžΎ Kubernetes αž›αŸ’αž’αž‘αŸ?

αžŸαŸαž…αž€αŸ’αžαžΈαžŽαŸ‚αž“αžΆαŸ†

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

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

αž˜αž“αž»αžŸαŸ’αžŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαžΆ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžšαž˜αŸ€αž› Kubernetes αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžšαžŠαŸ’αž‹ αžœαžΆαž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž™αŸ‰αžΆαž„αž–αŸαž‰αž›αŸαž‰αžŠαŸ‚αž›αž”αŸ’αžšαž‡αŸ‚αž„αž“αžΉαž„ RDS αŸ” αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αžαž»αžŸαŸ” αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹ αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž”αž“αŸ’αžαŸ‚αž˜ αž“αž·αž„αž‘αžΆαž€αŸ‹αž‘αžΆαž‰αž€αŸ’αžšαž»αž˜αžœαž·αžŸαŸ’αžœαž€αžš SRE αž’αŸ’αž“αž€αž“αžΉαž„αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž RDS αž“αŸ…αž›αžΎ Kubernetes αž”αžΆαž“αŸ”

αžαŸ’αž‰αž»αŸ†αžαŸ‚αž„αžαŸ‚αžŽαŸ‚αž“αžΆαŸ†αžαžΆαž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“αžαŸ’αž›αžΆαŸ†αž„αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαž“αŸ…αž›αžΎ Kubernetes αŸ” αž˜αž“αž»αžŸαŸ’αžŸαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αžŸαž½αžšαžαžΆ "αžαžΎαžαŸ’αž‰αž»αŸ†αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαž“αŸ…αž›αžΎ Kubernetes αž”αžΆαž“αž‘αŸ" αž˜αž·αž“αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž‡αžΆαž˜αž½αž™ Kubernetes αž αžΎαž™αž‡αžΆαžšαžΏαž™αŸ—αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž€αŸ†αž–αž»αž„αžŸαž½αžšαŸ”

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

αž–αŸαž›αžœαŸαž›αžΆαž“αŸƒαž€αžΆαžšαž”αž‰αŸ’αž…αž”αŸ‹

αž…αžΌαžšαž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžšαžΏαž„αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ - αž”αžšαž·αž™αžΆαž€αžΆαžŸαž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ”

αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš

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

αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†

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

αžƒαŸ’αž›αžΆαŸ†αž„αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™

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

αž“αŸαŸ‡αž‡αžΆαž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αž”αŸ’αžšαžΎαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„αŸ” αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžœαžΆαž‡αžΆαž€αžΆαžšαž•αŸ’αž‘αž»αž€αžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„αžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžš XFS αž¬αž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž ext4 αŸ” αž€αž»αŸ†αž”αŸ’αžšαžΎ NFS αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž–αŸ’αžšαž˜αžΆαž“β€‹αž’αŸ’αž“αž€αŸ” αž€αŸ†αžŽαŸ‚ NFS v3 ឬ v4 αž“αžΉαž„αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸαŸ” αžŸαžšαž»αž”αž˜αž€ αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž› Kafka αž“αžΉαž„αž‚αžΆαŸ†αž„αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž˜αž·αž“αž’αžΆαž…αž›αž»αž”αžαžαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžΆαž“αž‘αŸ αžŠαŸ„αž™αžŸαžΆαžšαž”αž‰αŸ’αž αžΆ "αž”αŸ’αžαžΌαžšαžˆαŸ’αž˜αŸ„αŸ‡αž›αŸ’αž„αž„αŸ‹" αž“αŸ…αž€αŸ’αž“αž»αž„ NFS αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž‘αžΆαž“αŸ‹αž”αžΆαž“αž”αž‰αŸ’αž…αž»αŸ‡αž”αž‰αŸ’αž…αžΌαž›αž’αŸ’αž“αž€αž“αŸ…αž‘αžΎαž™αž‘αŸ αžŸαžΌαž˜αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“αž”αŸ†αž•αž»αžαŸ” αž’αžΆαž“αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αŸ”. αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αž½αžšαžαŸ‚αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αžŠαžΌαž…αŸ’αž“αŸαŸ‡ Kubernetes αž’αžΆαž…αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžαŸ’αž“αžΆαŸ†αž„αžαŸ’αž˜αžΈαž”αžΆαž“αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž—αžΆαž–αž”αžαŸ‹αž”αŸ‚αž“αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰ αž¬αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αžΈαžαžΆαŸ†αž„αŸ”

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

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

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹β€‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’

αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αž‡αžΆαž‘αŸ€αž„αž‘αžΆαžαŸ‹

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

  • αž€αŸ’αžšαŸ„αž˜αŸ”αŸ– αž•αžαž‚αžΊαž‡αžΆαž―αž€αžαžΆαžŠαŸ‚αž›αž’αžΆαž…αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž”αžΆαž“αžαžΌαž…αž”αŸ†αž•αž»αžαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ” αž•αžαž˜αžΆαž“αž•αŸ’αž‘αž»αž€αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž αžΎαž™αž•αžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αžšαžΌαžœαž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž•αžαž˜αžΆαž“αž’αž»αž„αž˜αž½αž™ αž¬αž…αŸ’αžšαžΎαž“αŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ ZooKeeper αž“αžΈαž˜αž½αž™αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜ αž αžΎαž™αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αž“αžΈαž˜αž½αž™αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž•αžαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž˜αž½αž™αŸ”
  • αžŸαŸ†αžŽαž»αŸ†β€‹αžšαžŠαŸ’αž‹αŸ– StatefulSet αž‚αžΊαž‡αžΆαžœαžαŸ’αžαž» Kubernetes αžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αžšαžŠαŸ’αž‹αž…αŸ’αžšαžΎαž“ αž αžΎαž™αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αž‘αžΆαž˜αž‘αžΆαžšαž€αžΆαžšαžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž›αŸ” StatefulSets αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž’αžΆαž“αžΆαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰αž•αž αž“αž·αž„αž—αžΆαž–αž”αŸ’αž›αŸ‚αž€αžšαž”αžŸαŸ‹αžœαžΆαŸ”
  • αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‚αŸ’αž˜αžΆαž“αž€αŸ’αž”αžΆαž›αŸ– αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαž€ pods αž…αŸαž‰αž–αžΈαž’αžαž·αžαž·αž‡αž“αžŠαŸ„αž™αž”αŸ’αžšαžΎαžˆαŸ’αž˜αŸ„αŸ‡αž‘αžΌαž‡αžΈαžαž›αŸ” Kubernetes αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž…αŸ†αž–αŸ„αŸ‡αžαž»αž›αŸ’αž™αž—αžΆαž–αž”αž“αŸ’αž‘αž»αž€αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαž—αžΆαž–αžŠαžΌαž…αž‡αžΆ ZooKeeper αž“αž·αž„ Kafka αž’αžαž·αžαž·αž‡αž“αžαŸ’αžšαžΌαžœαž‘αžΆαž€αŸ‹αž‘αž„αž‡αžΆαž˜αž½αž™αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžŸαŸαžœαžΆαž‚αŸ’αž˜αžΆαž“αž€αŸ’αž”αžΆαž›αž˜αž€αž„αžΆαž™αžŸαŸ’αžšαž½αž›αŸ– αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž’αžαž·αžαž·αž‡αž“αž“αžΉαž„αž“αŸ…αžαŸ‚αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αž‘αžΌαž‡αžΈαžαž› αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αž“αžΉαž„αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαž€αŸ‹αž‘αž„αž•αžαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸαŸ”
  • αž”αžšαž·αž˜αžΆαžŽαž•αŸ’αž‘αž»αž€αžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„αŸ– αž”αžšαž·αž˜αžΆαžŽαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‡αžΆαž”αŸ‹αž›αžΆαž”αŸ‹αž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αžšαžΆαž”αŸ‹αžαžΆαž„αž›αžΎαŸ”

αž“αŸ…αž›αžΎ αž™αžΌαž›αŸ€αž“ αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαŸ†αžŽαž»αŸ†αž‘αžΌαž›αŸ†αž‘αžΌαž›αžΆαž™αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αžŠαžΎαž˜αŸ’αž”αžΈαž‡αž½αž™αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ Kafka αž“αŸ…αž›αžΎ Kubernetes αŸ”

αžαžΆαžšαžΆαž„αž˜αž½αž€αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–

Helm αž‚αžΊαž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kubernetes αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹ OS αžŠαžΌαž…αž‡αžΆ yum, apt, Homebrew ឬ Chocolatey αŸ” αžœαžΆαž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž€αž‰αŸ’αž…αž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‡αžΆαž˜αž»αž“αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„ Helm αŸ” αž‚αŸ†αž“αžΌαžŸαžαžΆαž„ Helm αžŠαŸ‚αž›αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž™αŸ‰αžΆαž„αž›αŸ’αž’αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αž·αž…αŸ’αž…αž€αžΆαžšαžŠαŸαž›αŸ†αž”αžΆαž€αž“αŸƒαžšαž”αŸ€αž”αž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž±αŸ’αž™αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎ Kafka αž“αŸ…αž›αžΎ Kubernetes αž„αžΆαž™αžŸαŸ’αžšαž½αž›αŸ” αž˜αžΆαž“αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜ Kafka αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ– αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž›αžΌαžœαž€αžΆαžšαž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ… αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒ incubatorαž˜αžΆαž“αž˜αž½αž™αž˜αž€αž–αžΈ αž…αŸ’αžšαž”αžΌαž€αž…αŸ’αžšαž”αž›αŸ‹, αž˜αž½αž™αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž - αž–αžΈ Bitnami.

αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš

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

αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž–αžΈαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kafka αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΎαž€αž‘αžΎαž„αŸ” αž˜αŸ’αž“αžΆαž€αŸ‹β€‹αž€αŸ’αž“αž»αž„β€‹αž…αŸ†β€‹αž“αŸ„αž˜β€‹αž–αž½αž€αž‚αŸ - αžŸαŸ’αž‘αŸ’αžšαžΈαž˜αž αŸ’αžŸαžΈ. αž‡αžΆαž˜αž½αž™αž“αžΉαž„ Strimzi αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž€αŸ’αžšαž»αž˜ Kafka αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αžΎαž„ αž αžΎαž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž“αžΆαž‘αžΈαŸ” αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžš αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαžαŸ’αž›αž½αž“αžœαžΆαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž›αŸ’αž’αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž” TLS αž–αžΈαž…αŸ†αžŽαž»αž…αž˜αž½αž™αž‘αŸ…αž…αŸ†αžŽαž»αž…αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αŸ” Confluent αž€αŸαž•αŸ’αžαž›αŸ‹αž•αž„αžŠαŸ‚αžšαŸ” αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“.

αž•αž›αž·αžαž—αžΆαž–

αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž’αŸ’αžœαžΎαž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž§αž‘αžΆαž αžšαžŽαŸ Kafka αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž”αŸ‚αž”αž“αŸαŸ‡αž“αžΉαž„αž‡αž½αž™αž’αŸ’αž“αž€αžšαž€αžƒαžΎαž‰αž€αžΆαžšαžŸαŸ’αž‘αŸ‡αžŸαž€αŸ’αžαžΆαž“αž»αž–αž›αž˜αž»αž“αž–αŸαž›αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž€αžΎαžαž‘αžΎαž„αŸ” αž‡αžΆαžŸαŸ†αžŽαžΆαž„αž›αŸ’αž’ Kafka αž•αŸ’αžαž›αŸ‹αž§αž”αž€αžšαžŽαŸαžŸαžΆαž€αž›αŸ’αž”αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΈαžšαžšαž½αž…αž αžΎαž™αŸ– kafka-producer-perf-test.sh ΠΈ kafka-consumer-perf-test.sh. αž”αŸ’αžšαžΎαž–αž½αž€αžœαžΆαž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αžΆαž―αž€αžŸαžΆαžšαž™αŸ„αž„ αž’αŸ’αž“αž€αž’αžΆαž…αž™αŸ„αž„αž‘αŸ…αž›αžΎαž›αž‘αŸ’αž’αž•αž›αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ αž”αŸ’αžšαž€αžΆαžŸαž“αŸαŸ‡αŸ” Jay Kreps αž¬αž•αŸ’αžαŸ„αžαž›αžΎ αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž“αŸαŸ‡αŸ” Amazon MSK αžŠαŸ„αž™ StΓ©phane MaarekαŸ”

αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš

αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™

αžαž˜αŸ’αž›αžΆαž—αžΆαž–αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αžΊαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹ - αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸαž’αŸ’αž“αž€αž“αžΉαž„αž˜αž·αž“αž™αž›αŸ‹αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαž‘αŸαŸ” αžŸαž–αŸ’αžœβ€‹αžαŸ’αž„αŸƒβ€‹αž“αŸαŸ‡β€‹αž˜αžΆαž“β€‹αž€αž‰αŸ’αž…αž”αŸ‹β€‹αž§αž”αž€αžšαžŽαŸβ€‹αžšαžΉαž„β€‹αž˜αž½αž™β€‹αžŠαŸ‚αž›β€‹αž•αŸ’αžŠαž›αŸ‹β€‹αž€αžΆαžšβ€‹αžαŸ’αžšαž½αžβ€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž•αŸ’αž’αŸ‚αž€β€‹αžαžΆαž˜β€‹αž˜αŸ‰αŸ‚αžαŸ’αžšβ€‹αž€αŸ’αž“αž»αž„β€‹αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜β€‹αžŠαžΎαž˜β€‹αž“αŸƒβ€‹αž–αž–αž€αŸ” αž§αž”αž€αžšαžŽαŸαž–αŸαž‰αž“αž·αž™αž˜αž–αžΈαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ„αž›αž”αŸ†αžŽαž„αž“αŸαŸ‡αž‚αžΊ Prometheus αž“αž·αž„ Grafana αŸ” Prometheus αž’αžΆαž…αž”αŸ’αžšαž˜αžΌαž›αž˜αŸ‰αŸ‚αžαŸ’αžšαž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Java αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ (Kafka, Zookeeper, Kafka Connect) αžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž“αžΆαŸ†αž…αŸαž‰ JMX - αžαžΆαž˜αžœαž·αž’αžΈαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αž“αŸ’αžαŸ‚αž˜αž˜αŸ‰αŸ‚αžαŸ’αžš cAdvisor αž’αŸ’αž“αž€αž’αžΆαž…αž™αž›αŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αž“αž’αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ”

Strimzi αž˜αžΆαž“αž§αž‘αžΆαž αžšαžŽαŸαžŠαŸαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αŸƒαž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ Grafana αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kafka αŸ” αžœαžΆβ€‹αž˜αžΎαž›β€‹αžƒαžΎαž‰β€‹αž˜αŸ‰αŸ‚αžαŸ’αžšβ€‹αžŸαŸ†αžαžΆαž“αŸ‹αŸ— αž§αž‘αžΆαž αžšαžŽαŸβ€‹αž’αŸ†αž–αžΈβ€‹αž•αŸ’αž“αŸ‚αž€β€‹αžŠαŸ‚αž›β€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž…αž˜αŸ’αž›αž„ αž¬β€‹αž•αŸ’αž“αŸ‚αž€β€‹αžŠαŸ‚αž›β€‹αž‚αŸ’αž˜αžΆαž“β€‹αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž–αŸαž‰αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ„αž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“ αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αž€αŸαžŠαžΌαž…αž‡αžΆαžŸαžΌαž…αž“αžΆαž€αžšαžŸαŸ’αžαŸαžšαž—αžΆαž–αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž’αŸ’αž“αž€β€‹αž‘αž‘αž½αž›β€‹αž”αžΆαž“β€‹αž€αžΆαžšβ€‹αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™β€‹αž…αž„αŸ’αž€αŸ„αž˜ Kafka αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αžŠαŸ„αž™β€‹αž‚αŸ’αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈβ€‹αžŸαŸ„αŸ‡!

តើ Kafka αž“αŸ…αž›αžΎ Kubernetes αž›αŸ’αž’αž‘αŸ?

αž”αŸ’αžšαž—αž–: streamzi.io/docs/master/#kafka_dashboard

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

αž€αžΆαžšαž€αžΆαž”αŸ‹αžˆαžΎ

αž€αžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆαž‚αžΊαž‡αžΆαž€αž·αž…αŸ’αž…αž€αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž‘αŸ€αžαŸ” αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž’αž»αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ Kafka αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΌαž› stdout ΠΈ stderrαž αžΎαž™αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆ αž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‘αŸ…αž€αŸ’αž“αž»αž„αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αŸƒαž€αžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆαž€αžŽαŸ’αžαžΆαž› ឧ. Elasticsearch.

αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž˜αž»αžαž„αžΆαžš

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

αž€αŸ†αž–αž»αž„αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–

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

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“

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

αžšαžŠαŸ’αž‹αž”αžΆαž›

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

РСзСрвноСкопированиСивосстановлСниС

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

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

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

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

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