Ð
á€áá±áá¬ááœáẠáá¯á¶áá°ááœá¬ážááŒááºážáá°áá
áºááẠá¡ááá¯ááºážááá¯ááºážááŒá
áºáááºá áá±á«ááºážá
ááºáá
áºáá¯á
á®ááœáẠá¡ááá¯ááºážáá
áºáᯠááá¯á·ááá¯áẠáá
áºáá¯áááºááá¯áá«áááºá ááá¹ááá
áºáá¯á
á®ááœáẠáá±á¬ááºááá¯ááºáá»á¬ážáá«ááŸááá±á¬ ááá¯á·ááá¯áẠáá±á¬ááºááá¯ááºáá»á¬ážáá«ááŸááááºá áá±á«ááºážá
ááºáá
áºáá¯ááᯠáááºáá®ážáá±á¬á¡áá«á áááºááẠá¡ááá¯ááºážááœá²á¡áá±á¡ááœááºááŸáá·áº áááºáá°ááŒá¯áá±á¬ááááºážááᯠáááºááŸááºáá±ážáááºá áá¯á¶ááŸááºáááºááá¯ážááẠ3 ááŒá
áºááŒá®ážá ááá¯ááá¯áááºááŸá¬ áá¯á¶áá°áá¯á¶ážáá»áá¯ážááŒá
áºáááº- áá±á«ááºážáá±á¬ááºáá
áºáŠážááŸáá·áº áá±á¬ááºááá¯ááºááŸá
áºáŠážá
ááááºážá 1. ááœá²á
á¬áž XNUMX áá¯ááŒá¬ážááœáẠááá¹ááá±ážáá¯ááᯠááŒáá·áºáá±áá¬ážáááºá
áá±ážááá»áŸ áá±ážááá¯ááºážááá»áŸ áá±á«ááºážáá±á¬ááºáᶠááœá¬ážáá«á áá±á¬ááºááá¯ááºáá»á¬ážááẠáá±á¬ááºáá¯á¶ážáááááºážáá»á¬ážááᯠáááºáá¶áááŸáááẠáá±á«ááºážáá±á¬ááºáᶠá¡áá»áááºá¡áá«á¡ááá¯áẠáá±á¬ááºážááá¯ááŸá¯áá»á¬áž áá±ážááá¯á·ááŒáááºá á á¬ážáá¯á¶ážáá°áá»á¬ážááẠáá±á¬ááºááá¯ááºáá»á¬ážáᶠáááºáá±á¬á·á០ááŸáá·áºáááŒáá·áºáá² áá±á¬ááºáá»áá»ááºáá±ááŒááºážááŸáá·áº á¡ááŸá¬ážááᯠáááºážáá¶ááŒááºážá¡ááœááºáᬠáááºááŸááá«áááºá
Partition áá»áá¯á·ááœááºážááŒááºážá
ááœá²á á¬ážáá áºáá¯áá»ááŸá¯á¶ážáá±á¬á¡áá«á ááá¹ááá»á¬ážá áœá¬ááá±á«ááºážáá±á¬ááºáá»á¬ážáááºáááŒá¬áááá»ááŸá¯á¶ážáááºá áááºážááá¯á·áá áºáá¯á á®ááœáẠá¡ááŒá¬áž node áá áºáá¯á០áá±á¬ááºááá¯ááºáá áºáŠážááẠáá±á«ááºážáá±á¬ááºááŒá áºáá¬áááºá á¡ááŸááºááŸá¬á áá°áá®áá±á¬á¡áá»ááºááẠáááºáá°ááŒá¯áá¬ážááŒááºážááŸááááŸáá áá±á¬ááºááá¯ááºáá»á¬ážááŸááááŸáá ááá¯ááºáá«áá synchronized ááá¯ááºáá¬ážáá±á¬ áá¯á¶á á¶áá°ááá¯á· ááŒá±á¬ááºážááŒááºážá¡á¬áž ááœáá·áºááŒá¯áá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááẠá¡ááŒá²áááºážááá¯ááºáá±á áá«áá±ááá·áº áá±á¬áá±á¬áááºáá±á¬á· ááá á¹á ááœá±ááᯠáááŸá¯ááºááœá±ážáá«á á±áá²á·á
ááœá²á á¬áž 3 ááẠááœááºáááºá០ááœááºááœá¬ááœá¬ážááŒá®áž ááœá²á á¬áž 2 ááœáẠá¡ááá¯ááºáž 2 á¡ááœáẠáá±á«ááºážáá±á¬ááºá¡áá áºááᯠááœá±ážáá»ááºáááºá
ááááºážá 2. ááœá²á
á¬áž 3 ááœááºááœááºááŒá®áž ááœá²á
á¬áž 2 á áá±á¬ááºááá¯áẠá¡ááá¯ááºáž 2 á áá±á«ááºážáá±á¬ááºá¡áá
áºá¡ááŒá
Ạááœá±ážáá»ááºáá¶ááááºá
ááá¯á·áá±á¬áẠááœá²á á¬áž 1 ááœáẠááŸáá·áº áá¯ááºá 1 áááºáááºáž ááœá²á á¬áž 2 ááá¯á· ááœáŸá²ááœá¬ážáá±á¬ áááºážá á¡áááºážááá¹áááẠáááºážá áá±á«ááºážáá±á¬áẠáá¯á¶ážááŸá¯á¶ážááœá¬ážáááºá
ááááºážá 3. ááœá²á
á¬ážáá
áºáá±á¬ááºáá²áá»ááºáá±á¬á·áááºá áá±á«ááºážáá±á¬ááºá¡á¬ážáá¯á¶ážááẠáá¯ááááºááŒááºážáááŸááá² ááœá²á
á¬ážáá
áºáá¯áááºážááœáẠááŸááá±áááºá
ááœá²á á¬áž 1 ááẠá¡áœááºááá¯ááºážááœáẠááŒááºáá¬áá±á¬á¡áá«á áááºážááẠá¡ááá¯ááºážáá áºáá¯á á®á¡ááœáẠá¡ááá¯áá±á¬ááºááá¯áẠáá±ážáŠážááᯠáá±ážáá±á¬ááºáááºá ááá¯á·áá±á¬áº áá±á«ááºážáá±á¬ááºá¡á¬ážáá¯á¶ážááẠááœá²á á¬áž á ááœáẠáá»ááºááŸááá±áá²ááŒá áºáááºá
ááááºážá 4. áá±á«ááºážáá±á¬ááºáá»á¬ážááẠááœá²á
á¬ážá¡áá±á«áºááœáẠááŸááá±ááẠ2
ááœá²á á¬áž 3 áááºáá¬áá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠá¡áááºážááá·áºáá áºáá¯áá»áŸáẠáá¯á¶áá°áá¯á¶ážáá»áá¯ážááá¯á· ááŒááºááœá¬ážáá«áááºá áá«áá±ááá·áº áá±á«ááºážáá±á¬ááºááœá±á¡á¬ážáá¯á¶ážá ááœá²á á¬áž á ááŸá¬ ááŸááá±áá¯ááºážáá²á
ááááºážá 5. ááœá²á
á¬áž 1 ááŸáá·áº 3 ááᯠááŒááºáááºáá°áá±á¬ááºááŒá®ážáá±á¬áẠáá±á«ááºážáá±á¬ááºáá»á¬ážá áááºáá»ááºááá®áá±á¬ áá±áá¬áá»áá¬ážááŒááºážá
Kafka ááœáẠRabbitMQ ááẠáá±á«ááºážáá±á¬ááºá¡á¬áž ááŒááºáááºáá»áááºááŸáááẠáááááá¬áá áºáá¯ááŸááááºá ááá¯áá±áá¬ááœááºá áááºááẠááœáŸá±á·ááŒá±á¬ááºážááŸá¯á¡ááœááºáž áááºáá±ááŸá¯ááᯠáá»áŸá±á¬á·áá»ááŒááºážááŒáá·áº master node ááᯠááœáŸá±á·ááŒá±á¬ááºážááŒááºážá¡ááœáẠáá°áá«ááá»á¬ážááᯠááŒá±á¬ááºážáá²ááá·áº ááŒááºáá¡ááœá²á·á¡á ááºáž ááááºá¡áẠááá¯á·ááá¯áẠscript ááᯠá¡áá¯á¶ážááŒá¯ááá«áááºá ááá¯á·á¡ááŒááºá ááŒá®ážáá¬ážáá±á¬ áááºážá á®ááŒááºážá¡ááœáẠáááºáá°ááŒá¯ááŒááºážááœáẠááááŸáááá¯ááºááŸá¯ááᯠáááºáá¶ááá«áááºá
Kafka ááẠáá±á«ááºážáá±á¬ááºáá¬áá°ážá¡ááœáẠ"ááŸá áºáááºáá±á¬áá¯á¶áá°áá»á¬áž" á á¡áá°á¡áááŸááááºá áá±á«ááºážá ááºááœá²ááŒááºážáá»á¬ážááᯠáááºáá®ážáá±á¬á¡áá« Kafka ááẠáá±á«ááºážáá±á¬ááºáá»á¬ážááᯠnode áá»á¬ážáá áºáá»áŸá±á¬áẠá¡áá®á¡áá»áŸááŒáá·áºáá±ááẠááŒáá¯ážáááºážááŒá®áž ááá¯ááááá±á«ááºážáá±á¬ááºáá»á¬ážááᯠáŠážá á¬ážáá±ážá¡ááŒá Ạá¡ááŸááºá¡áá¬ážááŒá¯áá«áááºá á¡áá»áááºááŒá¬áá¬áááºááŸáá·áºá¡áá»áŸá áá¬áá¬ááŒááºáááºá áááºááŒááºážá áá»áá¯á·ááœááºážááŒááºážááŸáá·áº áá»áááºáááºááŸá¯ááŒáá¯ááœá²ááŒááºážááá¯á·ááŒá±á¬áá·áº áá±á«ááºážáá±á¬ááºáá»á¬ážááẠá¡áááºááœááºáá±á¬áºááŒáá²á·ááá·áºá¡ááá¯ááºáž á¡ááŒá¬ážáá±á¬ node áá»á¬ážááœáẠá¡áá¯á¶ážáááºááœá¬ážááá¯ááºáá«áááºá
áááºážááá¯ááŒá±ááŸááºážááẠKafka áááºááœá±ážáá»ááºá áá¬ááŸá áºáá¯ááŸááááºá
- ááœá±ážáá»ááºá áᬠauto.leader.rebalance.enable=true controller node ááẠáá±á«ááºážáá±á¬ááºáá»á¬ážááᯠááŸá áºáááºáá±á¬ áá¯á¶á á¶áá°áá»á¬ážáᶠá¡ááá¯á¡áá»á±á¬áẠááŒááºáááºáááºááŸááºáá±ážááŒá®áž áá°áá®áá±á¬ááºážááŒáá·áºááŒá°ážááŸá¯ááᯠááŒááºáááºááá°ááœáá·áºááŒá¯áááºá
- á¡ááºááááºááẠscript ááᯠrun ááá¯ááºáááºá kafka-preferred-replica-election.sh áá°ááá¯ááºááá¯áẠááŒááºáááºáá¬áááºáá±ážá¡ááºááŒááºážá¡ááœááºá
ááááºážá 6. ááŒááºáááºáá»áááºááŸáááŒá®ážáá±á¬áẠáá¯á¶áá°áá»á¬áž
á€áááºááŸá¬ áá»ááŸá¯á¶ážááŒááºážá ááá¯ážááŸááºážáá±á¬áá¬ážááŸááºážáá áºáá¯ááŒá áºáá±á¬áºáááºáž á€áá±áá¬ááœáẠááŸá¯ááºááœá±ážááœááºážááá·áºá¡áá¬áááŸááá±á¬áºáááºáž áááºááœá±á·ááŸá¬ ááá¯áááŸá¯ááºááœá±ážáá«áááºá áááºážááẠáá áºááŒáá¯ááºáááºáž áá¯á¶á á¶áá°áá»á¬áž (In-Sync Replicasá ISR) ááŸáááºážáááºáá¬áááºá
áááºáá°ááŒá¯áá¬ážáá±á¬ áá¯á¶á á¶áá°áá»á¬áž (ISR)
ISR ááẠ"áá áºááŒáá¯ááºáááºážáá¯ááºááŒááºáž" (in-sync) áá¯áá°ááá¬ážáá±á¬ partition ááá¯á¶áá°á¡á á¯áá áºáá¯ááŒá áºáááºá áá±á«ááºážáá±á¬ááºááŸááá±á¬áºáááºáž áá±á¬ááºááá¯ááºáááŸááá±á ááŒá¬ážáá¬áááá¯ááºáá¯á¶ážáá® áá±á«ááºážáá±á¬ááºáá á¬á¡á¬ážáá¯á¶ážááᯠá¡ááá¡áá»áááá¹áá°áá°ážáá°áá«á áá±á¬ááºááá¯ááºáá áºáŠážááẠáááºáá°ááŒá¯áááºáᯠáá°áááẠáá¯á¶áá°.lag.time.max.ms.
á¡áááºá áá±á¬ááºááá¯ááºáá áºáŠážááᯠISR áááºááŸááºááŸá¯á០áááºááŸá¬ážáááº-
- ááŒá¬ážáá¬áá¡ááœáẠááœá±ážáá»ááºááẠáá±á¬ááºážááá¯ááŸá¯ áááŒá¯áá¯ááºáá²á·áá«á áá¯á¶áá°.lag.time.max.ms (áá±ááŒá®áááºáá«áá²á·)
- ááŒá¬ážáá¬áá¡ááœááºáž á¡ááºááááºáá¯ááºááẠáá á®áá¶áá²á·áá«á áá¯á¶áá°.lag.time.max.ms (ááŸá±ážáááºáᯠáá°ááááº)
áá±á¬ááºááá¯ááºáá»á¬ážááẠááŒá¬ážáá¬áááœáẠááá°áá¬áá±á¬ááºážááá¯ááŸá¯áá»á¬áž ááŒá¯áá¯ááºááŒáááºá áá¯á¶áá°.fetch.wait.max.ms500ms ááá¯á· áá¯á¶áá±áááºááŸááºáá¬ážáááºá
ISR ááááºááœááºáá»ááºááᯠááŸááºážáááºážá áœá¬ááŸááºážááŒáááºá áá¯ááºáá¯ááºáá°áá¶á០á¡áááºááŒá¯áá»ááºáá»á¬ážááŸáá·áº áá»áá¯á·ááœááºážáá»ááºá¡áá»áá¯á·ááᯠááŒáá·áºááŸá¯ááẠááá¯á¡ááºáá«áááºá ááœá²á á¬ážá០á¡áááºááŒá¯áá»ááºáá±ážááá¯á·ááá·áºá¡áá« áá¯ááºáá¯ááºáá°áá»á¬ážááẠááœá±ážáá»ááºááá¯ááºáááº-
- acks=0á á¡áááºááŒá¯áá»áẠáááá¯á·áá«á
- acks=1á áá±á«ááºážáá±á¬ááºááẠáááºážááá±ááá¶ááŸááºáááºážááá¯á· áááºáá±á·áá»áºáá áºá á±á¬ááºáá±ážááŒá®ážáá±á¬áẠá¡áááºááŒá¯áá»ááºáá±ážááá¯á·áááºá
- acks=allá ISR ááŸá áá¯á¶áá°á¡á¬ážáá¯á¶ážááẠáá±áááœááºáž ááŸááºáááºážáá»á¬ážááá¯á· áááºáá±á·áá»áºááᯠáá±ážáá¬ážááŒá®ážáá±á¬áẠá¡áááºááŒá¯áá»áẠáá±ážááá¯á·áááºá
Kafka áá±á«áá¬áááœáẠISR ááẠáááºáá±á·áá»áºáá áºáá¯ááᯠááááºážáááºážáá¬ážáá«á áááºážááẠ"áááááŒá¯áááº" ááŒá áºáááºá Acks=all ááẠá¡áá¯á¶ááŒá¯á¶áá¯á¶ážááœá±ážáá»ááºá áá¬ááŒá áºááŒá®ážá ááŸá±á¬áá·áºááŸá±ážááŸá¯ááá¯áááºáž áááºáá±á¬ááºážáá±ážáá«áááºá ááŸá¯á¶ážáááá·áºááŸá¯áááá°áá¬ááŸá áºáá¯ááŸáá·áº ááá°áá®áá±á¬ 'acks' ááœá±ážáá»ááºááŸá¯áá»á¬ážááẠISR á¡áá°á¡áááŸáá·áº áááºááá¯á· á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºáááºááᯠááŒáá·áºááŒáá«á áá¯á·á
Acks=1 ááŸáá·áº ISR
á€á¥ááá¬ááœááºá áá±á«ááºážáá±á¬ááºááẠáá±á¬ááºááá¯ááºá¡á¬ážáá¯á¶ážáá¶á០áááºáá±á·áá»áºááá¯ááºážááᯠááááºážáááºážááẠáá á±á¬áá·áºáá«á áá±á«ááºážáá±á¬ááºáá»ááºááœááºáá«á áá±áá¬áá¯á¶ážááŸá¯á¶ážááŸá¯ ááŒá áºááá¯ááºááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·ááœá±á·ááá«áááºá á áá·áºááºááá¯ááºááá±ážáá±á¬ áá±á¬ááºááá¯ááºáá áºáŠážáᶠáááºážááŒá±á¬ááºážááŒááŒááºážááᯠáááºáááºá¡á¬ážááŒáá·áº ááœáá·áºááá¯áẠááá¯á·ááá¯áẠááááºááá¯ááºáááºá unclean.leader.election.enable.
á€á¥ááá¬ááœááºá áá¯ááºáá¯ááºáá°ááœáẠáááºááá¯áž acks=1 ááŸááááºá á¡ááá¯ááºážááᯠááœá²á á¬áž áá¯á¶ážáŠážá áá¯á¶ážááœáẠááŒáá·áºáá±áá¬ážáááºá Broker 3 ááẠáá±á¬ááºááœááºááœááºááŸáááŒá®áž áááºážááẠááœááºáá²á·áá±á¬ 7456 á áá¹ááá·áºá áá±á«ááºážáá±á¬ááºááŸáá·áº áááºáá°áá»áá²á·ááŒá®áž ááá¯á¡áá« 1 áááºáá±á·áá»áºáá»á¬ážá áá±á¬ááºááœááºááœáẠááŸááá±áááºá ááœá²á á¬áž XNUMX ááẠáá áºá áá¹ááá·áºáᬠáá±á¬ááºáá»áá»ááºáá²á·áááºá áá»áœááºá¯ááºááá¯á·ááá¯ááºáá¯ááºáá°ááẠáááºáá±á·áá»áºááá¯á·ááŒá®áž áá±á«ááºážáá±á¬ááºááẠá á±á¬áá·áºááá±áá±á¬ááŸá±ážááŸá±áž ááá¯á·ááá¯áẠáá±ááœá¬ážáá±á¬áá±á¬ááºááá¯ááºáá»á¬ážááŠážáááºáá»ááºáááŸááá² á¡ááŒááºááŒááºáá¬áá«áááºá
ááááºážá áá¯á¶áá°áá¯á¶ážáá»áá¯ážáá«áá±á¬ ISR
ááœá²á á¬áž 2 ááẠáá»ááºááœááºááŒá®áž áá¯ááºáá¯ááºáá°ááẠáá»áááºáááºááŸá¯ á¡ááŸá¬ážá¡ááœááºážááᯠáááºáá¶áááŸááááºá ááœá²á á¬áž 1 ááá¯á· áá±á«ááºážáá±á¬ááºááŸá¯ ááŒááºáááºážááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á·áá»áº ááá á á±á¬áẠáá¯á¶ážááŸá¯á¶ážáá²á·áááºá ááœá²á á¬áž 123 ááœáẠáá±á¬ááºááá¯ááºááẠISR á á¡á áááºá¡ááá¯ááºážááŒá áºáá±á¬áºáááºáž ááŒá¯ááºáá»áá±á¬á¡áá« áá±á«ááºážáá±á¬ááºááŸáá·áº á¡ááŒáá·áºá¡á áááºáá°ááá»áá«á
ááááºážá 8. áá»ááºááœá¬ážáá±á¬á¡áá« áááºáá±á·áá»áºáá»á¬áž áá»á±á¬ááºáá¯á¶ážááœá¬ážáá«áááºá
ááœá²á·á ááºážááŸá¯ááœáẠbootstrap.servers áá»á¬áž áá¯ááºáá¯ááºáá°ááœáẠááœá²á á¬ážá¡áá»á¬ážá¡ááŒá¬ážááᯠá á¬áááºážááŒá¯á á¯áá¬ážááŒá®áž ááá¹ááá áºáá±á«ááºážáá±á¬ááºááŒá áºááá·áº á¡ááŒá¬ážááœá²á á¬ážááᯠáá±ážááŒááºážááá¯ááºáá«áááºá áááºážááẠááœá²á á¬áž 1 ááá¯á· áá»áááºáááºááŸá¯áá áºáá¯ááᯠáááºáá±á¬ááºááŒá®áž áááºáá±á·áá»áºáá»á¬áž áááºáááºáá±ážááá¯á·áááºá
ááááºážá 9. áááá¬ážááŒá®ážáá±á¬áẠá
á¬ááá¯áá±ážááá¯á·ááŒááºážááᯠááŒááºáááºá
áááºáááºá
ááœá²á á¬áž 3 ááẠááá¯áááẠáá±á¬ááºáá»áá±áá«áááºá áááºážááẠááá°ááẠáá±á¬ááºážááá¯ááŸá¯áá»á¬áž ááŒá¯áá¯ááºáá±á¬áºáááºáž á áá·áºááºáá¯ááºááááá«á ááœá²á á¬ážáá»á¬ážá¡ááŒá¬áž ááœááºáááºáá»áááºáááºááŸá¯ ááŸá±ážááœá±ážááŒááºážá ááá¯ááŸá±á¬ááºááŸá¯ááŒá¿áá¬á á áááºááá¯á·ááŒá±á¬áá·áº ááŒá áºááá¯ááºáááºá áááºážááᯠISR á០áááºááŸá¬ážáá¬ážáááºá ááᯠISR ááœáẠáá¯á¶áá°áá áºáá¯áá«áááºááẠ- áá±á«ááºážáá±á¬ááºá áá¯ááºáá¯ááºáá°ááẠáááºáá±á·áá»áºáá»á¬áž áááºáááºáá±ážááá¯á·ááŒá®áž á¡áááºááŒá¯áá»ááºááá°áááºá
ááááºážá 10. ááœá²á
á¬áž 3 ááœáẠFollower ááᯠISR á០áááºááŸá¬ážáááºá
ááœá²á á¬áž 1 áá»ááœá¬ážááŒá®áž áá±á«ááºážáá±á¬ááºááŸá¯á¡áááºážááá¹áááẠááœá²á á¬áž 3 ááá¯á· 15286 áááºáá±á·áá»áºáá»á¬áž áá¯á¶ážááŸá¯á¶ážááœá¬ážáá«áááºá áá¯ááºáá¯ááºáá°ááẠáá»áááºáááºááŸá¯ á¡ááŸá¬ážá¡ááœááºáž áááºáá±á·áá»áºááᯠáááºáá¶áááŸáááẠá ISR ááŒááºáá០áá±á«ááºážáá±á¬ááºáá áºáŠážááá¯á· áá°ážááŒá±á¬ááºážááŸá¯ááẠáááºááŸááºáá»ááºáá»á¬ážááŒá±á¬áá·áºáᬠááŒá áºááá¯ááºáááºá unclean.leader.election.enable=true. áááºáááºáá¬ážáááºá áááŸááºáá±á¬ááá¯á·ááá¯áá»áŸáẠá¡ááœááºáá°ážááŒá±á¬ááºážááŸá¯ áááŒá áºáá±á«áºáá² áááºááŸá¯áá±áž áá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážááᯠáááºáá»áááºááŒá áºáááºá á€ááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á«ááºážáá±á¬ááºááŸá¯ áááºáá¶áá¬áááºáá°ááá·áº áá¯á¶á á¶áá°ááŸá áá°á áááá¯áá±áá¬ááŸáá·áºá¡áá° ááœá²á á¬áž 1 ááŒááºáá¬ááẠá á±á¬áá·áºáá»áŸá±á¬áºáá±áá«áááºá
ááááºážá 11. ááœá²á
á¬áž 1 áá»áá±á¬ááºáááºá áá¡á±á¬ááºááŒááºáá±á¬á¡áá«ááœáẠáááºáá±á·áá»áºá¡áá»á¬ážá¡ááŒá¬áž áá¯á¶ážááŸá¯á¶ážááœá¬ážáááºá
áá¯ááºáá¯ááºáá°ááẠáá±á¬ááºáá¯á¶ážááœá²á á¬ážááŸáá·áº áá»áááºáááºááŸá¯áá áºáá¯ááᯠáá°áá±á¬ááºááŒá®áž ááá¯á¡áá« ááá¹áááá±á«ááºážáá±á¬ááºááŒá áºáá¬ááŒá±á¬ááºáž ááŒááºáááºá ááœá²á á¬áž 3 ááá¯á· áááºáá±á·áá»áºáá»á¬áž á áááºáá±ážááá¯á·áááºá
ááááºážá 12. áááá¬ážááŒá®ážáá±á¬ááºá á
á¬ááá¯áá»á¬ážááᯠá¡ááá¯ááºáž 0 ááá¯á· áááºáá¶áá±ážááá¯á·áááºá
áá»áááºáááºááŸá¯á¡áá áºáá»á¬áž áá°áá±á¬ááºáááºááŸáá·áº áá±á«ááºážáá±á¬ááºá¡áá áºááᯠááŸá¬ááœá±ááẠááá¯áá±á¬ááºážáá±á¬ á¡ááŸá±á¬áá·áºá¡ááŸááºáá»á¬ážá¡ááŒáẠáá¯ááºáá¯ááºáá°ááẠáááºáá±á·áá»áºáá»á¬áž á¡áááºáááŒáẠááá¯á·áá±áá«áááºá á€ááœá²á·á ááºážáá¯á¶ááẠáá®ááœááºááŸá¯ (áá±áá¬áá¯á¶ááŒá¯á¶áá±áž) áá¯ááºáá»á ááááºááŒáá·áº áááŸáááá¯ááºááŸá¯ááᯠáá±áá»á¬á á±áááºá Kafka ááẠáá±á¬ááºááŸáá·áºáá»á®áá±á¬ áááºáá±á·áá»áºáá»á¬áž áá¯á¶ážááŸá¯á¶ážáá²á·áá±á¬áºáááºáž á¡áá áºáá±ážáá¬ážááŸá¯áá»á¬ážááᯠáááºáááºáááºáá¶áá²á·áááºá
Acks=á¡á¬ážáá¯á¶ážááŸáá·áº ISR
áá®áá¬ááºáááºážááᯠááŒááºáá¯ááºááŒáá·áºáá¡á±á¬ááºá áá«áá±ááá·áº acks=á¡á¬ážáá¯á¶áž. Broker 3 ááœáẠáá»ááºážáá»áŸ latency áá±ážá áá¹ááá·áºááŸááááºá áá¯ááºáá¯ááºáá°ááŸáá·áºá¡áá° áááºáá±á·ááºá»ááá¯á·áááºá acks=á¡á¬ážáá¯á¶ážááᯠá¡ááŒááºáá¯á¶á·ááŒááºááŸá¯ ááááŸááá«á áá±á«ááºážáá±á¬ááºááẠISR ááŸá áá¯á¶áá°áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááºáááºááẠáááºáá±á·áá»áºááᯠá á±á¬áá·áºáá±áááºá
ááááºážá 13. áá¯á¶áá°áá¯á¶ážáá»áá¯ážáá«áá±á¬ ISRá áá
áºáá¯á ááŸá±ážááœá±ážááŒá®áž ááá¯ááºáá°ážááŸá¯ ááŸá±á¬áá·áºááŸá±ážááŸá¯ ááŒá
áºá
á±áááºá
áá±á¬ááºááẠáá±ážá áá¹ááá·áº ááŸá±á¬áá·áºááŸá±ážááŒá®ážáá±á¬ááºá ááœá²á á¬áž 2 ááẠacck áá áºáᯠáá±ážááá¯á·áááºá áá¯á¶áá°áá»á¬ážá¡á¬ážáá¯á¶ážááᯠááᯠá¡ááŒáá·áºá¡á ááœááºážáá¶áá¬ážáá«áááºá
ááááºážá 14. áá¯á¶áá°áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááºáá±á·áá»áºáá»á¬ážááááºážáááºážááŒá®áž ack áá±ážááá¯á·áá«á
ááᯠBroker 3 ááẠáá±á¬ááºááá¯á· áá»áááºážááœá¬ážááŒá®áž ISR á០áááºááŸá¬ážááá¯ááºáá«áááºá ISR ááœáẠááŸá±ážááœá±ážáá±á¬ áá¯á¶áá°áá»á¬áž ááá»ááºáá±á¬ááŒá±á¬áá·áº Latency ááᯠáááááá¬áᬠáá»áŸá±á¬á·áá»áááºá ááᯠááœá²á á¬áž 2 ááẠááœá²á á¬áž 1 á¡ááœááºáᬠá á±á¬áá·áºááá¯ááºážáá±ááŒá®áž áá°á·ááœáẠáá»ááºážáá»áŸ 500 ms áá±á¬ááºáá»áá±áá«áááºá
ááááºážá 15. ááœá²á
á¬áž 3 ááœáẠáá¯á¶áá°ááᯠISR á០áááºááŸá¬ážáááºá
ááá¯á·áá±á¬áẠááœá²á á¬áž 2 ááẠáááºáá±á·áá»áºáá»á¬áž áá¯á¶ážááŸá¯á¶ážááŒááºážáááŸááá² ááœá²á á¬áž 1 ááá¯á· áá±á«ááºážáá±á¬ááºááŸá¯ ááŒááºáááºážááœá¬ážáááºá
ááááºážá 16. ááœá²á
á¬áž 2 ááŒá¯ááº
áá¯ááºáá¯ááºáá°ááẠáá±á«ááºážáá±á¬ááºá¡áá áºááᯠááŸá¬ááœá±ááŒá®áž áá°á·áᶠáááºáá±á·áá»áºáá»á¬áž á áááºáá±ážááá¯á·áááºá ááᯠISR ááœáẠáá¯á¶áá°áá áºáá¯áá«áááºáá±á¬ááŒá±á¬áá·áº latency ááᯠáááºáá¶áá»áŸá±á¬á·áá»ááá¯ááºáá«áááºá ááá¯á·ááŒá±á¬áá·áº ááœá±ážáá»ááºááŸá¯ acks=á¡á¬ážáá¯á¶áž redundancy áááá·áºáá«áá°ážá
ááááºážá 17. ááœá²á
á¬áž 1 ááœáẠáá¯á¶áá°ááẠáááºáá±á·áá»áºáá»á¬áž ááá¯á¶ážááŸá¯á¶ážáá² áŠážáá±á¬ááºáááºá
ááá¯á·áá±á¬áẠááœá²á á¬áž 1 ááẠáá»ááºááœá¬ážááŒá®áž 3 áááºáá±á·áá»áºáá»á¬áž áá¯á¶ážááŸá¯á¶ážááœá¬ážáááŒáá·áº ááœá²á á¬áž 14238 ááá¯á· áŠážáááºááœá¬ážááẠá
ááááºážá 18. ááœá²á
á¬áž 1 ááẠáááá·áºááŸááºážáá±á¬ áááºáááºááŒáá·áº áá±á«ááºážáá±á¬ááºááŸá¯á¡áá°ážá¡ááŒá±á¬ááºážááœáẠáá±áá¯á¶ážááŒá®áž áá±áá¬áá»á¬ážá
áœá¬ áá¯á¶ážááŸá¯á¶ážááœá¬ážáá«áááºá
ááœá±ážáá»ááºááœáá·áºááᯠáá»áœááºá¯ááºááá¯á· ááá·áºááœááºážááááá«á unclean.leader.election.enable á¡áááá¹áá«ááºááá¯á· á á áºááŸááºáá²á·. áá¯á¶ááŸááºá¡á¬ážááŒáá·áº áááºážááẠáááºážáá°ááŒá áºáááºá áááŸááºáá±á¬. áááºáááºáá»á¬áž acks=á¡á¬ážáá¯á¶áž Ñ unclean.leader.election.enable=true á¡áá»áá¯á·áá±á¬ áá±áá¬áá¯á¶ááŒá¯á¶áá±ážááᯠááá·áºááœááºážá¡áá¯á¶ážááŒá¯ááá¯ááºááŸá¯á¡á¬áž áá¶á·ááá¯ážáá±ážáá«áááºá ááá¯á·áá±á¬áº áááºááŒááºááá·áºá¡ááá¯ááºáž áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á·áá»áºáá»á¬áž áá¯á¶ážááŸá¯á¶ážááá¯ááºáá«áá±ážáááºá
áá«áá±ááá·áº áá±áá¬áá¯á¶ááŒá¯á¶áá±ážááᯠááá¯ážááŒáŸáá·áºáá»ááºááẠáááºááá¯áá¯ááºááá²á áááºááá¯á·ááááºá unclean.leader.election.enable = ááŸá¬ážáá±á¬ááá¯á·áá±á¬áº áááºážááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áá±áá¬áá¯á¶ážááŸá¯á¶ážááŸá¯á០áá±áá»á¬áá±á«ááºáá¬ááœááºáá±ážáááá·áºáááºááá¯ááºáá«á áá±á«ááºážáá±á¬ááºá áááºáááºáá²áá² ááŒá¯ááºáá»ááŒá®áž áá±áá¬ááᯠáá°ááœá¬ážáá«á áááºáá±á·áá»áºáá»á¬áž áá»á±á¬ááºáá¯á¶ážáá±áá²ááŒá áºááŒá®áž á á®áá¶ááá·áºááœá²áá°á០á¡ááŒá±á¡áá±ááᯠááŒááºáááºááá°áá±á¬ááºááá»ááºáž áááŸáááá¯ááºááŸá¯ áá»á±á¬ááºáá¯á¶ážááœá¬ážáááºááŒá áºáááºá
áááºáá±á·áá»áºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááá¯á¡ááºáá±á¬á·ááŒá±á¬ááºáž áá±áá»á¬á á±áááºááŸáá·áº ááá¯ááºáá«á á¡áá¶ááœááºážááŸá¯ááᯠá áœáá·áºáá áºááẠááá¯áá±á¬ááºážáááºá ááá¯á·áá±á¬áẠá¡áááºážáá¯á¶áž ááœá²á á¬ážáá¡ááŒááºá¡áá ááŸá áºáᯠááá¯á·ááá¯áẠááá¯á·áááºááá¯áá±á¬ áááŒáá¯ááºáááºáááºáž áá»ááŸá¯á¶ážááŸá¯áá»á¬ážááœááºáᬠáá±áá¬áá¯á¶ážááŸá¯á¶ážááŸá¯ ááŒá áºááá¯ááºáááºá
Acks=allá min.insync.replicas ááŸáá·áº ISR
áá±á«ááºážá ááºááœá²á·á ááºážááŸá¯ááŸáá·áºá¡áá° min.insync.replicas áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬áá¯á¶ááŒá¯á¶áá±ážá¡ááá·áºááᯠááá¯ážááŒáŸáá·áºáá»ááºááŸááááºá á¡ááẠáá¬ááºáááºážáá²á· áá±á¬ááºáá¯á¶ážá¡ááá¯ááºážááᯠááŒááºááœá¬ážáá¡á±á¬ááºá áá«áá±ááá·áº áá®áá áºáá«áá±á¬á· ááœá²ááŒáá·áºáá¡á±á¬áẠmin.insync.replicas=á.
ááá¯á·ááŒá±á¬áá·áº ááœá²á á¬áž 2 ááœáẠáá¯á¶áá°áá±á«ááºážáá±á¬ááºááŸáááŒá®áž ááœá²á á¬áž 3 ááœáẠáá±á¬ááºááá¯ááºááᯠISR á០áááºááŸá¬ážáááºá
ááááºážá 19. áá¯á¶áá°ááŸá
áºáá¯á០ISR
ááœá²á á¬áž 2 ááẠáááºáá±á·áá»áºáá»á¬áž áá¯á¶ážááŸá¯á¶ážááŒááºážáááŸááá² ááœá²á á¬áž 1 ááá¯á· áá±á«ááºážáá±á¬ááºááŸá¯ ááŒááºáááºážááœá¬ážáááºá ááá¯áá° ISR ááœáẠáá¯á¶áá°áá áºáá¯áᬠáá«áááºáááºá áááºážááẠááŸááºáááºážáá»á¬ážáááºáá¶áááŸáááẠá¡áááá·áºáá¯á¶ážáá¶áá«ááºááŸáá·áº áááá¯ááºáá®áá±á¬ááŒá±á¬áá·áº ááœá²á á¬ážááẠá¡ááŸá¬ážáá áºáá¯ááŒáá·áº áá±ážááẠááŒáá¯ážáááºážááŸá¯ááᯠáá¯á¶á·ááŒááºáááºá NotEnoughReplicas.
ááááºážá 20. ISR á¡áá±á¡ááœááºááẠmin.insync.replicas ááœáẠáááºááŸááºáá¬ážáááºááẠáááºážáá«ážáááºá
á€ááœá²á·á ááºážáá¯á¶ááẠáá®ááœááºááŸá¯á¡ááœáẠáááŸáááá¯ááºááŸá¯ááᯠá áœáá·áºááœáŸááºáá±ážáááºá áááºáá±á·áá»áºááᯠá¡ááá¡ááŸááºááŒá¯ááŒááºážáááŒá¯áá®á áááºážááᯠá¡áááºážáá¯á¶áž áá¯á¶á á¶áá°ááŸá áºáá¯ááá¯á· áá±ážáá¬ážááŒá±á¬ááºáž áá±áá»á¬á á±áá«áááºá áá«á áá¯ááºáá¯ááºáá°ááᯠááá¯ááŒá®ážáá¯á¶ááŒááºááŸá¯ááŒá áºá á±áááºá á€ááœááºá áá¯á¶áá°ááŸá áºá á±á¬ááºááẠááá¯áá±á¬ááºážáá±á¬á¡áá»áááºá¡ááœááºáž áá áºááŒáá¯ááºáááºáááºáž áá»ááºááœááºááŸáᬠáááºáá±á·áá»áºááᯠáá±á¬ááºááá¯ááºáá áºáŠážáᶠáááºáá°ááœá¬ážá á±áá¬áá° ááŒá áºááá¯ááºáá»á±áááŸááá±á ááá¯á·áá±á¬áº áááºááẠá¡ááœááºá¡ááŒá±á¬ááºááœááºáá±áá«áá áááºááẠááœá¬ážááŒááºážá¡áá»ááºááᯠ5 ááŸáá·áº áááºááŸááºááá¯ááºáááºá min.insync.replicas 3. á€ááœááºááœá²á á¬ážáá¯á¶ážáŠážáááºá á¶áá»áááºááá¯áá¯á¶ážááŸá¯á¶ážáááºáá áºáá»áááºáááºážááœááºáá»áá¯á¶ážááááºááŒá áºáááºá áááºáá±á¬ááºáž latency ááœáẠáááºááẠá€áá¯á¶ááŒááºá áááºáá»áááŸá¯á¡ááœáẠáá±ážáá±á¬ááºáá«áááºá
áá±áá¬áá¯á¶ááŒá¯á¶áá±ážá¡ááœáẠáá¯á¶ážá áœá²ááá¯ááºááŸá¯ ááá¯á¡ááºááá·áºá¡áá«
áá¬ááááŸáááá²á·ááá¯á·
- áá¯ááºáá±áá°ááẠá¡ááŸá¬ážáá áºáá¯ááᯠááá¯ážááá¯ážááŒááºááŒááŒá®áž á¡áááºá á®ážááŒá±á¬ááºážáááºáá±á¬ááºááŸá¯ááᯠáááá¯ááºáá«ááá¬áž ááá¯á·ááá¯áẠá¡áá¯á¶ážááŒá¯áá°ááᯠáá±á¬ááºá០áááºá ááºážááŒáá·áºááá¯ááºáá«ááá¬ážá
- áá¯ááºáá±áá°ááẠáááºáá±á·áá»áºááᯠá ááºááœááºáž ááá¯á·ááá¯áẠáá±á¬ááºá០áááºá ááºážááŒáá·áºááẠáá±áá¬áá±á·á áºááœáẠááááºážáááºážááá¯ááºáá«ááá¬ážá
á¡ááŒá±ááá¯ááºáá«áá áááŸáááá¯ááºááŸá¯ááᯠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážá áá±áá¬áá¯á¶ááŒá¯á¶áá±ážááᯠááá¯ážáááºá á±áááºá ááŸááºáááºážáááºááŒááºážáááŒá¯áá² áááŸáááá¯ááºááŸá¯ááᯠááœá±ážáá»ááºáá«á áá±áá¬áá»á±á¬á·áááºážááœá¬ážáá«áááºá ááá¯á·ááŒá±á¬áá·áº á¡á¬ážáá¯á¶ážááẠáá»áŸáááŸá¯ááᯠááŸá¬ááœá±ááẠáááºážáááºáá¬ááŒá®áž áá¯á¶ážááŒááºáá»ááºááẠáá®ážááŒá¬ážá¡ááŒá±á¡áá±áá±á«áºááœáẠáá°áááºáá«áááºá
ISR áá¡áááá¹áá«ááº
ISR suite ááẠááá·áºá¡á¬áž data security ááŸáá·áº latency á¡ááŒá¬áž á¡áá±á¬ááºážáá¯á¶ážáá»áááºááœááºáá»áŸá¬ááᯠááœá±ážáá»ááºááá¯ááºá á±áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá¯á¶áá°á¡áá»á¬ážá á¯á áá»ááºááœááºááŸá¯ááŒá áºá ááºááœáẠáááŸáááá¯ááºááŸá¯á¡á¬áž áá±áá»á¬á á±áááºá latency á¡á áá±áá±áá±á¬ ááá¯á·ááá¯áẠááŸá±ážááœá±ážáá±á¬áá¯á¶áá°áá»á¬ážá á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááᯠáá»áŸá±á¬á·áá»áá«á
á¡áááá¹áá«ááºááᯠáá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯áẠááœá±ážáá»ááºáá«á áá¯á¶áá°.lag.time.max.ms ááá·áºááá¯á¡ááºáá»ááºá¡á á¡ááŒá±áá¶á¡á¬ážááŒáá·áºá á€ááá·áºáááºáá»ááºááẠáááºáá»áŸááŒáá·áºááŒá¬áá±áááºááᯠáá»áœááºá¯ááºááá¯á·áááºáá¶ááá¯ááŒá±á¬ááºáž ááá¯ááá¯áá«áááºá acks=á¡á¬ážáá¯á¶áž. áá°áááºážáááºááá¯ážááẠáááºá áá¹ááá·áºááŒá áºáááºá áá«á ááá·áºá¡ááœáẠá¡áááºážááŸááºáá±áááºááá¯ááẠáá»áŸá±á¬á·áá»ááá¯ááºáá«áááºá áá±á¬ááºááá¯ááºáá»á¬ážááᯠáááºááŸá¬ážááŒá®áž áááŒá¬áá áááºáá¶ááá·áºááœááºážáááºááŒá áºáá±á¬ááŒá±á¬áá·áº ISR ááœáẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá á¡ááŒáááºáá± ááá¯ážáá¬áá«áááºá
RabbitMQ ááẠáá¯á¶áá°áá°ážááẠááá¯á¡ááºáá±á¬ ááŸááºáá»ááºáá áºáá¯ááŒá áºáááºá Slow mirrors áá»á¬ážááẠáááºáá±á¬ááºáž latency ááᯠááááºáááºáá±ážááŒá®áž dead mirror áá»á¬ážááẠnode áá áºáá¯á á®á áááŸáááŸá¯ááᯠá á áºáá±ážááá·áº packet áá»á¬áž (net tick) ááᯠáá¯á¶á·ááŒááºááá·áºá¡áá»áááºá¡áá á á±á¬áá·áºááá¯ááºáááºá ISR ááẠá¡ááá¯áá« latency ááŒá¿áá¬áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážááẠá áááºáááºá á¬ážááœááºáááºážáááºážáá áºáá¯ááŒá áºáááºá ááá¯á·áá±á¬áº ISR ááẠáá±á«ááºážáá±á¬ááºáá¶ááá¯á·áᬠáá»á¯á¶á·ááá¯ááºáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á¬ááºážáá¯á¶ážááŸá¯á¶ážááá¯ááºáá»á±ááŸááááºá á€á¡áá¹ááá¬ááºááá¯ááŸá±á¬ááºááŸá¬ážáááºá áááºáááºááá¯á¡áá¯á¶ážááŒá¯áá«á min.insync.replicas.
áá±á¬ááºáááºáá»áááºáááºááŸá¯á¡á¬ááá¶
setting ááœáẠbootstrap.servers áá»á¬áž áá¯ááºáá¯ááºáá°ááŸáá·áº á á¬ážáá¯á¶ážáá°áá»á¬ážááẠáá±á¬ááºáááºáá»á¬ážááᯠáá»áááºáááºáááºá¡ááœáẠááœá²á á¬ážáá»á¬ážá áœá¬ááᯠáááºááŸááºááá¯ááºáááºá á¡áá¯ááºáá®áá¬ááŸá¬ node áá áºáᯠáá»ááœá¬ážáá±á¬á¡áá«á client áá áºáá¯á¡á¬áž ááœáá·áºááá¯ááºááá·áº áááºá áºáá»á¬ážá áœá¬ áá»ááºááŸááá±ááẠá áááºážááá¯á·ááẠá¡ááá¯ááºážáá±á«ááºážáá±á¬ááºáá»á¬ážááá¯ááºáá±á¬áºáááºáž áááŠážá áááºááŒááºážá¡ááœáẠá áá®áá¬áá áºáá¯ááŒá áºáááºá áááá¯ááºážááá·áºááẠáááºááá·áº áá¯ááºááᯠáááºáá¶áááºááŒá áºá á± áááºážááá¯á·á¡á¬áž áááºááŸá¯/áá±ážáá¬ážáá±á¬ á¡áááºážááá·áºáá±á«ááºážáá±á¬ááºá¡á¬áž áá±ážááŒááºážááá¯ááºáááºá
RabbitMQ ááœááºá áá±á¬ááºáááºáá»á¬ážááẠáááºááá·áº node ááŸáá·áºáááᯠáá»áááºáááºááá¯ááºááŒá®áž á¡ááœááºážááá¯ááºážáááºážááŒá±á¬ááºážá áááºážááá¯ááœá¬ážáááºááá¯á¡ááºááá·áºáá±áá¬ááá¯á· áá±á¬ááºážááá¯áá»ááºááᯠáá±ážááá¯á·áááºá ááá¯ááá¯áááºááŸá¬ áááºááẠRabbitMQ ááŸá±á·ááœáẠload balancer ááᯠáááºáááºááá¯ááºáááºá Kafka ááẠáááºááá¯ááºáᬠpartition áá±á«ááºážáá±á¬ááºááᯠáááºáá¶áá±á¬ááºááœááºáá±ážááá·áº node ááá¯á· áá»áááºáááºááẠáá¯á¶ážá áœá²áá°áá»á¬ážááᯠááá¯á¡ááºáááºá ááá¯ááá¯á·áá±á¬á¡ááŒá±á¡áá±ááœááºá áááºááẠload balancer ááá¯ááááºáááºááá¯ááºáá«á á á¬áááºáž bootstrap.servers áá»á¬áž áá±á¬ááºáááºáá»á¬ážááẠáá»ááºááœááºááŒá®ážáá±á¬áẠááŸááºáááºáá±á¬ node áá»á¬ážááᯠáááºáá±á¬ááºááŸá¬ááœá±ááá¯ááºá á±ááẠá¡áá±ážááŒá®ážáá«áááºá
Kafka Consensus áááá¯áá¬
ááœá²á á¬ážáá»áá¯á¶ážááŒááºážááŸáá·áº áá±á«ááºážáá±á¬ááºá¡áá áºááᯠáááºáá²á·ááá¯á· ááœá±ážáá±á¬ááºáááºááŒáŸá±á¬ááºáá¶áááŒááºážá¡ááŒá±á¬ááºáž á¡á á¯á¡ááœá²á·ááẠááá¯á¡áá»áááºá¡áá áá»áœááºá¯ááºááá¯á· áá ááºážá á¬ážááá±ážáá«á Kafka ááẠnetwork partitions áá»á¬ážááŸáá·áºáááºááá¯á·á¡áá¯ááºáá¯ááºáááºááá¯áá¬ážáááºáááºá ááááŠážá áœá¬ consensus architecture ááá¯áá¬ážáááºáááºááá¯á¡ááºáááºá
Kafka á¡á á¯á¡áá±ážáá áºáá¯á á®ááᯠZookeeper á¡á á¯á¡áá±ážáá áºáá¯ááŸáá·áºá¡áá° á¡áá¯á¶ážááŒá¯áá¬ážááŒá®ážá áá±ážáá¬ážááá·áºááŒááºáááºá¡áá»áá¯á·á¡áá±á«áº ááá±á¬áá°áá®ááŸá¯áááŸáááẠá áá áºá¡á¬áž ááœáá·áºááŒá¯áá±ážááá·áº ááŒáá·áºáá±áá¬ážáá±á¬ ááá±á¬áá°áá®ááŸá¯áááºáá±á¬ááºááŸá¯ááŒá áºááá·áº Zookeeper á¡á á¯á¡áá±ážááᯠá¡áá¯á¶ážáá»áá¬ážáááºá áááºááŸá¯ááŒááºážááŸáá·áº áá±ážáá¬ážááŒááºážááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá¡áááºááŒá¯ááẠZookeeper node á¡áá»á¬ážá á¯á ááá±á¬áá°áá®áá»áẠááá¯á¡ááºáá«áááºá
Zookeeper ááẠá¡á á¯á¡ááœá²á·áá¡ááŒá±á¡áá±ááᯠááááºážáááºážáááº-
- á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážá á¬áááºážá ááá¹ááá»á¬ážá ááœá²á·á ááºážááŸá¯áá¯á¶á á¶á áááºááŸááá±á«ááºážáá±á¬ááºáá¯á¶áá°áá»á¬ážá áŠážá á¬ážáá±ážáá¯á¶áá°áá»á¬ážá
- á¡á á¯á¡ááœá²á·áááºáá»á¬ážá ááœá²á á¬ážááá¯ááºážááẠZookeeper á¡á á¯á¡áá±ážááᯠping ááŒáááºá áááºááŸááºáá¬ážááá·áºá¡áá»áááºáá áºáá¯á¡ááœááºáž ping áá áºáá¯ááᯠááááŸááá«á Zookeeper ááẠááœá²á á¬ážááᯠááááŸáááá¯ááºááŒá±á¬ááºáž ááŸááºáááºážáááºáááºá
- ááááºážáá»á¯ááºáááááá¬á¡ááœáẠáááºáááŸáá·áº áááºááŸááºáá»á¬ážááᯠááœá±ážáá»ááºááŒááºážá
controller node ááẠáá¯á¶á á¶áá°áá±á«ááºážáá±á¬ááºáá»á¬ážááᯠááœá±ážáá»ááºááẠáá¬áááºááŸááá±á¬ Kafka ááœá²á á¬ážáá»á¬ážáá²á០áá áºáá¯ááŒá áºáááºá Zookeeper ááẠá¡á á¯á¡ááœá²á·á¡ááœá²á·áááºááŒá áºááŒááºážááŸáá·áº áá±á«ááºážá ááºááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž á¡ááŒá±á¬ááºážááŒá¬ážáá»ááºáá»á¬ážááᯠááááºážáá»á¯ááºáá°áᶠáá±ážááá¯á·ááŒá®áž ááááºážáá»á¯ááºáá°ááẠá¡ááá¯áá«ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºááááºááŒá áºáááºá
á¥ááá¬á¡á¬ážááŒáá·áºá á¡ááá¯ááºážáááºááá¯ááºážááŸáá·áº ááœá¬ážááŒááºážá¡áá»áẠá áá«ááŸááá±á¬ á¡ááŒá±á¬ááºážá¡áá¬á¡áá áºáá áºáá¯ááᯠááŒáá·áºááŒáá«á áá¯á·á ááááºážáá»á¯ááºáá°ááẠááœá²á á¬ážáá»á¬ážááŒá¬ážááœáẠáá±á«ááºážáá±á¬ááºáá»á¬ážááᯠá¡áá±á¬ááºážáá¯á¶ážááŒáá·áºáá±ááá¯ááºááẠá¡ááá¯ááºážáá áºáá¯á á®á¡ááœáẠáá±á«ááºážáá±á¬ááºáá áºáŠážááᯠááœá±ážáá»ááºááááºááŒá áºáááºá
ááá¹ááá áºáá¯á á®á¡ááœáẠááááºážáá»á¯ááºáá°-
- ISR ááŸáá·áº áá±á«ááºážáá±á¬ááºá¡ááŒá±á¬ááºáž Zookeeper ááœáẠá¡áá»ááºá¡áááºáá»á¬ážááᯠá¡ááºááááºáá¯ááºááŒááºážá
- LeaderAndISRCommand ááẠဠpartition ááá¯á¶áá°ááá¯áááºáá¶áá»ááºážáááá·áºááœá²á á¬ážáá áºáá¯á á®áá¶ááá¯á· ISR ááŸáá·áºáá±á«ááºážáá±á¬ááºá¡ááŒá±á¬ááºážááœá²á á¬ážáá»á¬ážááá¯á¡ááŒá±á¬ááºážááŒá¬ážáááºá
áá±á«ááºážáá±á¬ááºáá áºáŠážááŸáá·áº ááœá²á á¬ážáá áºáŠáž ááŒá¯ááºáá»ááá·áºá¡áá« Zookeeper ááẠááááºážáá»á¯ááºáá°áᶠá¡ááŒá±á¬ááºážááŒá¬ážá á¬áá±ážááá¯á·ááŒá®áž áá±á«ááºážáá±á¬ááºá¡áá áºááᯠááœá±ážáá»ááºáááºá ááááºá ááááºážáá»á¯ááºáá°ááẠZookeeper ááᯠáŠážá áœá¬ á¡ááºááááºáá¯ááºááŒá®ážáá±á¬áẠáá±á«ááºážáá±á¬ááºááŸá¯á¡ááŒá±á¬ááºážá¡áá²ááᯠá¡áááá±ážááá·áº ááœá²á á¬ážáá áºáŠážá á®áᶠá¡áááá·áºáá áºáᯠáá±ážááá¯á·áááºá
áá±á«ááºážáá±á¬ááºááá¯ááºážááẠISR áá»á¬ážááᯠá á¯áá±á¬ááºážááẠáá¬áááºááŸááááºá áááºáááºáá»á¬áž áá¯á¶áá°.lag.time.max.ms á¡á²áá®ááᯠáááºáá°áááºáááºááá¯áᬠáá¯á¶ážááŒááºáááºá ISR ááŒá±á¬ááºážáá²áá±á¬á¡áá« áá±á«ááºážáá±á¬ááºááẠááááºážá¡áá»ááºá¡áááºá¡áá áºáá»á¬ážááᯠZookeeper ááá¯á· áá±ážááá¯á·áááºá
áá»áá¯á·ááœááºážáá»ááºáá áºáá¯ááœááºá á á®áá¶ááá·áºááœá²ááŸá¯ááẠáá±á«ááºážáá±á¬ááºá¡áá áºáá¶ááá¯á· áá»á±á¬ááœá±á·á áœá¬ áá°ážááŒá±á¬ááºážááœá¬ážááá¯ááºááẠá¡ááŒá±á¬ááºážá¡áá²áá áºáá¯áá¯ááᯠZookeeper áᶠá¡ááŒá²á¡ááŒá±á¬ááºážááŒá¬ážáá«áááºá
ááááºážá 21. Kafka ááá±á¬áá°áá®áá»ááº
áá¯á¶áá°áááá¯ááá¯áá±á¬
áá¯á¶áá°ááœá¬ážááŒááºážáá¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáá¬ážáááºááŒááºážááẠááá·áºá¡á¬áž ááŒá áºááá¯ááºáá»á±ááŸááá±á¬ áá±áá¬áá¯á¶ážááŸá¯á¶ážááŸá¯á¡ááŒá±á¡áá±áá»á¬ážááᯠááá¯ááá¯áá¬ážáááºááẠáá°áá®áá±ážáá«áááºá
ááá°áá¬áá±ážááœááºážáá»á¬ážá ááŸááºáááºážááááºááŒááºáž (LEO) ááŸáá·áº Highwater Mark (HW)
áá±á¬ááºááá¯ááºáá»á¬ážááẠáá±á«ááºážáá±á¬ááºáá¶ááá¯á· á¡áá»áá°ážááŒá¯áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ áá±ážááá¯á·áááºáᯠáá»áœááºá¯ááºááá¯á· áá°ááá«áááºá áá°áááºážááŒá¬ážáá¬áááẠ500ms ááŒá áºáááºá áááºážááẠRabbitMQ ááŸáá·áº ááá°áááºááŸá¬ RabbitMQ ááœáẠáááºážá á®ááŒá±ážáá¯á¶á០á¡á ááŒá¯ááŒááºážááá¯ááºáá² áá¬á áá¬á០á áááºááŒááºážááŒá áºáááºá ááááºááẠááŸááºáá»á¬ážááᯠááŒá±á¬ááºážáá²ááẠááœááºážááá¯á·áááºá
áá±á«ááºážáá±á¬ááºááŸáá·áº áá±á¬ááºááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááẠLog End Offset (LEO) ááŸáá·áº Highwater (HW) áá¶ááááºááᯠááááºážáááºážáááºá LEO á¡ááŸááºá¡áá¬ážááẠáá±áááœááºážáá¯á¶á á¶áá°ááœáẠáá±á¬ááºáá¯á¶ážáááºáá±á·áá»áºá offset ááᯠááááºážáááºážáá¬ážááŒá®áž HW ááẠáá±á¬ááºáá¯á¶ážáá¯ááºáá±á¬ááºááŸá¯á offset ááᯠááá¯ááºáá±á¬ááºáá¬ážáááºá ááœááºááá·áºá¡ááŒá±á¡áá±á¡ááœááºá ISR áá¯á¶áá°áá»á¬ážá¡á¬ážáá¯á¶ážááœáẠáááºáá±á·áá»áºááᯠáááºáááºáá¬ážááŸáááááºááŒá áºááŒá±á¬ááºáž áááááá«á ááá¯ááá¯áááºááŸá¬ LEO ááẠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº HW ááẠá¡áááºážáááºáá¬ááœááºáááºá
áá±á«ááºážáá±á¬ááºá áááºáá±á·áá»áºááᯠáááºáá¶áááŸáááá·áºá¡áá« áááºážááᯠááŒááºááœááºážááœáẠááááºážáááºážáááºá áá±á¬ááºááá¯ááºááẠáááºážá LEO ááá¯áá±ážááá¯á·ááŒááºážááŒáá·áº á¡áá»áá°ážááŒá¯áá±á¬ááºážááá¯ááŸá¯áá áºáᯠááŒá¯áá¯ááºáááºá ááá¯á·áá±á¬áẠáá±á«ááºážáá±á¬ááºááẠဠLEO á០á áááºááá·áº áááºáá±á·ááºá»áá áºáá¯áẠáá±ážááá¯á·ááŒá®áž áááºááŸá HW ááᯠáá±ážááá¯á·áááºá áá¯á¶áá°á¡á¬ážáá¯á¶ážááẠáá±ážáá¬ážáá±á¬ offset ááœáẠááááºážáááºážáá¬ážáá±á¬ ááááºážá¡áá»ááºá¡áááºááᯠáá±á«ááºážáá±á¬ááºá áááºáá¶áááŸááá±á¬á¡áá«á áááºážááẠHW á¡ááŸááºá¡áá¬ážááᯠááœáŸá±á·áááºá áá±á«ááºážáá±á¬ááºááŸáá¬áá»áŸáẠHW ááá¯ááœáŸá±á·ááá¯ááºááŒá®ážá ááá¯á·ááŒá±á¬áá·áº áá±á¬ááºááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááẠáááºážááá¯á·ááá±á¬ááºážááá¯ááŸá¯á¡áá±á«áº áá¯á¶á·ááŒááºááŸá¯áá»á¬ážááœáẠáááºááŸááááºááá¯ážááᯠááááá¯ááºáááºááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ áá±á¬ááºááá¯ááºáá»á¬ážááẠááááºážá áá¬ážááŸáá·áº HW á¡ááááá¬ááŸá áºáá¯á áá¯á¶ážááœáẠáá±á«ááºážáá±á¬ááºáá±á¬ááºááá¯á· áá±á¬ááºáá»áá»ááºáá±ááá¯ááºáááºáᯠááá¯ááá¯áááºá á á¬ážáá¯á¶ážáá°áá»á¬ážááẠáááºááŸá HW á¡áááᬠáááºáá±á·áá»áºáá»á¬ážááᯠáááºáá¶áááŸáááŒáááºá
"persisted" ááá¯áááºááŸá¬ disk ááá¯á·ááá¯ááºáá² memory ááœááºáá±ážáá¬ážáááºááá¯áááááŒá¯áá«á á áœááºážáá±á¬ááºáááºá¡ááœááºá Kafka ááẠáá®ážááŒá¬ážá¡áá»áááºáá¬ááá áºáá¯ááœáẠáá áºááºááá¯á· áááºáá°ááŒá¯áá«áááºá RabbitMQ ááœááºááá¯áá²á·ááá¯á·áá±á¬ááŒá¬ážáá¬ááááºážááŸááááºá ááá¯á·áá±á¬áºáá¬á áá¬ááŸáá·áºááŒá±ážáá¯á¶áá»á¬ážá¡á¬ážáá¯á¶ážááẠdisk ááá¯á·áááºáá±á·ááºá»ááá¯áá±ážááŒá®ážááŸáá¬áá¯ááºáá±áá°áá¶á¡ááá¡ááŸááºááŒá¯áá»ááºáá áºáá¯áá±ážááá¯á·áááá·áºáááºá Kafka developer áá»á¬ážááẠá áœááºážáá±á¬ááºáááºá¡ááŒá±á¬ááºážááŒá±á¬áá·áº áááºáá±á·áá»áºááᯠmemory ááá¯á·áá±ážááŒá®ážáááºááŸáá·áº ack áá áºáá¯áá±ážááá¯á·ááẠáá¯á¶ážááŒááºáá²á·áááºá áá¬á·ááºáᬠá¡áá±á¬ááºážá¡á á¬ážááẠá¡ááŒáááºáá±áá»á¬ážááŒááºážááẠá¡ááá¡ááŸááºááŒá¯áá¬ážáá±á¬ áááºáá±á·áá»áºáá»á¬ážááᯠááŸááºáá¬ááºááœááºáᬠáá±áá¹áááááºážáááºážááŒááºážá á¡áá¹ááá¬ááºááᯠáá±áááá«áááºá
áá±á«ááºážáá±á¬ááºáá»ááŸá¯á¶ážááŒááºážá
áá±á«ááºážáá±á¬ááºááŒá¯ááºáá»ááá·áºá¡áá« Zookeeper ááẠááááºážáá»á¯ááºáááááá¬ááᯠá¡ááŒá±á¬ááºážááŒá¬ážááŒá®áž áá±á«ááºážáá±á¬ááºáá¯á¶á á¶áá°ááᯠááœá±ážáá»ááºáááºá áá±á«ááºážáá±á¬ááºá¡áá áºááẠáááºážá LEO á¡á HW á¡ááŸááºá¡áá¬ážá¡áá áºááᯠáááºááŸááºáááºá áá±á¬ááºááá¯ááºáá»á¬ážááẠáá±á«ááºážáá±á¬ááºá¡áá áºááŸáá·áºáááºáááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠáááºáá¶áááŸáááŒáááºá Kafka áá¬ážááŸááºážáá±á«áºáá°áááºá áá±á¬ááºááá¯ááºá áá¬ááºáááºážááŸá áºáá¯áá²á០áá áºáá¯ááᯠááœá±ážáá»ááºáá«áááº-
- áááºážááẠáá±áááœááºážááŸááºáááºážááᯠáá°áááá»á¬ážáá±á¬ HW ááá¯á· ááŒááºáá±á¬ááºáááºááŒá áºááŒá®áž á€á¡ááŸááºá¡áá¬ážááŒá®ážáá±á¬áẠáááºáá±á·áá»áºáá»á¬ážá¡ááœáẠáá±á«ááºážáá±á¬ááºá¡áá áºáᶠáá±á¬ááºážááá¯áá»ááºáá áºáᯠáá±ážááá¯á·áááºááŒá áºáááºá
- áá±á«ááºážáá±á¬ááºá¡ááŒá Ạááœá±ážáá»ááºáááºááŒáŸá±á¬ááºáá¶ááá»áááºááœáẠHW ááᯠááááŸáááẠáá±á«ááºážáá±á¬ááºáᶠáá±á¬ááºážááá¯áá»ááºáá áºáᯠáá±ážááá¯á·áááºááŒá áºááŒá®ážá ááá¯á·áá±á¬áẠááŸááºáááºážááᯠá€á¡á±á¬á·ááºáááºá¡ááŒá ẠááŒááºáá±á¬ááºáááºááŒá áºáááºá ááá¯á·áá±á¬áẠáááºážááẠá€á¡á±á¬á·ááºáááºááŸá áááºá á¡áá»áááºá¡áá«á¡ááá¯áẠáá¯ááºáá°ááŸá¯áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá áááºááŒá¯áá¯ááºáááºááŒá áºáááºá
áá±á¬ááºááá¯ááºáá áºáŠážááẠá¡á±á¬ááºáá«á¡ááŒá±á¬ááºážáá»á¬ážááŒá±á¬áá·áº ááŸááºáááºážááᯠááŒááºáá±á¬ááºááẠááá¯á¡ááºááá¯ááºáááº-
- áá±á«ááºážáá±á¬ááºáá áºáŠáž áá»ááŸá¯á¶ážáá±á¬á¡áá«á Zookeeper ááœáẠá á¬áááºážááœááºážáá¬ážáá±á¬ ISR áááºááŸááºááŸá¯ááœáẠááááá¯á¶ážáá±á¬ááºááá¯ááºááẠááœá±ážáá±á¬ááºááœá²ááœáẠá¡ááá¯ááºáááŒá®áž áá±á«ááºážáá±á¬ááºááŒá áºáá¬áááºá ISR ááŸá áá±á¬ááºááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááẠ"áááºáá°áá»áááº" áá¯áá°ááá±á¬áºáááºážá áá±á«ááºážáá±á¬ááºáá±á¬ááºážáá¶á០áááºáá±á·áá»áºá¡á¬ážáá¯á¶ážá áááá¹áá°áá»á¬ážááᯠáááºáá¶áááŸááááºááá¯ááºáá«á á¡áá°ážáá±á¬áºááŒáá¬ážáá±á¬áá±á¬ááºááá¯ááºááœáẠáá±á¬ááºáá¯á¶ážáá±á«áºáááá¹áá°áááŸáááŒááºážááŸá¬ áá¯á¶ážáááŒá áºááá¯ááºáááºá áá¯á¶áá°áá»á¬ážááŒá¬ážááœáẠááœá²ááŒá¬ážááŸá¯áááŸáá á±ááẠKafka á á¡á¬ááá¶áá«áááºá ááá¯á·ááŒá±á¬áá·áº ááœá²ááœá²ááŸá¯áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážáááºá áá±á¬ááºááá¯ááºáá áºáŠážá á®ááẠáááºážá ááœá±ážáá±á¬ááºááœá²áá»ááºážááá»áááºááœáẠáá±á«ááºážáá±á¬ááºá¡áá áºá HW áááºááá¯ážááá¯á· áááºážáááŸááºáááºážááᯠááŒááºáá±á¬ááºááááºááŒá áºáááºá á€áááºááŸá¬ áááºááŸááºáááŒááºážá á¡ááŒá¬ážá¡ááŒá±á¬ááºážáááºážááŒá áºáááºá acks=á¡á¬ážáá¯á¶áž áá®ááœááºááŸá¯á¡ááœáẠá¡ááœááºá¡áá±ážááŒá®ážáá«áááºá
- áááºáá±á·áá»áºáá»á¬ážááᯠáá áºááºááá¯á· á¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ áá±ážáá¬ážáá«áááºá á¡áááºá á¡á á¯á¡áá±ážáá»á¬ážá¡á¬ážáá¯á¶ážááẠáá áºáá»áááºáááºážááœáẠáá»ááºááœááºáá«áá ááá°áá®áá±á¬ á¡á±á¬á·ááºáááºáá»á¬ážááŒáá·áº áá¯á¶áá°áá»á¬ážááᯠáá áºááºáá»á¬ážáá±á«áºááœáẠááááºážáááºážáá¬ážáááºááŒá áºáááºá ááœá²á á¬ážáá»á¬áž á¡áœááºááá¯ááºážááŒááºáááºáá¬áá±á¬á¡áá«ááœáẠááœá±ážáá»ááºáá¶ááá±á¬ áá±á«ááºážáá±á¬ááºá¡áá áºááẠá¡ááŒá¬ážáá°áá»á¬ážááŸá±á·ááœáẠáá áºááºáá±á«áºááœáẠááááºážáááºážáá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááá±á¬ááºááá¯ááºáá»á¬ážáá±á¬ááºááœáẠááŸááá±áááºááŸá¬ ááŒá áºááá¯ááºáááºá
á¡á á¯á¡ááœá²á·ááŸáá·áº ááŒááºáááºáá¯á¶áááºážáá«á
á¡á á¯á¡áá±ážááá¯á· ááŒááºáááºáááºáá±á¬ááºááá·áºá¡áá«á áá±á«ááºážáá±á¬ááºáá áºáŠážáá»ááŸá¯á¶ážááá·áºá¡áá« áá¯á¶á á¶áá°áá»á¬ážááẠá¡áá¬ážáá°áá¯ááºáá±á¬ááºáááº- áá±á«ááºážáá±á¬ááºááá¯á¶áá°ááᯠá á áºáá±ážááŒá®áž áááºážááá¯á·áááŸááºáááºážááᯠáááºážá HW (ááœá±ážáá±á¬ááºááœá²áá»ááºážáááá·áºá¡áá»áááºááœááº) ááá¯á· ááŒááºáá±á¬ááºáá±ážáááºá ááŸáá¯ááºážááŸááºááŒáá·áºáá»áŸáẠRabbitMQ ááẠááŒááºáááºáá±á«ááºážá ááºážáá¬ážáá±á¬ node áá»á¬ážááᯠáá¯á¶ážáá¡áá áºá¡ááŒá Ạáá°áá®á áœá¬ áááºáá¶áá«áááºá ááŒá áºáááºááŸá áºáá¯á áá¯á¶ážááœááºá ááœá²á á¬ážááẠááŸáááŒá®ážáá¬ážá¡ááŒá±á¡áá±ááᯠáá»ááºááááºážáááºá á¡ááá¯á¡áá»á±á¬áẠáááºáá°ááŒá¯ááŒááºážááᯠá¡áá¯á¶ážááŒá¯áá«áá áá¬á áá¬ááẠâááá¹áá¬ááŒá®ážáá áºáá¯áá¯á¶ážááᯠá á±á¬áá·áºááá¯ááºážááœáá·áºááŒá¯áá«â áááºážáááºážááŒáá·áº ááŸááºá¡áá áºááœáẠáááºááŸáá¡ááŒá±á¬ááºážá¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡áá¯áá°ááááºááŒá áºáááºá á€áá¯ááºáá±á¬ááºááŸá¯á¡ááœááºáž áá¬á áá¬ááẠáááºááŸá¯ááŒááºáž ááá¯á·ááá¯áẠáá±ážááŒááºážááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáááºááá¶áá«á á€áá»ááºážáááºááŸá¯ááẠááŒá®ážáá¬ážáá±á¬áááºážá á®ááŒááºážááœáẠááŒá¿áá¬áá»á¬ážáááºáá®ážáá±ážáááºá
Kafka ááẠááŒáá·áºáá±áá¬ážáá±á¬ ááŸááºáááºážáá áºáá¯ááŒá áºááŒá®áž áá±áá¯áá»á¡á¬ážááŒáá·áº áááºážááẠRabbitMQ áááºážá á®ááẠá á¬ááá¯áá»á¬ážááᯠááá¯ááá¯ááááºážáááºážáá¬ážáᬠáááºážááá¯áááºááŒá®ážáá±á¬áẠáá±áá¬áá»á¬ážááᯠáááºážá á®ááŸáááºááŸá¬ážáááºá áááºááŒáœáá±á¬áááºážá á®áá»á¬ážááẠá¡áá±á¬áºáá±ážáá±ážáááºáá±ááá·áºáááºá ááá¯á·áá±á¬áº Kafka ááẠáááºážáááá¯ááºááá¯ááºááááºážááááºážááŸá¯áá°áá«ááá«ááŸáááá·áº ááŸááºáááºážáá áºáá¯ááŒá áºááŒá®áž áááºáá»á¬áž ááá¯á·ááá¯áẠáááºááá¹ááááºáá»á¬ážá¡ááœááºáž áá¬ááá áºáᯠáááºááŸááºááá¯ááºáááºá áááºážá á®ááŒááºážááᯠááááºááá¯á·ááŒááºážááŸáá·áº á¡ááŒáá·áºá¡á áááºáá°ááŒá¯ááŒááºážáááºážáááºážááẠááŒáá·áºáá±ááŸá¯ááŸááºáááºážá¡ááœáẠáá¯á¶ážááááºááá¶ááá¯ááºáá«á áááºážá¡á á¬ážá Kafka áá±á¬ááºááá¯ááºáá»á¬ážááẠáááºážááá¯á·á áááá¹áá°ááẠáá±á«ááºážáá±á¬ááºá áááºá á±á¬áá«á áááºážááá¯á·á ááŸááºáááºážááᯠáá±á«ááºážáá±á¬ááºá HW (ááœá±ážáá±á¬ááºááœá²áá»ááºážáááá·áºá¡áá»áááºááœááº) ááá¯á· ááŒááºáá±á¬ááºáá áºááá¯ááºáááºá ááŒá áºááá¯ááºááŒá±ááá¯áá»á¬ážáá±á¬ á¡ááŒá±á¡áá±ááœááºá áá±á¬ááºááá¯ááºááẠáá±á¬ááºááœááºááœáẠááŸááá±áá±á¬á¡áá«á áááºážááẠáááºážá áááºááŸá LEO ááŒáá·áº á áááºá áá¯ááºáá°ááŸá¯ áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá áááºáá¯ááºáá±á¬ááºáááºá
á¡áá áºáá»á¬áž ááá¯á·ááá¯áẠááŒááºáááºáá«áááºáá¬ážááá·áº áá±á¬ááºááá¯ááºáá»á¬ážááẠISR ááŒááºáááœáẠá áááºááŒá®áž áááááŒá¯ááŸá¯áá»á¬ážááœáẠááá«áááºáá«á áááºážááá¯á·ááẠá¡ááœá²á·ááŸáá·áºá¡áá° ááá¯ážááá¯ážááŸááºážááŸááºáž áá¯ááºáá±á¬ááºááŒááŒá®áž áá±á«ááºážáá±á¬ááºááŸáá·áº á¡áá®ááá¯ááºáá® ISR ááá¯á· áááºáá±á¬ááºáááºá¡áá áááºááá¯ááºááá»áŸ áááºáá±á·ááºá»áá»á¬áž á¡ááŒááºáááŸáááŒáááºá áá±á¬á·ááºáá»ááŒááºáž áááŸááá² áááºááá±áá¬á¡á¬ážáá¯á¶ážááᯠá áœáá·áºáá áºááẠáááá¯á¡ááºáá«á
áá»áááºáááºááŸá¯áá»á±á¬ááºáá¯á¶ážááŒááºážá
Kafka ááœáẠRabbitMQ ááẠá¡á áááºá¡ááá¯ááºážáá»á¬áž ááá¯áá»á¬ážáá±á¬ááŒá±á¬áá·áº á¡á á¯á¡áá±ážá០á¡áááºááŒááºááœá¬ážáá±á¬á¡áá«ááœáẠááá¯ááá¯ááŸá¯ááºááœá±ážáá±á¬ á¡ááŒá¯á¡áá°á¡á á¯áá áºáá¯ááŸááááºá ááá¯á·áá±á¬áº Kafka ááẠáá°áá á¡á á¯á¡áá±ážáá»á¬ážá¡ááœáẠáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ááŒá±á¬áá·áº ááŒá±ááŸááºážáá»ááºáá»á¬ážááᯠá¡ááœááºáá±á¬ááºážááœááºá áœá¬ ááœá±ážáá±á«áºáá«áááºá
á¡á±á¬ááºááœáẠáá»áááºáááºááŸá¯ áá»áá¯á·ááœááºážááŸá¯ á¡ááŒá±á¡áá±áá»á¬ážá áœá¬ ááŸááááº-
- áá¬ááºáááºáž 1- áá±á¬ááºááá¯ááºááẠáá±á«ááºážáá±á¬ááºááᯠáááŒááºáá±á¬áºáááºáž Zookeeper ááᯠááŒááºáá±áá±ážáááºá
- áá¬ááºáááºáž 2- áá±á«ááºážáá±á¬ááºááẠáá±á¬ááºááá¯ááºáá»á¬ážááᯠáááŒááºááá±á¬áºáááºáž Zookeeper ááᯠááŒááºáá±áá±ážáááºá
- áá¬ááºáááºáž 3- áá±á¬ááºááá¯ááºááẠáá±á«ááºážáá±á¬ááºááá¯ááŒááºáá±á¬áºáááºáž Zookeeper ááá¯áááœá±á·áá«á
- áá¬ááºáááºáž 4- áá±á«ááºážáá±á¬ááºááẠáá±á¬ááºááá¯ááºáá»á¬ážááᯠááŒááºáá±á¬áºáááºáž Zookeeper ááá¯áááœá±á·áá«á
- áá¬ááºáááºáž 5- áá±á¬ááºááá¯ááºááẠá¡ááŒá¬áž Kafka node áá»á¬ážááŸáá·áº Zookeeper ááŸá áºáá¯áá¯á¶ážá០áá¯á¶ážá áá®ážááŒá¬ážááŒá áºáááºá
- áá¬ááºáááºáž 6- áá±á«ááºážáá±á¬ááºááẠá¡ááŒá¬ážáá±á¬ Kafka node áá»á¬ážááŸáá·áº Zookeeper ááá¯á·ááŸáá·áº áá¯á¶ážá áá®ážááŒá¬ážááŒá áºáááºá
- áá¬ááºáááºáž 7- Kafka controller node ááẠá¡ááŒá¬ážáá±á¬ Kafka node ááᯠáááŒááºááá¯ááºáá«á
- áá¬ááºáááºáž 8- Kafka ááááºážáá»á¯ááºáááááá¬ááẠZookeeper ááá¯áááœá±á·áá«á
áá¬ááºááœáŸááºážáá áºáá¯á á®ááœáẠáááºážáááá¯ááºááá¯ááºá¡ááŒá¯á¡áá°áá»á¬ážááŸááááºá
áá¬ááºáááºáž 1- Follower ááẠáá±á«ááºážáá±á¬ááºááᯠáááŒááºáá±á¬áºáááºáž Zookeeper ááá¯ááŒááºáá±áá±ážáááºá
ááááºážá 22. áá¬ááºáááºáž 1- áá¯á¶áá°áá¯á¶ážáá»áá¯ážá ISR
áá»áááºáááºááŸá¯áá»áá¯á·ááœááºážááŸá¯ááẠááœá²á á¬áž 3 ááᯠááœá²á á¬áž 1 ááŸáá·áº 2 ááŸáá·áº ááœá²ááŒá¬ážáá±á¬áºáááºáž Zookeeper ááŸáá·áº ááá¯ááºáá«á ááœá²á á¬áž 3 ááẠá¡áá»áá°ážáá°áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááá¯á·ááá¯ááºáá±á¬á·áá«á á¡áá»áááºááœá±áá¯ááºááœááºááœá¬ážáááºá áá¯á¶áá°.lag.time.max.ms áááºážááᯠISR á០áááºááŸá¬ážááŒá®áž áááºáá±á·áá»áº áááááŒá¯áá»ááºáá»á¬ážááœáẠááá«áááºáá«á áá»áááºáááºááŸá¯ááᯠááŒááºáááºááá°ááŒá®ážáááºááŸáá·áº áááºážááẠáá±á«ááºážáá±á¬ááºááŸáá·áº ááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±áá±á¬á¡áá«ááœáẠáááºážááẠáá±á«áºáá°ááŸá¯áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠááŒááºáááºá áááºááŒá®áž ISR ááœáẠáá«áááºáááºááŒá áºáááºá Zookeeper ááẠpings áá»á¬ážááᯠáááºáááºáááºáá¶áá±ááŒá®áž ááœá²á á¬ážááẠá¡áááºááŸááºáá±áá±ážáááºáᯠáá°ááá«áááºá
ááááºážá 23. áá¬ááºáááºáž 1- replica.lag.time.max.ms ááŒá¬ážáá¬á á¡ááœááºáž áááºážáá¶á០áá¯ááºáá°ááẠáá±á¬ááºážááá¯ááŸá¯ ááááŸááá²á·áá«á ááœá²á
á¬ážá¡á¬áž ISR á០áááºááŸá¬ážáááº
RabbitMQ ááœááºáá²á·ááá¯á· split-brain ááá¯á·ááá¯áẠnode suspension áááŸááá«á áááºážá¡á á¬ážá áááºáá±á¬ááºážááŒááºážááᯠáá»áŸá±á¬á·áá»áááºá
áá¬ááºáááºáž 2- áá±á«ááºážáá±á¬ááºááẠáááºááá·áºáá±á¬ááºááá¯ááºááá¯áá»áŸ áááŒááºááá±á¬áºáááºáž Zookeeper ááá¯ááŒááºáá±áá±ážáááºá
ááááºážá 24. Scenario 2. áá±á«ááºážáá±á¬ááºááŸáá·áº áá±á¬ááºááá¯áẠááŸá
áºáá±á¬ááº
ááœááºáááºáá»áááºáááºááŸá¯ááœáẠááŒáá¯ááœá²ááŸá¯ááẠáá±á«ááºážáá±á¬ááºááᯠáá±á¬ááºááá¯ááºáá»á¬ážááŸáá·áº ááœá²ááŒá¬ážáá¬ážáá±á¬áºáááºáž ááœá²á á¬ážááẠZookeeper ááᯠááŒááºááá¯ááºáá²ááŒá áºáááºá áááá¡ááŒá±á¡áá±ááœááºáá²á·ááá¯á·áááºá ISR ááẠáá»á¯á¶á·ááœá¬ážáá±á¬áºáááºážá áá±á¬ááºááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááẠá¡áá»áá°ážááŒá¯áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá±ážááá¯á·ááŒááºážááᯠáááºááá·áºáá¬ážáá±á¬ááŒá±á¬áá·áº ááá¯áá áºááŒáááºááœáẠáá±á«ááºážáá±á¬ááºáá¶ááá¯á·áᬠáá±á¬ááºááŸááá¬áá«áááºá ááááºá áá¯áá¹ááááá¯ááºážááŒá¬ážááŒááºáž áááŸááá«á áááºážá¡á á¬ážá áá»áááºáááºááŸá¯ááᯠááŒááºáááºááááŸááá®á¡áá áááºáá±á·áá»áºá¡áá áºáá»á¬ážá¡ááœáẠáááºáá±á¬ááºážáá¯á¶ážááŸá¯á¶ážááœá¬ážáááºááŒá áºáááºá Zookeeper ááẠpings áá»á¬ážááᯠáááºáááºáááºáá¶áá±ááŒá®áž ááœá²á á¬ážááẠá¡áááºááŸááºáá±áá±ážááŒá±á¬ááºáž áá¯á¶ááŒááºáááºá
ááááºážá 25. áá¬ááºáááºáž 2. ISR ááẠáá±á«ááºážáá±á¬ááºá¡ááœááºáᬠáá»á¯á¶á·ááœá¬ážáá«áááºá
áá¬ááºáááºáž áá Follower ááẠáá±á«ááºážáá±á¬ááºááá¯ááŒááºáá±á¬áºáááºáž Zookeeper ááá¯áááœá±á·áá«á
áá±á¬ááºááá¯ááºááẠZookeeper ááŸáá·áº áááºážááœá¬áá±á¬áºáááºáž áá±á«ááºážáá±á¬ááºááŸáá·áº ááœá²á á¬ážá០ááá¯ááºáá«á ááááºá¡áá±ááŒáá·áºá áá±á¬ááºááá¯ááºááẠá¡áá»áá°ážáá±á¬ááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºáááºááŒá¯áá¯ááºááŒá®áž ISR á¡ááœá²á·áááºááŒá áºáá²á·áááºá Zookeeper ááẠpings áá»á¬ážááá¯áááºáá¶áááŸáááŒá®áž ááœá²á á¬ážáá»ááºáá»ááŸá¯ááᯠá á¬áááºážááœááºážááŒááºážáááŸááá±á¬á·áá² áááºážááẠáá±á¬ááºááá¯ááºáá áºáŠážáá¬ááŒá áºáá±á¬ááŒá±á¬áá·áº ááŒááºáááºááá°ááŒá®ážáá±á¬áẠá¡áá»áá¯ážáááºáá»á¬ážáááŸááá«á
ááááºážá 26. áá¬ááºáááºáž 3- áá±á¬ááºááá¯ááºááẠáá±á«ááºážáá±á¬ááºáᶠá¡áá»áá°ážááŒá¯áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºáááºáá±ážááá¯á·áá«áááºá
áá¬ááºáááºáž 4. áá±á«ááºážáá±á¬ááºááẠáá±á¬ááºááá¯ááºáá»á¬ážááá¯ááŒááºáá±á¬áºáááºáž Zookeeper ááá¯áááœá±á·áá«á
ááááºážá 27. Scenario 4. áá±á«ááºážáá±á¬ááºááŸáá·áº áá±á¬ááºááá¯áẠááŸá
áºáá±á¬ááº
áá±á«ááºážáá±á¬ááºááẠZookeeper ááŸáá·áºááœá²ááœá¬áá±á¬áºáááºážáá±á¬ááºááá¯ááºáá»á¬ážááŸáá·áºááœá²á á¬ážáá»á¬ážááŸáá·áºááá¯ááºáá«á
ááááºážá 28. áá¬ááºáááºáž 4- Zookeeper ááŸááœá²áá¯ááºáá¬ážáá±á¬áá±á«ááºážáá±á¬ááº
á¡áá»áááºá¡áááºááŒá¬ááŒá®ážáá±á¬áẠZookeeper ááẠááœá²á á¬ážáá»ááºááœááºááŸá¯ááᯠááŸááºáá¯á¶áááºááŒá®áž áááºážááŸáá·áºáááºáááºá ááááºážáá»á¯ááºáá°ááᯠá¡ááŒá±á¬ááºážááŒá¬ážáááºááŒá áºáááºá áá°á·áá±á¬ááºááá¯ááºáá»á¬ážááŒá¬ážááœáẠáá±á«ááºážáá±á¬ááºá¡áá áºááᯠááœá±ážáá»ááºáááºááŒá áºáááºá ááá¯á·áá±á¬áºáááºáž áá°ááá±á«ááºážáá±á¬ááºá áááºážááẠáá±á«ááºážáá±á¬ááºááŒá áºáááºáᯠáááºáááºáá°ááᬠáááºááœáá·áºáá»á¬ážááᯠáááºáááºáááºáá¶ááœá¬ážáááºááŒá áºáááºá acks=1. áá±á¬ááºááá¯ááºáá»á¬ážááẠáá°á·á¡á¬áž á¡áá»áá°ážááŸáááẠáá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠáááá¯á·áá±á¬á·áá² áááºážááá¯á·áá±áááºáᯠáá°ááᬠISR ááᯠáá°á·áá¬áá¬áá° áá»á¯á¶á·ááœá¬ážá¡á±á¬áẠááŒáá¯ážá á¬ážáááºááŒá áºáááºá ááá¯á·áá±á¬áº áááºážááœáẠZookeeper ááŸáá·áº áááºá ááºááŸá¯ áááŸááá±á¬ááŒá±á¬áá·áº áááºážááẠáááºážááᯠáá¯ááºáá±á¬ááºááá¯ááºááẠááá¯ááºáá² ááá¯á¡áá»áááºááœáẠáá±á¬ááºááẠááá·áºááœááºážááŸá¯áá»á¬ážááᯠáááºáá¶ááẠááŒááºážááá¯áááºááŒá áºáááºá
áááºáá±á·ááºá» acks=á¡á¬ážáá¯á¶áž ISR ááẠáá¯á¶áá°áá»á¬ážá¡á¬ážáá¯á¶ážááᯠááááŠážá áœá¬ááœáá·áºááŒá®áž áááºáá±á·áá»áºáá»á¬áž áááºážááá¯á·áᶠááá±á¬ááºááá¯ááºáá±á¬ááŒá±á¬áá·áº á¡ááá¡ááŸááºááŒá¯ááŸá¯ááᯠáááºáá¶áááŸááááºááá¯ááºáá«á áá°ááá±á«ááºážáá±á¬ááºááẠáááºážááá¯á·á¡á¬áž ISR á០áááºááŸá¬ážááẠááŒáá¯ážáááºážáá±á¬á¡áá«á áááºážááẠáá¯ááºáá±á¬ááºááá¯ááºáááºááá¯ááºááá·áºá¡ááŒáẠáááºááá·áºáááºáá±á·áá»áºááá¯áááᯠáááºáá¶ááŒááºážááᯠáá¯á¶ážááááºááá·áºááœá¬ážáááºááŒá áºáááºá
áá±á¬ááºáááºáá»á¬ážááẠáá±á«ááºážáá±á¬ááºá¡ááŒá±á¬ááºážá¡áá²ááᯠáááŒá¬áá® áááááŒá¯ááááŒá®áž áá¬áá¬á¡áá áºááá¯á· ááŸááºáááºážáá»á¬áž á áááºáá±ážááá¯á·ááŒáááºá ááœááºáááºááᯠááŒááºáááºááá°ááŒá®ážáááºááŸáá·áºá áá°áááºážáá±á«ááºážáá±á¬ááºá áááºážááẠáá±á«ááºážáá±á¬ááºáá áºáŠážááá¯ááºáá±á¬á·ááŒá±á¬ááºáž ááááŒááºááŒá®áž ááŸááºáááºážááœá²ááœá²ááŸá¯ááᯠááŸá±á¬ááºááŸá¬ážááẠáá»ááºááœááºáá»áááºááœáẠáá±á«ááºážáá±á¬ááºá¡áá áºááœááºááŸááá±á¬ HW áááºááá¯ážááá¯á· áááºážáááŸááºáááºážááᯠááŒááºáá±á¬ááºáááºá ááá¯á·áá±á¬áẠáá±á«ááºážáá±á¬ááºá¡áá áºáᶠá¡áá»áá°ážááŒá¯áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá áááºáá«áááá·áºáááºá áá±á«ááºážáá±á¬ááºá¡áá áºááá¯á· áá¯á¶áá°áá°ážááá¬ážáá±á¬ áá°ááá±á«ááºážáá±á¬ááºá០ááŸááºáááºážáá»á¬ážá¡á¬ážáá¯á¶áž áá»á±á¬ááºáá¯á¶ážááœá¬ážáá«áááºá ááá¯ááá¯áááºááŸá¬á áá±á«ááºážáá±á¬ááºááŸá áºáŠáž á¡áá¯ááºáá¯ááºáá±áá»ááẠá áá¹ááá·áºá¡áááºážáááºá¡ááœááºáž áá°ááá±á«ááºážáá±á¬ááºá០á¡ááá¡ááŸááºáááŒá¯ááá·áº áááºáá±á·áá»áºáá»á¬áž áá»á±á¬ááºáá¯á¶ážááœá¬ážáááºááŒá áºáááºá
ááááºážá 29. áá¬ááºáááºáž 4. ááœá²á
á¬áž 1 ááœáẠáá±á«ááºážáá±á¬ááºááẠááœááºáááºááᯠááŒááºáááºááá°ááŒá®ážáá±á¬áẠáá±á¬ááºááá¯ááºáá
áºáŠáž ááŒá
áºáá¬áááº
áá¬ááºáááºáž 5- áá±á¬ááºááá¯ááºááẠá¡ááŒá¬áž Kafka node áá»á¬ážááŸáá·áº Zookeeper ááŸá áºáá¯áá¯á¶ážá០áá¯á¶ážá áá®ážááŒá¬ážááŒá áºáááºá
áá±á¬ááºááá¯ááºááẠá¡ááŒá¬áž Kafka node áá»á¬ážááŸáá·áº Zookeeper ááá¯á·á០áá¯á¶ážáááœá²áá¬ážáááºá áá°ááẠááœááºáááºááᯠááŒááºáááºááœááºážáá¶ááŒá®ážááá·áºááá¯ááºá¡á±á¬áẠISR á០áá°á·ááá¯ááºáá° áááºááŸá¬ážáᬠá¡ááŒá¬ážáá°áá»á¬ážááŸáá·áº ááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±áááºá
ááááºážá 30. áá¬ááºáááºáž 5- áá®ážááŒá¬ážáá±á¬ááºááá¯ááºááᯠISR á០áááºááŸá¬ážáááºá
áá¬ááºáááºáž 6- áá±á«ááºážáá±á¬ááºááẠá¡ááŒá¬ážáá±á¬ Kafka node áá»á¬ážááŸáá·áº Zookeeper ááá¯á·ááŸáá·áº áá¯á¶ážá áá®ážááŒá¬ážááŒá áºáááºá
ááááºážá 31. Scenario 6. áá±á«ááºážáá±á¬ááºááŸáá·áº áá±á¬ááºááá¯áẠááŸá
áºáá±á¬ááº
áá±á«ááºážáá±á¬ááºááẠáááºážááá±á¬ááºááá¯ááºáá»á¬ážá ááááºážáá»á¯ááºáá°ááŸáá·áº Zookeeper ááá¯á·ááŸáá·áº áá¯á¶ážáááœá²áá¬ážáááºá á¡áá»áááºááá¯á¡ááœááºáž áááºááœáá·áºáá»á¬ážááᯠáááºáááºáááºáá¶ááœá¬ážáááºááŒá áºáá«áááºá acks=1.
ááááºážá 32. áá¬ááºáááºáž 6- áá±á«ááºážáá±á¬ááºááᯠá¡ááŒá¬ážáá±á¬ Kafka ááŸáá·áº Zookeeper node áá»á¬ážá០ááœá²áá¯ááºááŒááºážá
áááºáááºážáá¯ááºáá¯á¶ážááŒá®ážáá±á¬áẠáá±á¬ááºážááá¯ááŸá¯áá»á¬áž ááááŸááá²á·áá«á áá¯á¶áá°.lag.time.max.msISR ááᯠáá°á·áá¬áá¬áá° áá»á¯á¶á·ááœá¬ážá¡á±á¬áẠááŒáá¯ážá á¬ážáááºááŒá áºáá±á¬áºáááºáž Zookeeper ááŸáá·áº áááºááœááºááŸá¯ áááŸááá±á¬ááŒá±á¬áá·áº áááºážááẠáá±ážáá¬ážáá»ááºáá»á¬ážááᯠáááºáá¶ááŒááºážááᯠáááºááœá¬ážáááºááŒá áºáááºá
á€á¡áá±á¬á¡ááœááºáž Zookeeper ááẠáá®ážááŒá¬ážááœá²á á¬ážááᯠáá±áá¯á¶ážááŒá±á¬ááºáž á¡ááŸááºá¡áá¬ážááŒá¯áááºááŒá áºááŒá®áž ááááºážáá»á¯ááºáá°ááẠáá±á«ááºážáá±á¬ááºá¡áá áºááᯠááœá±ážáá»ááºáááºááŒá áºáááºá
ááááºážá 33. Scenario 6. áá±á«ááºážáá±á¬ááºááŸá
áºáŠáž
áá°ááá±á«ááºážáá±á¬ááºááẠááá·áºááœááºážááŸá¯áá»á¬ážááᯠá áá¹ááá·áºá¡áááºážáááºááŒá¬ áááºáá¶ááá¯ááºáá±á¬áºáááºáž áááºááá·áºáááºáá±á·áá»áºááá¯áááᯠáááºáá¶ááŒááºážá០áááºááœá¬ážáá«áááºá áá±á¬ááºáááºáá»á¬ážá¡á¬áž áá±á¬ááºáá¯á¶ážáá±á«áº áááºáá¬áá±áá¬ááŒáá·áº á áá¹ááá·áº 60 ááá¯ááºáž á¡ááºááááºáá¯ááºáá«áááºá áá±á«ááºážáá±á¬ááºá¡ááŒá±á¬ááºážá¡áá²ááᯠá¡ááŒá±á¬ááºážááŒá¬ážááŒá®áž áá±á«ááºážáá±á¬ááºá¡áá áºáᶠáááºááœáá·áºáá»á¬áž á áááºáá±ážááá¯á·áááºááŒá áºáááºá
ááááºážá 34. Scenario 6: áá¯ááºáá¯ááºáá°áá»á¬ážááẠáá±á«ááºážáá±á¬ááºá¡áá
áºááá¯á· ááŒá±á¬ááºážáááºá
áá»áááºáááºááŸá¯ áá¯á¶ážááŸá¯á¶ážááœá¬ážáááŒáá·áº áá°ááá±á«ááºážáá±á¬ááºá០ááŒá¯áá¯ááºáá¬ážááá·áº á¡áááºááŒá¯ááá·áºááœááºážááŸá¯áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá¯á¶ážááŸá¯á¶ážááœá¬ážáááºááŒá áºáááºá ááœááºáááºááᯠááŒááºáááºááá°ááŒá®ážáááºááŸáá·áº áá°ááá±á«ááºážáá±á¬ááºááẠáááºážááẠáá±á«ááºážáá±á¬ááºááá¯ááºáá±á¬á·ááŒá±á¬ááºáž Zookeeper ááŸáá áºááá·áº ááŸá¬ááœá±ááœá±á·ááŸááááºááŒá áºáááºá ááá¯á·áá±á¬áẠááœá±ážáá±á¬ááºááœá²áá»ááºážáááá·áºá¡áá»áááºááœáẠáá±á«ááºážáá±á¬ááºá¡áá áºá HW ááá¯á· áááºážáááŸááºáááºážááᯠááŒááºáá±á¬ááºááŒá®áž áá±á¬ááºááá¯ááºáá áºáŠážá¡áá±ááŒáá·áº áá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠá áááºáá±ážááá¯á·áááºááŒá áºáááºá
ááááºážá 35. áá¬ááºáááºáž 6- ááœááºáááºáá»áááºáááºááŸá¯ááᯠááŒááºáááºááá°ááŒá®ážáá±á¬áẠáá°ááá±á«ááºážáá±á¬ááºááẠáá±á¬ááºááá¯ááºáá
áºáŠážááŒá
áºáá¬áááºá
á€á¡ááŒá±á¡áá±ááœááºá áá¯áá¹áááááºážááŒáá·áº ááœá²ááœááºááŒááºážááẠá¡áá»áááºááá¯á¡ááœááºáž ááŒá áºááœá¬ážááá¯ááºáá±á¬áºáááºáž áá¬áá»áŸááºááŒá áºáááºá acks=1 О min.insync.replicas 1. áá°áááºážáá±á«ááºážáá±á¬ááºá áá±á«ááºážáá±á¬ááºááá¯ááºáá±á¬á·ááŒá±á¬ááºáž ááááŸááá¬áá±á¬á¡áá«ááœááºá ááá¯á·ááá¯áẠáá±á«ááºážáá±á¬ááºááŒá±á¬ááºážáá²ááœá¬ážááŒá±á¬ááºážááᯠáá±á¬ááºáááºáá»á¬ážá¡á¬ážáá¯á¶áž ááááŸáááŒá®áž áá±á«ááºážáá±á¬ááºá¡áá áºáᶠá á¬áá±ážáá¬ážá áááºááá·áºá¡áá«ááœáẠáá¯áá¹áááááºážááŒáá·áº ááœá²ááœááºááŒááºážááẠá¡ááá¯á¡áá»á±á¬ááºá¡áá¯á¶ážáááºááœá¬ážááẠ- áááºááá·áºá¡áá¬ááẠáááááŒá áºáá«á á±á áááºááá¯á·áááºááá¯á á±áá¬áá° á¡áá»áá¯á·áá±á¬ áááºáá±á·áá»áºáá»á¬ážááẠáá¯á¶ážááŸá¯á¶ážááœá¬ážáááá·áºáááºá acks=1.
ááœááºáááºáááœá²áááºáá±ážááŸá¬áá² áá±á¬ááºááá¯ááºááœá±á áá±á¬ááºáááá¯ááºááœá¬ážááŒá®áž áá±á«ááºážáá±á¬ááºá ISR ááᯠáá°á·ááá¯ááºáá° áá»á¯á¶á·áá áºááá¯ááºáááºá ááá¯á·áá±á¬áẠáá»áááºáááºááŸá¯ áá¯á¶ážááŸá¯á¶ážááŒááºážááŒá±á¬áá·áº áá®ážááŒá¬ážááŒá áºáá¬áááºá áá±á«ááºážáá±á¬ááºá¡áá áºááᯠááœá±ážáá±á¬ááºáááºááŒáŸá±á¬ááºááá¯ááºáá±á¬áºáááºáž áá°ááá±á«ááºážáá±á¬ááºááẠáááºááœáá·áºáá»á¬ážááá¯ááẠáááºáááºáááºáá¶áá±áá«áááºá acks=á¡á¬ážáá¯á¶ážISR ááœáẠáá°ááŸááœá²á á¡ááŒá¬ážáááºáá°áá»áŸáááŸááá±á¬ááŒá±á¬áá·áºá ááœááºáááºááᯠááŒááºáááºááá°ááŒá®ážáááºááŸáá·áº á€ááŸááºáááºážáá»á¬áž áá¯á¶ážááŸá¯á¶ážááœá¬ážáá«áááºá á€ááœá±ážáá»ááºááŸá¯ááᯠááŸá±á¬ááºááŸá¬ážááẠáá áºáá¯áááºážáá±á¬áááºážáááºážááŸá¬ min.insync.replicas = á.
áá¬ááºáááºáž 7- Kafka Controller Node ááẠá¡ááŒá¬áž Kafka Node ááᯠáááŒááºááá«á
áá±áá¯áá»á¡á¬ážááŒáá·áºá Kafka node ááŸáá·áº áá»áááºáááºááŸá¯ áá»á±á¬ááºáá¯á¶ážááœá¬ážáááºááŸáá·áºá ááááºážáá»á¯ááºáá°ááẠáááºááá·áº áá±á«ááºážáá±á¬ááºááŒá±á¬ááºážáá²ááŸá¯ á¡áá»ááºá¡áááºááᯠáááºážáᶠáá±ážááá¯á·ááá¯ááºááẠááá¯ááºáá«á á¡ááá¯ážáá¯á¶ážá¡ááŒá±á¡áá±ááœááºá áááºážááẠáá¬ááºáááºáž 6 ááœááºáá²á·ááá¯á· áá±ááá¯áá¯áá¹ááááœá²ááŒá¬ááŸá¯ááᯠááŒá áºáá±á«áºá á±áááºááŒá áºáááºá áááŒá¬ááááá¯áááá¯á áá±á¬ááºááá¯ááºážááœáẠáá»ááºááœááºáá«á ááœá²á á¬ážááẠáá±á«ááºážáá±á¬ááºááŸá¯ááá¯ááºáᬠááá¯ááºá á¬ážááŸááºáá±á¬ááºáž ááŒá áºáá¬áááºááá¯ááºáá±á
áá¬ááºáááºáž 8- Kafka ááááºážáá»á¯ááºáááááá¬ááẠZookeeper ááá¯áááœá±á·áá«á
Zookeeper ááẠáá»áá¬áá±á¬ controller á០ping áá áºáá¯ááᯠáááºáá¶áááŸááááºááá¯ááºááá·áºá¡ááŒáẠááááºážáá»á¯ááºáá°á¡ááŒá ẠKafka node á¡áá áºáá áºáá¯ááᯠááœá±ážáá»ááºáááºááŒá áºáááºá áá°áááááºážáá»á¯ááºáááááá¬ááẠáááºážáá²á·ááá¯á· áááºáááºáááºááŒááá¯ááºáá±á¬áºáááºáž Zookeeper áá¶á០á¡ááŒá±á¬ááºážááŒá¬ážáá»ááºáá»á¬ážááᯠááááŸááá±á¬ááŒá±á¬áá·áº áááºážááœáẠáá¯ááºáá±á¬ááºááẠáá¯ááºáá±á¬ááºá áá¬áá»á¬áž ááŸááááºááá¯ááºáá«á ááœááºáááºááᯠááŒááºáááºááá°ááŒá®ážáááºááŸáá·áºá áá°ááẠááááºážáá»á¯ááºáá°ááá¯ááºáá±á¬á·áá² áá¯á¶ááŸáẠKafka node ááŒá áºáá¬ááŒá±á¬ááºáž áá°ááá±á¬áá±á«ááºáááá·áºáááºá
áá¬ááºáááºážáá»á¬ážá០áááá¯á¶ážáá»á¯ááºáá»ááºáá»á¬áž
Follower áá»áááºáááºááŸá¯ áá¯á¶ážááŸá¯á¶ážááŒááºážááẠáááºáá±á·áá»áº áá¯á¶ážááŸá¯á¶ážááŸá¯ áááŒá áºáá±á«áºá á±áá±á¬áºáááºáž ááœááºáááºááᯠááŒááºáááºááœááºážáá¶ááá»ááºáž áááºáá±áá±á¬ ááá¬áááᯠáá¬áá® áá»áŸá±á¬á·áá»áá±ážááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á· ááŒááºáá«áááºá áá áºáᯠááá¯á·ááá¯áẠáá áºáá¯áááºááá¯áá±á¬ node áá»á¬áž áá»á±á¬ááºáá¯á¶ážáá«áá áááºážááẠáá±áá¬áá»á¬áž áá¯á¶ážááŸá¯á¶ážááœá¬ážááá¯ááºáááºá
á¡áááºá áá±á«ááºážáá±á¬ááºááẠáá»áááºáááºááŸá¯ ááŒááºáá±á¬ááºááŸá¯ááŒá±á¬áá·áº Zookeeper ááŸáá·áº ááœá²ááœá¬ááœá¬ážáá«áá áááºážááẠáááºáá±á·ááºá»áá»á¬áž áá¯á¶ážááŸá¯á¶ážááœá¬ážááá¯ááºáááºá acks=1. Zookeeper ááŸáá·áº áááºááœááºááŸá¯ áááŸáááŒááºážááẠáá±á«ááºážáá±á¬ááºááŸá áºáŠážááŸáá·áº á¡ááá¯áá»á¯á¶áž áá»áá¯ážááŒá±á¬ááºážáá®áá»á±á¬áºááŸá¯ ááŒá áºá á±áááºá á€ááŒá¿áá¬ááᯠparameter ááŒáá·áºááŒá±ááŸááºážáááºá acks=á¡á¬ážáá¯á¶áž.
parameter ááẠmin.insync.replicas ááŸá áºáᯠááá¯á·ááá¯áẠááŸá áºáá¯áááºááá¯áá±á¬ áá¯á¶áá°áá»á¬ážáá²ááá¯á· ááá¯áá±ááá¯á¡ááŒá±á¡áá±áá»á¬ážááẠáá¬ááºáááºáž 6 ááœááºáá²á·ááá¯á· áá»á±á¬ááºáá¯á¶ážááœá¬ážáá±á¬ áááºáá±á·áá»áºáá»á¬ážááᯠáááŒá áºáá±á«áºá á±ááŒá±á¬ááºáž áááºáá±á¬ááºážá¡á¬ááá¶áá»áẠáá±ážáá«áááºá
áá»á±á¬ááºáá¯á¶ážááœá¬ážáá±á¬ áááºáá±á·áá»áºáá»á¬ážá á¡áá»ááºážáá»á¯ááº
Kafka ááœáẠáá±áá¬áá¯á¶ážááŸá¯á¶ážááá¯ááºááá·áº áááºážáááºážá¡á¬ážáá¯á¶ážááᯠá á¬áááºážááŒá¯á á¯ááŒáá«á áá¯á·á
- áááºááá·áºáá±á«ááºážáá±á¬áẠáá»ááºááœááºáá«á áááºáá±á·ááºá»ááᯠá¡áá¯á¶ážááŒá¯á á¡áááºááŒá¯áá«á acks=1
- áá±á«ááºážáá±á¬ááºááŸá¯ááááá·áºááŸááºážáá±á¬á¡áá°ážá¡ááŒá±á¬ááºážá ááá¯ááá¯áááºááŸá¬ ISR ááŒááºááá±á¬ááºááá¯ááºáá áºáŠážáá¶ááá¯á·áááºá acks=á¡á¬ážáá¯á¶áž
- áááºáá±á·áá»áºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒá±á¬ááºáž á¡áááºááŒá¯áá«á áá±á«ááºážáá±á¬ááºááᯠZookeeper ááŸáá·áº ááœá²áá¯ááºáá«á acks=1
- ISR á¡ááœá²á·ááᯠáá°á·ááá¯ááºáá° ááŸááá·áºáá»áá¬ážááŒá®áž áá±á«ááºážáá±á¬ááºá áá¯á¶ážáá¡áá®ážáá»ááºááŸá¯á áááºáá±á·áá»áºá¡á¬ážáá¯á¶áž áá¯á¶ážááŸá¯á¶ážááœá¬ážáá«áááá·áºáááºá acks=á¡á¬ážáá¯á¶áž. áá«áá¬ááŸááºááẠmin.insync.replicas=á.
- partition node áá»á¬ážá¡á¬ážáá¯á¶ážá áááŒáá¯ááºáááºáááºáž áá»ááŸá¯á¶ážááŸá¯áá»á¬ážá áááºáá±á·áá»áºáá»á¬ážááᯠáááºááá¯áá®á០á¡ááá¡ááŸááºááŒá¯áá¬ážáá±á¬ááŒá±á¬áá·áº á¡áá»áá¯á·ááŸá¬ áá áºááºááá¯á· ááá±ážááá±ážáá«á áá¬áá¬áá»á¬ážááᯠááŒááºáááºá áááºááŒá®ážáá±á¬ááºá á¡áá»áá¯á·áá±á¬á á¬ááá¯áá»á¬áž áá»á±á¬ááºáá¯á¶ážááœá¬ážááá¯ááºáááºá
áááá·áºááŸááºážáá±á¬áá±á«ááºážáá±á¬ááºááŸá¯á¡áá°ážá¡ááŒá±á¬ááºážáá»á¬ážááᯠáá¬ážááŒá áºááŒááºáž ááá¯á·ááá¯áẠá¡áááºážáá¯á¶áž ááŸá áºáá¯áááºáá±á¡á±á¬ááºááŒá¯áá¯ááºááŒááºážááŒáá·áº ááŸá±á¬ááºááŸá¬ážááá¯ááºáá«áááºá á¡ááŒááºážáá¶áá¯á¶ážááœá²á·á ááºážáá¯á¶ááẠáá±á«ááºážá ááºááŸá¯ááŒá áºáááºá acks=á¡á¬ážáá¯á¶áž О min.insync.replicas 1 áááºááá¯á
RabbitMQ ááŸáá·áº Kafka ááá¯á·á áá¯á¶ááŒááºá áááºáá»áááŸá¯ááᯠááá¯ááºááá¯áẠááŸáá¯ááºážááŸááºááŒááºážá
áá¯á¶ááŒááºá áááºáá»áááŸá¯ááŸáá·áº ááŒáá·áºáá¬ážá áœá¬áááŸáááá¯ááºááŸá¯áá±áá»á¬á á±áááºá ááááºáá±á¬ááºážááŸá áºáá¯áá¯á¶ážááẠáááºáááŸáá·áº á¡áááºáááºážáá¯á¶áá°áá°ážáá°á áá áºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá ááá¯á·áá±á¬áº RabbitMQ ááœáẠAchilles ááá±á¬áá·áºááŸááááºá áá»ááºááœááºááŒá®ážáá±á¬áẠááŒááºáááºáá»áááºáááºááá·áºá¡áá«á nodes áá»á¬ážááẠáááºážááá¯á·ááá±áá¬ááᯠá áœáá·áºáá áºááŒá®áž áááºáá°ááŒá¯ááŒááºážááᯠááááºááá¯á·áá¬ážáááºá á€ááŸá áºáá»ááºá RabbitMQ ááŸá ááŒá®ážáá¬ážáá±á¬áááºážá á®ááŒááºážáááŒá¬ááŸááºááŸá¯ááᯠáá±ážááœááºážáá¯ááºá á±áááºá áá»á±á¬á·áá»áá±ážáá±á¬ áááºáá°ááŸá¯ ááá¯á·ááá¯áẠááááºááá¯á·ááŒááºážá¡áá»áááºáá»á¬ážááᯠáááºáááºáá¶ááá«áááºá áááºáá±áá±á¬ ááá¬áááᯠáá»áŸá±á¬á·áá»ááŒááºážááẠáá±áᬠáá¯á¶ážááŸá¯á¶ážááŸá¯ ááŒá®ážááŒá®ážáá¬ážáá¬áž ááŒá áºááá¯ááºááŒá±ááᯠááá¯ážá á±áááºá á¡áááºá áááºážá á®áá»á¬ážááẠáá±ážáááºáá±áá«áá áááºáá±á¬ááºážááŒááºážá¡ááœááºá ááááŸáááá¯ááºááá·áº á¡áá»áááºááᯠ(á áá¹ááá·áºá¡áááºážáááº) ááᯠáááºáá«ááá²áá² áá»áááºáááºááẠááŒáá¯ážá á¬ážááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááŒá±ááŸááºážááá¯ááºáá«áááºá
Kafka ááŸá¬ áá®ááŒá¿áá¬áááŸááá«áá°ážá áááºážááẠáá±á«ááºážáá±á¬ááºááŸáá·áºáá±á¬ááºááá¯ááºááŒá¬áž ááœá²ááŒá¬ážááá·áºá¡áá»ááºááŸáá¬áá»áŸáẠá¡áá»ááºá¡áááºáá»á¬ážááᯠá áœáá·áºáá áºáááºá áá»áŸáá±áá¬ážáá±á¬áá±áá¬á¡á¬ážáá¯á¶ážááᯠááááºážáááºážáá¬ážáááºá ááá¯á·á¡ááŒááºá áá¯á¶áá°áá°ážááŒááºážá áá áºááẠááááºááá¯á·ááŒááºáž áááŸááá«á áá±á¬ááºááá¯ááºá¡áá áºáá»á¬áž áááºáá¬áá»áááºááœáẠáá±á«ááºážáá±á¬ááºááẠáá¬áá°ážáá»á¬ážááᯠáááºáááºáááºáá¶áá±áá±á¬ááŒá±á¬áá·áº á¡á á¯ááá¯ááºá¡ááŒá¯á¶ááá¯ááºáá«áááºááŒááºáž ááá¯á·ááá¯áẠááŒááºáááºáá«áááºááŒááºážá¡ááœáẠá¡áá±ážá¡ááœá²á¡áá¯ááºáá áºáá¯ááŒá áºáááºá áá¯á¶áá°áá°ážáá»á ááºá¡ááœááºáž ááœááºááẠbandwidth áá²á·ááá¯á·áá±á¬ ááŒá¿áá¬áá»á¬áž ááŸááá«áá±ážáááºá áá áºáá»áááºáááºážááœáẠfollower á¡áá»á¬ážá¡ááŒá¬ážááá·áºáá«áá bandwidth ááá·áºáááºáá»ááºááŸáá·áº ááŒá¯á¶ááœá±á·áááá¯ááºáááºá
RabbitMQ ááẠá¡á á¯á¡ááœá²á·áá áºáá¯ááŸá áá¬áá¬áá»á¬ážá áœá¬ááᯠáá áºáá»áááºáááºážááœáẠáá»ááºááœááºáá±á¬á¡áá«ááœáẠáá¯á¶ááŒááºá áááºáá»áááŸá¯ááœáẠKafka ááẠáá¬ááœááºáááºá áá»áœááºá¯ááºááá¯á·ááŒá±á¬áá¬ážááŒá®ážááŒá áºááá·áºá¡ááá¯ááºáž RabbitMQ ááẠáá¬á áá¬ááŸáá·áºááŒá±ážáá¯á¶áá»á¬ážá¡á¬ážáá¯á¶ážááá¯á· áááºáá±á·áá»áºáá±ážááá¯á·ááŒá®ážááŸáᬠáá¯ááºáá±áá°áᶠá¡áááºááŒá¯áá»áẠáá±ážááá¯á·áááºááŒá áºáááºá ááá¯á·áá±á¬áº áááºážááẠá¡ááŒá±á¬ááºážááŒáá»ááºááŸá áºáá¯á¡ááœáẠáááºáá±á¬ááºáž latency áááºáá±á¬ááºážáááº-
- áá®áá®á áá¹ááá·áºá¡áááºážáááºááá¯ááºáž fsync
- node áá áºáá¯á á®á áááŸáááá¯ááºááŸá¯ááᯠá á áºáá±ážáá±á¬ packets áá»á¬ážá áááºáááºážáá¯ááºáá¯á¶ážááŒá®ážááŸáᬠááŸááºááá»ááºááœááºááŸá¯ááᯠáááááŒá¯ááááá¯ááºáááºááŒá áºáááºá ááŸááºááẠááŸá±ážááœá±ážááŒááºáž ááá¯á·ááá¯áẠááŒá¯ááºáá»áá«áá áááºážááẠááŸá±á¬áá·áºááŸá±ážááŸá¯ááᯠááá¯ážá á±áááºá
Kafka ááá±á¬ááºážááŒá±ážááŸá¬ áááºáá±á·áá»áºáá áºáá¯ááᯠnode á¡áá»á¬ážá¡ááŒá¬ážááœáẠááááºážáááºážáá¬ážáá«á áááºážááá¯á·ááẠáááºááá¯áá®ááá¯áááááºááŸáá·áº áááºáá±á·áá»áºáá»á¬ážááᯠá¡ááá¡ááŸááºááŒá¯ááá¯ááºáááºá ááá¯á·á¡ááœááºááŒá±á¬áá·áº áááºááá·áºá¡áá»áá¯ážá¡á á¬ážáááᯠáááºáá±á·áá»áºáá»á¬áž áá¯á¶ážááŸá¯á¶ážááá¯ááºáá»á±ááŸááááºá acks=á¡á¬ážáá¯á¶áž, min.insync.replicas=á) áááŒáá¯ááºáááºáááºáž áá»ááºááœááºááŒááºáž á
áá±áá¯áá»á¡á¬ážááŒáá·áºá Kafka ááẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬áá±á¬á·ááºáá²ááºá áœááºážáá±á¬ááºáááºááá¯ááŒáááŒá®áž á¡á á¯á¡áá±ážáá»á¬ážá¡ááœáẠá¡ááŒá±áá¶ááŸá á áá®ááá¯ááºážáá¯ááºáá¬ážáááºá áá¯á¶ááŒááºá áááºáá»áááŸá¯á¡ááœáẠááá¯á¡ááºáá«á Follower á¡áá±á¡ááœáẠ11 áŠážá¡áá ááá¯ážááŒáŸáá·áºááá¯ááºáá«áááºá áááºáá°ááŒá¯ááŒááºážá¡áá»áẠ5 ááŸáá·áº áááºáá°ááŒá¯ááŒááºážááœáẠá¡áááºážáá¯á¶áž á¡ááŒáááºá¡áá±á¡ááœáẠmin.insync.replicas=á áááºáá±á·áá»áºáá¯á¶ážááŸá¯á¶ážááŒááºážááẠá¡ááœááºááŸá¬ážáá«ážáá±á¬ ááŒá áºáááºáá áºáᯠááŒá áºá á±áááá·áºáááºá ááá·áºá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááẠá€áá¯á¶áá°ááœá¬ážááŸá¯á¡áá»áá¯ážááŸáá·áº áááºáá±áá±á¬á¡ááá·áºááᯠáá¶á·ááá¯ážáá±ážááá¯ááºáá«áá áááºááẠá€ááœá±ážáá»ááºááŸá¯ááᯠááœá±ážáá»ááºááá¯ááºáááºá
RabbitMQ á¡á á¯á¡áá±ážááẠáá±ážáááºáá±á¬áááºážá á®áá»á¬ážá¡ááœáẠáá±á¬ááºážááœááºáááºá áá¬ážá¡ááœá¬ážá¡áá¬áá»á¬ážáá¬áá±á¬á¡áá«ááœáẠáá±ážáááºáá±á¬áááºážá á®áá»á¬ážááẠáá»ááºááŒááºá áœá¬ ááŒá®ážááœá¬ážááá¯ááºáááºá áááºážá á®ááŸá¯áá»á¬áž áá»á¬ážááŒá¬ážáá¬áááºááŸáá·áºá¡áá»áŸ áááá¯ááºááŸá¯ááŸáá·áº áá¯á¶ááŒááºá áááºáá»áááŸá¯ááŒá¬ážááœáẠáááºáá²áá±á¬ ááœá±ážáá»ááºááŸá¯áá»á¬áž ááŒá¯áá¯ááºááááºááŒá áºáááºá RabbitMQ á¡á á¯ááá¯ááºááœá²á·ááŒááºážááẠRabbitMQ á ááá¯ááºáá»á±á¬áá®ááœá±ááŸá¯á á¡áá»áá¯ážáá»á±ážáá°ážáá»á¬ážááẠáááºážáá¡á á¯á¡áá±ážá á¡á¬ážáááºážáá»ááºáá»á¬ážááẠáá¬ááœááºáá±á¬ááºážááœááºááá·áº áá¯á¶ááŸááºááá¯ááºáá±á¬ á¡ááŒá±á¡áá±áá»á¬ážá¡ááœáẠá¡ááá·áºáá±á¬áºáá¯á¶ážááŒá áºáááºá
ááŒá®ážáá¬ážáá±á¬áááºážá
á®áá»á¬ážá¡ááœáẠRabbitMQ áá¡á¬ážáááºážáá»ááºá¡ááœáẠááŒá±áá±ážáá
áºáá¯ááŸá¬ áááºážááá¯á·á¡á¬áž áá±ážáááºáá±á¬áááºážá
á®áá»á¬ážá¡ááŒá
áºááá¯á· ááœá²áá¯ááºááŒááºážááŒá
áºáááºá á¡áááºá áááºááẠáááºážá
á®áá
áºáá¯áá¯á¶ážááᯠá¡ááŒá®ážáááºá¡áááá·áºáá»ááẠáááá¯á¡ááºáá±á¬áºáááºáž áááºááá¯ááºáᬠáááºáá±á·áá»áºáá»á¬ážáᬠ(á¥ááá¬á áá±á¬ááºáááºáá
áºáŠážáá¶á០áááºáá±á·áá»áºáá»á¬áž) ááá¯á·ááá¯áẠáááºááá·áºá¡áá¬ááá¯áá»áŸ áááŸá¬áá°áá«áá á€ááœá±ážáá»ááºááŸá¯ááᯠáááºáá¶ááá¯ááºáááº- áá»áœááºá¯ááºá ááá±á¬áá»ááºááᯠááŒáá·áºáá«á
áá±á¬ááºáá¯á¶ážá¡áá±ááŒáá·áº RabbitMQ ááŸáá·áº Kafka ááŸá áºáá¯áá¯á¶ážáá¡á á¯ááá¯ááºá¡ááŒá¯á¶ááá¯ááºááŸáá·áºáá¯á¶áá°ááŒááºážááá¹ááá¬ážáá»á¬ážááœáẠbugs á¡áá»á¬ážá¡ááŒá¬ážááᯠááá±á·áá«ááŸáá·áºá á¡áá»áááºááŒá¬áá¬áááºááŸáá·áºá¡áá»áŸá á áá áºáá»á¬ážááẠááá¯ááá¯ááá·áºáá»ááºááŒá®áž áááºááŒáááºáá¬áá±á¬áºáááºáž áááºááá·áºááááºážá áá¬ážáá»áŸ áá¯á¶ážááŸá¯á¶ážááŸá¯á០100% áá¯á¶ááŒá¯á¶áááºááá¯ááºáá«á ááá¯á·á¡ááŒááºá áá±áá¬á ááºáá¬áá»á¬ážááœáẠááŒá®ážáá¬ážáá±á¬ ááá±á¬áºááááŸá¯áá»á¬áž ááŒá áºááœá¬ážáá«áááºá
áá áºáá¯áá¯ááœá²áá»á±á¬áºááœá¬ážááŒááºážá á¡ááŸá¬ážáá¯ááºááááẠááá¯á·ááá¯áẠáááºááá±á¬ááá°áá«á ááŸááºáá»ááºáá±ážáá±ážááẠááá¯á·ááá¯áẠáá»áœááºá¯ááºááᯠáááºááœááºáá«á
áá«áááŒá¬áááá±ážáá±á·ááŸááááº- "áá¬ááá¯ááœá±ážáá»ááºáááá²á Kafka ááá¯á·ááá¯áẠRabbitMQ"á "áááºááááºáá±á¬ááºážáááá¯áá±á¬ááºážáá²?" á¡ááŸááºá ááá·áºá¡ááŒá±á¡áá±á áááºááŸáá¡ááœá±á·á¡ááŒá¯á¶á á áááºááá¯á·áá±á«áºááœáẠá¡ááŸááºááááºáá°áááºáá«áááºá á¡áá¯á¶ážááŒá¯ááŸá¯ááá á¹á áááºá¡á¬ážáá¯á¶ážá¡ááœáẠááááºáá±á¬ááºážáá áºáá¯ááŸáá·áº ááŒá áºááá¯ááºáá±á¬ ááá·áºáááºáá»ááºáá»á¬ážááᯠá¡ááŒá¶ááŒá¯áááºááŸá¬ á¡ááœááºááá¯ážááŸááºážááœááºážáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááááºááŒááºáá»ááºááᯠáá±ážááẠáá»á®áá¯á¶áá»áá¯á¶ááŒá áºáá±áá«áááºá áááºážáá²á·ááá¯ááºááá¯ááºáááºááŒááºáá»ááºááᯠáááºáá®ážááá¯ááºááá¯á· áá®áá±á¬ááºážáá«ážááœá±ááᯠáá«áá±ážáá²á·áááºá
áá®á áá áºááŸá áºáá¯áá¯á¶ážá áá±á«ááºážáá±á¬ááºááœá±ááá¯á· ááŒá±á¬áá»ááºáááºá áá»áœááºá¯ááºá ááá±á¬áá»ááºáá»á¬ážááŸáá·áº á¡ááœá±á·á¡ááŒá¯á¶á¡á á¡á¬ááá¶áá»ááºááŸááá±á¬ áááºáá±á·áá»áºááŸá¬áá°ááŸá¯ááŸáá·áº áá¯á¶ááŒááºá áááºáá»áááŸá¯áá²á·ááá¯á·áá±á¬ á¡áá¬áá»á¬ážááᯠáá»áœááºá¯ááºáááºááá¯ážáá¬ážáááºáá±á¬ááŒá±á¬áá·áº á¡áááºážááẠáááºááá¯ááºáááá«áááºá
á€áá¯á¶ááŒááºá
áááºáá»áááŸá¯ááŸáá·áº á¡á¬ááá¶áá»ááºáááŸááá±á¬ á¡ááŒá¬ážáááºážááá¬áá»á¬ážááᯠáá»áœááºá¯ááºááŒááºáááºá ááá¯á·áá±á¬áẠRabbitMQ ááŸáá·áº Kafka ááá¯ááŒáá·áºáᬠá€á
áá
áºááŸá
áºáá¯áá¯á¶ážá ááá¯á¶ááá¯ááºáá±á¬ááºá¡á±á¬ááºáááºááá¯ážááᯠááááŒááºáá¬áááºá
source: www.habr.com