RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡

ะ’ เบšเบปเบ”เบ„เบงเบฒเบกเบชเบธเบ”เบ—เป‰เบฒเบ เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบšเบดเปˆเบ‡เบเบธเปˆเบก RabbitMQ เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡. เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบ‚เบธเบ”เป€เบฅเบดเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Apache Kafka.

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

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 1. เบชเบตเปˆเบžเบฒเบเบชเปˆเบงเบ™เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบฒเบกเบ™เบฒเบเบซเบ™เป‰เบฒ

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบญเปˆเบฒเบ™เปเบฅเบฐเบ‚เบฝเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ›เบซเบฒเบœเบนเป‰เบ™เปเบฒ. เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป€เบ›เบฑเบ™เป„เบฅเบเบฐเป„เบ›เบซเบฒเบœเบนเป‰เบ™เปเบฒเป€เบžเบทเปˆเบญเบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบซเบผเป‰เบฒเบชเบธเบ”. เบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบเบšเปเปˆเป€เบ„เบตเบเบซเบฑเบ™เป„เบ›เบซเบฒเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก;

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡

เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบฅเบปเป‰เบกเป€เบซเบผเบง

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

เบ™เบฒเบเบซเบ™เป‰เบฒ 3 เบญเบญเบเบˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบฅเบฐเบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆเบ–เบทเบเป€เบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบšเบžเบฒเบ 2 เบขเบนเปˆเบ™เบฒเบเบซเบ™เป‰เบฒ 2.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 2. เบ™เบฒเบเบซเบ™เป‰เบฒ 3 เป€เบชเบเบŠเบตเบงเบดเบ”เปเบฅเบฐเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ‚เบญเบ‡เบฅเบฒเบงเปƒเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ 2 เบ–เบทเบเป€เบฅเบทเบญเบเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™เบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆเบ‚เบญเบ‡ partition 2.

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ™เบฒเบเบซเบ™เป‰เบฒ 1 เปƒเบšเปเบฅเบฐเบžเบฒเบเบ—เบต 1 เบเบฑเบ‡เบชเบนเบ™เป€เบชเบเบœเบนเป‰เบ™เปเบฒเบ‚เบญเบ‡เบ•เบปเบ™, เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบ‚เบญเบ‡เบ™เบฒเบเบซเบ™เป‰เบฒเป„เบ”เป‰เบœเปˆเบฒเบ™ 2.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 3. เบกเบตเบ™เบฒเบเปœเป‰เบฒเบ„เบปเบ™เปœเบถเปˆเบ‡เป€เบซเบผเบทเบญ. เบœเบนเป‰เบ™เปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบซเบ™เบถเปˆเบ‡เบ™เบฒเบเบซเบ™เป‰เบฒเบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เบŠเป‰เปเบฒเบŠเป‰เบญเบ™

เป€เบกเบทเปˆเบญเบ™เบฒเบเบซเบ™เป‰เบฒ 1 เบเบฑเบšเบกเบฒเบญเบญเบ™เป„เบฅเบ™เปŒ, เบกเบฑเบ™เบˆเบฐเป€เบžเบตเปˆเบกเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบชเบตเปˆเบ„เบปเบ™, เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบŠเป‰เปเบฒเบŠเป‰เบญเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบซเป‰เบเบฑเบšเปเบ•เปˆเบฅเบฐเบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™. เปเบ•เปˆเบœเบนเป‰เบ™เปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ 2.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 4. เบœเบนเป‰เบ™เปเบฒเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ 2

เป€เบกเบทเปˆเบญเบ™เบฒเบเบซเบ™เป‰เบฒ 3 เบ‚เบถเป‰เบ™เบกเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เบชเบฒเบก replicas เบ•เปเปˆ partition. เปเบ•เปˆเบœเบนเป‰เบ™เปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ 2.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 5. เบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เบšเปเปˆเบชเบปเบกเบ”เบธเบ™เบ‚เบญเบ‡เบœเบนเป‰เบ™เปเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบนเบ™เบฒเบเบซเบ™เป‰เบฒ 1 เปเบฅเบฐ 3

Kafka เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบชเบปเบกเบ”เบธเบ™เบœเบนเป‰เบ™เปเบฒเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒ RabbitMQ. เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰ plugin เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเบซเบผเบท script เบ—เบตเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เบ™เบฐเป‚เบเบšเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบ master node เป‚เบ”เบเบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบŠเป‰เปเบฒเบŠเป‰เบญเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบ. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบชเปเบฒเบฅเบฑเบšเปเบ–เบงเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบญเบกเบฎเบฑเบšเบ„เบงเบฒเบกเบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™ synchronization.

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

เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰, Kafka เบชเบฐเป€เบซเบ™เบตเบชเบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบ:

  • เบ—เบฒเบ‡เป€เบฅเบทเบญเบ auto.leader.rebalance.enable=true เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰ node controller เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹เบกเบญเบšโ€‹เบซเบกเบฒเบโ€‹เบœเบนเป‰โ€‹เบ™เปเบฒโ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เป„เบ›โ€‹เบšเปˆเบญเบ™ replicas เบ—เบตเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เปเบฅเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เบŸเบทเป‰เบ™โ€‹เบŸเบนโ€‹เบเบฒเบ™โ€‹เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เป€เบ›เบฑเบ™โ€‹เป€เบญโ€‹เบเบฐโ€‹เบžเบฒเบšโ€‹.
  • เบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบฅเปˆเบ™เบชเบฐเบ„เบฃเบดเบšเป„เบ”เป‰ kafka-preferred-replica-election.sh เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเปƒเบซเบกเปˆเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 6. Replicas เบซเบผเบฑเบ‡เบˆเบฒเบ rebalancing

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบง, เปเบ•เปˆเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡เปเบกเปˆเบ™เบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰. เบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบกเบฒเบฅเบปเบ‡เป€เบžเบทเปˆเบญ synchronized replicas (In-Sync Replicas, ISR).

เบชเบณเป€เบ™เบปเบฒเปเบšเบšเบŠเบดเป‰เบ‡ (ISR)

ISR เปเบกเปˆเบ™เบŠเบธเบ”เบ‚เบญเบ‡ replicas เบ‚เบญเบ‡เบžเบฒเบ—เบดเบŠเบฑเบ™เบ—เบตเปˆเบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™ "synchronized" (in-sync). เบกเบตเบœเบนเป‰เบ™เปเบฒ, เปเบ•เปˆเบญเบฒเบ”เบˆเบฐเบšเปเปˆเบกเบตเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก. เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเปเบกเปˆเบ™เบ–เบทเบงเปˆเบฒเบ–เบทเบ โ€‹โ€‹synchronized เบ–เป‰เบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบชเปเบฒเป€เบ™เบปเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบญเบ‡เบœเบนเป‰เบ™เปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบเปˆเบญเบ™เบ—เบตเปˆเป„เบฅเบเบฐเป€เบงเบฅเบฒเบˆเบฐเบซเบกเบปเบ”เบญเบฒเบเบธ. replica.lag.time.max.ms.

เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบ ISR เบ—เบตเปˆเบ•เบฑเป‰เบ‡เป„เบงเป‰เบ–เป‰เบฒเบกเบฑเบ™:

  • เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เป€เบฅเบทเบญเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เป„เบฅโ€‹เบเบฐโ€‹ replica.lag.time.max.ms (เบ„เบฒเบ”โ€‹เบงเปˆเบฒโ€‹เบ•เบฒเบโ€‹)
  • เบšเปเปˆเป„เบ”เป‰เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป„เบฅเบเบฐ replica.lag.time.max.ms (เบ–เบทเบงเปˆเบฒเบŠเป‰เบฒ)

เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เบปเบงเบขเปˆเบฒเบ‡เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒ replica.fetch.wait.max.ms, เป€เบŠเบดเปˆเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™ 500ms.

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

  • acks=0, เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡
  • acks=1, เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบ–เบทเบเบชเบปเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบœเบนเป‰เบ™เปเบฒเป„เบ”เป‰เบ‚เบฝเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเป„เบ›เบซเบฒเบšเบฑเบ™เบ—เบถเบเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบฅเบฒเบง
  • acks=all, เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบ replicas เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ ISR เป„เบ”เป‰เบ‚เบฝเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเป„เบ›เบเบฑเบ‡เบšเบฑเบ™เบ—เบถเบเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™

เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบžเบฒเบชเบฒ Kafka, เบ–เป‰เบฒ ISR เป„เบ”เป‰เบšเบฑเบ™เบ—เบถเบเบ‚เปเป‰เบ„เบงเบฒเบก, เบกเบฑเบ™เปเบกเปˆเบ™ "เบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ". Acks=เบ—เบฑเบ‡เปเบปเบ”เปเบกเปˆเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ›เบญเบ”เป„เบžเบ—เบตเปˆเบชเบธเบ”, เปเบ•เปˆเบเบฑเบ‡เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบ•เบทเปˆเบกเบญเบตเบ. เบ‚เปเปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบชเบญเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบงเปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 'acks' เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ” ISR.

Acks=1 เปเบฅเบฐ ISR

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

เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰, เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบกเบตเบ„เปˆเบฒ acks=1. เบžเบฒเบเบชเปˆเบงเบ™เป„เบ”เป‰เบ–เบทเบเปเบˆเบเบขเบฒเบเปƒเบ™เบ—เบปเปˆเบงเบชเบฒเบกเบ™เบฒเบเบซเบ™เป‰เบฒ. เบ™เบฒเบเบซเบ™เป‰เบฒ 3 เปเบกเปˆเบ™เบขเบนเปˆเบซเบฅเบฑเบ‡, เบกเบฑเบ™ synchronized เบเบฑเบšเบœเบนเป‰เบ™เปเบฒเปเบ›เบ”เบงเบดเบ™เบฒเบ—เบตเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ 7456 เบ‚เปเป‰เบ„เบงเบฒเบกเบขเบนเปˆเบซเบฅเบฑเบ‡. เบ™เบฒเบเบซเบ™เป‰เบฒ 1 เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบงเบดเบ™เบฒเบ—เบต. เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบš ack เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ overhead เบ‚เบญเบ‡เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบŠเป‰เบฒเบซเบผเบทเบ•เบฒเบเบ—เบตเปˆเบœเบนเป‰เบ™เปเบฒเบšเปเปˆเป„เบ”เป‰เบฅเปเบ–เป‰เบฒ.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 7. ISR เบเบฑเบšเบชเบฒเบก replicas

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

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 8. เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹เบˆเบฐโ€‹เบชเบนเบ™โ€‹เป€เบชเบโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบกเบฑเบ™โ€‹เป€เบเบตเบ”โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบชเบฑเบโ€‹

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

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 9. เบเบฒเบ™เบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบชเบทเบšเบ•เปเปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบžเบฑเบเบœเปˆเบญเบ™เบชเบฑเป‰เบ™เป†

เบ™เบฒเบเบซเบ™เป‰เบฒ 3 เปเบกเปˆเบ™เบเบฑเบ‡เบขเบนเปˆเบซเบฅเบฑเบ‡. เบกเบฑเบ™เป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบ•เปˆเบšเปเปˆเบชเบฒเบกเบฒเบ” sync. เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเป‰เบญเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบŠเป‰เบฒเบฅเบฐเบซเบงเปˆเบฒเบ‡เบ™เบฒเบเบซเบ™เป‰เบฒ, เบšเบฑเบ™เบซเบฒเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบกเบฑเบ™เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบ ISR. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ ISR เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบ™เบถเปˆเบ‡ replica - เบœเบนเป‰เบ™เปเบฒ! เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบชเบทเบšเบ•เปเปˆเบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 10. เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเปƒเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ 3 เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบ ISR

เบ™เบฒเบเบซเบ™เป‰เบฒ 1 เบฅเบปเป‰เบกเบฅเบปเบ‡เปเบฅเบฐเบซเบ™เป‰เบฒเบ—เบตเปˆเบœเบนเป‰เบ™เปเบฒเป„เบ›เบซเบฒเบ™เบฒเบเบซเบ™เป‰เบฒ 3 เบเบฑเบšเบเบฒเบ™เบชเบนเบ™เป€เบชเบ 15286 เบ‚เปเป‰เบ„เบงเบฒเบก! เบœเบนเป‰เบœเบฐเบฅเบดเบ”เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ. เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบœเบนเป‰เบ™เปเบฒเบ™เบญเบ ISR เปเบกเปˆเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบžเบฝเบ‡เปเบ•เปˆเบเป‰เบญเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ unclean.leader.election.enable=true. เบ–เป‰เบฒเบกเบฑเบ™เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบˆเบฐเบšเปเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปเบฅเบฐเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบญเปˆเบฒเบ™เปเบฅเบฐเบ‚เบฝเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเป€เบชเบ”. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบฅเปเบ–เป‰เบฒเบ™เบฒเบเบซเบ™เป‰เบฒ 1 เบเบฑเบšเบ„เบทเบ™เบกเบฒเบ”เป‰เบงเบเบ‚เปเป‰เบกเบนเบ™ intact เบ‚เบญเบ‡เบฅเบฒเบงเปƒเบ™ replica, เป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบ›เบฑเบ™เบœเบนเป‰เบ™เปเบฒเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 11. เบ™เบฒเบเปœเป‰เบฒ 1 เบ•เบปเบ. เป€เบกเบทเปˆเบญเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบงเป€เบเบตเบ”เบ‚เบทเป‰เบ™, เบ‚เปเป‰เบ„เบงเบฒเบกเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบˆเบฐเบชเบนเบ™เป€เบชเบ

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

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 12. เบซเบผเบฑเบ‡เบˆเบฒเบเบžเบฑเบเบœเปˆเบญเบ™เบชเบฑเป‰เบ™, เบ‚เปเป‰เบ„เบงเบฒเบกเบ–เบทเบเบชเบปเปˆเบ‡เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เป„เบ›เบซเบฒเบžเบฒเบ 0

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

Acks=เบ—เบฑเบ‡เปเบปเบ” เปเบฅเบฐ ISR

เปƒเบซเป‰เป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เปเบ•เปˆเบเบฑเบš acks=เบ—เบฑเบ‡เปเบปเบ”. เบ™เบฒเบเปœเป‰เบฒ 3 เบกเบตเป€เบงเบฅเบฒ latency เบชเบฐเป€เบฅเปˆเบเบชเบตเปˆเบงเบดเบ™เบฒเบ—เบต. เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบเบฑเบš acks=เบ—เบฑเบ‡เปเบปเบ”, เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เป„เบง. เบœเบนเป‰เบ™เปเบฒเบฅเปเบ–เป‰เบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบˆเบฐเบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เป‚เบ”เบ replicas เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ ISR.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 13. ISR เบเบฑเบšเบชเบฒเบก replicas. เบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เบŠเป‰เบฒ, เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒ

เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบตเปˆเบงเบดเบ™เบฒเบ—เบตเบ‚เบญเบ‡เบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เบ™เบฒเบเบซเบ™เป‰เบฒ 2 เบชเบปเปˆเบ‡ ack. เบเบฒเบ™เบˆเบณเบฅเบญเบ‡เบ—เบฑเบ‡เปเบปเบ”เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เบขเปˆเบฒเบ‡เบ„เบปเบšเบ–เป‰เบงเบ™เปเบฅเป‰เบง.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 14. replicas เบ—เบฑเบ‡เบซเบกเบปเบ”เบšเบฑเบ™เบ—เบถเบเบ‚เปเป‰เบ„เบงเบฒเบกเปเบฅเบฐเบชเบปเปˆเบ‡ ack

เบ™เบฒเบเบซเบ™เป‰เบฒ 3 เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ•เบปเบเบขเบนเปˆเบซเบฅเบฑเบ‡เบ•เบทเปˆเบกเบญเบตเบเปเบฅเบฐเบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบ ISR. Latency เปเบกเปˆเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบšเปเปˆเบกเบตเบ•เบปเบงเปเบšเบšเบŠเป‰เบฒเป†เบ—เบตเปˆเป€เบซเบผเบทเบญเบขเบนเปˆเปƒเบ™ ISR. เบ™เบฒเบเบซเบ™เป‰เบฒ 2 เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบฅเปเบ–เป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเบ™เบฒเบเบซเบ™เป‰เบฒ 1, เปเบฅเบฐเบฅเบฒเบงเบกเบต lag เบชเบฐเป€เบฅเปˆเบเบ‚เบญเบ‡ 500 ms.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 15. เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เปƒเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ 3 เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบ ISR

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ™เบฒเบเบซเบ™เป‰เบฒ 2 เบ•เบปเบเบฅเบปเบ‡เปเบฅเบฐเบœเบนเป‰เบ™เปเบฒเบœเปˆเบฒเบ™เป„เบ›เบซเบฒเบ™เบฒเบเบซเบ™เป‰เบฒ 1 เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบ„เบงเบฒเบก.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 16. เบ™เบฒเบเปœเป‰เบฒ 2 เบ•เบปเบ

เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบŠเบญเบเบซเบฒเบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆเปเบฅเบฐเป€เบฅเบตเปˆเบกเบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบซเบฒเบฅเบฒเบง. latency เปเบกเปˆเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ•เบทเปˆเบกเบญเบตเบเป€เบžเบฒเบฐเบงเปˆเบฒ ISR เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบ™เบถเปˆเบ‡ replica! เป€เบžเบฒเบฐเบชเบฐเบ™เบฑเป‰เบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ acks=เบ—เบฑเบ‡เปเบปเบ” เบšเปเปˆเป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบŠเปเป‰เบฒเบŠเป‰เบญเบ™.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 17. Replica on broker 1 เบ™เปเบฒเบžเบฒเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบ„เบงเบฒเบก

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ™เบฒเบเบซเบ™เป‰เบฒ 1 crash เปเบฅเบฐเบ™เปเบฒเป„เบ›เบซเบฒเบ™เบฒเบเบซเบ™เป‰เบฒ 3 เบเบฑเบšเบเบฒเบ™เบชเบนเบ™เป€เบชเบ 14238 เบ‚เปเป‰เบ„เบงเบฒเบก!

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 18. เบ™เบฒเบเปœเป‰เบฒ 1 เบ•เบฒเบ เปเบฅเบฐ เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบœเบนเป‰เบ™เบณเบ”เป‰เบงเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบšเปเปˆเบชเบฐเบญเบฒเบ” เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบกเบนเบ™เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡

เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ•เบปเบงเป€เบฅเบทเบญเบเป„เบ”เป‰ เบšเปเปˆเบชเบฐเบญเบฒเบ”.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.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ™เบฒเบเบซเบ™เป‰เบฒ 2 เบกเบตเบœเบนเป‰เบ™เปเบฒ replica เปเบฅเบฐเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบ™เบฒเบเบซเบ™เป‰เบฒ 3 เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบ ISR.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 19. ISR เบˆเบฒเบเบชเบญเบ‡ replicas

เบ™เบฒเบเบซเบ™เป‰เบฒ 2 เบ•เบปเบเปเบฅเบฐเบœเบนเป‰เบ™เปเบฒเบœเปˆเบฒเบ™เป„เบ›เบซเบฒเบ™เบฒเบเบซเบ™เป‰เบฒ 1 เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบ„เบงเบฒเบก. เปเบ•เปˆเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ ISR เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡ replica. เบ™เบตเป‰เบšเปเปˆเบเบปเบ‡เบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบšเบฑเบ™เบ—เบถเบ, เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ™เบฒเบเบซเบ™เป‰เบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ•เปเปˆเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ‚เบฝเบ™เบ”เป‰เบงเบเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. NotEnoughReplicas.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 20. เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ ISRs เปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เบ•เปˆเปเบฒเบเบงเปˆเบฒเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ min.insync.replicas

เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบ™เบตเป‰โ€‹เป€เบชเบโ€‹เบชเบฐโ€‹เบฅเบฐโ€‹เบเบฒเบ™โ€‹เบกเบตโ€‹เบขเบนเปˆโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ„เบงเบฒเบกโ€‹เบชเบญเบ”โ€‹เบ„เปˆเบญเบ‡โ€‹. เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบฎเบฑเบšเบฎเบนเป‰เบ‚เปเป‰เบ„เบงเบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบ‚เบฝเบ™เป€เบ–เบดเบ‡เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบชเบญเบ‡เบ•เบปเบงเปเบšเบšเบˆเปเบฒเบฅเบญเบ‡. เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เปƒเบˆเบซเบผเบฒเบเบ‚เบถเป‰เบ™. เบ—เบตเปˆเบ™เบตเป‰, เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบ„เบงเบฒเบกเปเบกเปˆเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบชเบญเบ‡ replicas เบฅเบปเป‰เบกเป€เบซเบฅเบงเบžเป‰เบญเบกเป†เบเบฑเบ™เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบชเบฑเป‰เบ™เป†เบˆเบปเบ™เบเปˆเบงเบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบˆเบฐเบ–เบทเบ replicated เบเบฑเบšเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰. เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ„เบงเบฒเบกเบงเบดเบ•เบปเบเบเบฑเบ‡เบงเบปเบ™เบ—เบตเปˆเบชเบธเบ”, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ›เบฑเบ”เป„เบˆเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เป€เบ›เบฑเบ™ 5, เปเบฅเบฐ min.insync.replicas เป‚เบ”เบ 3. เบ™เบตเป‰เบชเบฒเบกเบ™เบฒเบเบซเบ™เป‰เบฒเบ•เป‰เบญเบ‡เบฅเบปเป‰เบกเบฅเบปเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เป€เบžเบทเปˆเบญเบชเบนเบ™เป€เบชเบเบšเบฑเบ™เบ—เบถเบ! เปเบ™เปˆเบ™เบญเบ™, เบ—เปˆเบฒเบ™เบˆเปˆเบฒเบเบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ™เบตเป‰เปƒเบ™ latency เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เปเป‰เบกเบนเบ™

เบ„เบทเปƒเบ™ เบเปเบฅเบฐเบ™เบตเบเบฑเบš RabbitMQ, เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบš:

  • เบœเบนเป‰เป€เบœเบตเบเปเบžเปˆเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ„เบทเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เป„เบ”เป‰ เปเบฅเบฐเปƒเบซเป‰เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบฑเป‰เบ™เบ•เบปเป‰เบ™ เบซเบผเบทเบœเบนเป‰เปƒเบŠเป‰เบžเบฐเบเบฒเบเบฒเบกเบญเบตเบเบ„เบฑเป‰เบ‡เปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡เบšเป?
  • เบœเบนเป‰เป€เบœเบตเบเปเบœเปˆเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบ—เบถเบเบ‚เปเป‰เบ„เบงเบฒเบกเบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบซเบผเบทเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป€เบžเบทเปˆเบญเบฅเบญเบ‡เปƒเปเปˆเปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡เบšเป?

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

เบ„เบงเบฒเบกเบซเบกเบฒเบเบ‚เบญเบ‡ ISR

เบŠเบธเบ” ISR เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเบ„เบงเบฒเบกเบชเบปเบกเบ”เบนเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบเบฒเบ™เปเบเบ‡เป€เบงเบฅเบฒ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเบžเป‰เบญเบกเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡ replicas เบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบซเบผเบธเบ”เบœเปˆเบญเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡ replicas เบ•เบฒเบเบซเบผเบทเบŠเป‰เบฒเปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡ latency.

เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบทเบญเบเบ„เบงเบฒเบกเบซเบกเบฒเบเบ•เบปเบงเป€เบฎเบปเบฒเป€เบญเบ‡ replica.lag.time.max.ms เบ•เบฒเบกโ€‹เบ„เบงเบฒเบกโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹. เป‚เบ”เบเบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเป‰เบง, เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบกเบตเบ„เบงเบฒเบกเบŠเบฑเบเบŠเป‰เบฒเบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบ•เบฑเบกเปƒเบˆเบ—เบตเปˆเบˆเบฐเบเบญเบกเบฎเบฑเบšเป€เบงเบฅเบฒ acks=เบ—เบฑเบ‡เปเบปเบ”. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบชเบดเบšเบงเบดเบ™เบฒเบ—เบต. เบ–เป‰เบฒเบกเบฑเบ™เบเบฒเบงเป€เบเบตเบ™เป„เบ›เบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เบกเบฑเบ™เป„เบ”เป‰. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™ ISR เบˆเบฐเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบˆเบฐเบ–เบทเบเป‚เบเบเบเป‰เบฒเบเปเบฅเบฐเป€เบžเบตเปˆเบกเป€เบฅเบทเป‰เบญเบเป†.

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

เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒ

เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ bootstrap.servers เบœเบนเป‰เบœเบฐเบฅเบดเบ”เปเบฅเบฐเบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบเบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ™เบฒเบเบซเบ™เป‰เบฒเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒ. เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เปเบกเปˆเบ™เบงเปˆเบฒเป€เบกเบทเปˆเบญเบซเบ™เบถเปˆเบ‡ node เบฅเบปเบ‡, เบกเบตเบซเบผเบฒเบเบญเบฑเบ™เบ—เบตเปˆเป€เบซเบฅเบทเบญเป„เบงเป‰เบ—เบตเปˆเบฅเบนเบเบ„เป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เป‰. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบœเบนเป‰เบ™เปเบฒเบžเบฒเบ, เปเบ•เปˆเบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™ springboard เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™. เบฅเบนเบโ€‹เบ„เป‰เบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ–เบฒเบกโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบงเปˆเบฒ node hosts เบœเบนเป‰โ€‹เบ™เปเบฒโ€‹เบเบฒเบ™โ€‹เบญเปˆเบฒเบ™ / เบ‚เบฝเบ™โ€‹เบžเบฒโ€‹เบ—เบดโ€‹เบŠเบฑเบ™โ€‹.

เปƒเบ™ RabbitMQ, เบฅเบนเบเบ„เป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš node เปƒเบ”, เปเบฅเบฐเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบžเบฒเบเปƒเบ™เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป„เบ›เบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ›. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡ load balancer เบขเบนเปˆเบ—เบฒเบ‡เบซเบ™เป‰เบฒเบ‚เบญเบ‡ RabbitMQ. Kafka เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš node เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบœเบนเป‰เบ™เปเบฒเบžเบฒเบ—เบดเบŠเบฑเบ™เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™. เปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡ load balancer เป„เบ”เป‰. เบฅเบฒเบเบเบฒเบ™ bootstrap.servers เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบฅเบนเบเบ„เป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบฅเบฐเบŠเบญเบเบซเบฒเบ‚เปเป‰เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบง.

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ Kafka Consensus

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

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

Zookeeper เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบเบธเปˆเบก:

  • เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบซเบปเบงเบ‚เปเป‰, เบžเบฒเบเบชเปˆเบงเบ™, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, replicas เบœเบนเป‰เบ™เปเบฒเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, replicas เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™.
  • เบชเบฐเบกเบฒเบŠเบดเบเบเบธเปˆเบก. เปเบ•เปˆเบฅเบฐเบ™เบฒเบเปœเป‰เบฒ pings เบเบธเปˆเบก Zookeeper. เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบš ping เบžเบฒเบเปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰, Zookeeper เบšเบฑเบ™เบ—เบถเบเบ™เบฒเบเบซเบ™เป‰เบฒเบงเปˆเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰.
  • เบเบฒเบ™โ€‹เป€เบฅเบทเบญเบโ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ•เบปเป‰เบ™โ€‹เบ•เปโ€‹เปเบฅเบฐโ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹.

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

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

เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹:

  • เบ›เบฑเบšเบ›เบธเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ Zookeeper เบเปˆเบฝเบงเบเบฑเบš ISR เปเบฅเบฐเบœเบนเป‰เบ™เปเบฒ;
  • เบชเบปเปˆเบ‡ LeaderAndISRCommand เป„เบ›เบซเบฒเปเบ•เปˆเบฅเบฐเบ™เบฒเบเบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš replica เบ‚เบญเบ‡ partition เบ™เบตเป‰, เปเบˆเป‰เบ‡เปƒเบซเป‰เบ™เบฒเบเบซเบ™เป‰เบฒเบเปˆเบฝเบงเบเบฑเบš ISR เปเบฅเบฐเบœเบนเป‰เบ™เปเบฒ.

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

เบœเบนเป‰เบ™เปเบฒเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบกเบตเบ„เบงเบฒเบกเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเปƒเบ™เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™ ISRs. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ replica.lag.time.max.ms เบเปเบฒเบ™เบปเบ”เบœเบนเป‰เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบšเปˆเบญเบ™เบ™เบฑเป‰เบ™. เป€เบกเบทเปˆเบญ ISR เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบœเบนเป‰เบ™เปเบฒเบชเบปเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบซเบกเปˆเป„เบ›เบซเบฒ Zookeeper.

Zookeeper เป„เบ”เป‰เบ–เบทเบเปเบˆเป‰เบ‡เปƒเบซเป‰เบŠเบฒเบšเบชเบฐเป€เบซเบกเบตเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ”เป†เป€เบžเบทเปˆเบญเบงเปˆเบฒเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบง, เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เบฅเบฝเบšเบ‡เปˆเบฒเบ.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 21. Kafka Consensus

เบญเบฐเบ™เบธเบชเบฑเบ™เบเบฒเบเบฒเบ™เบˆเบณเบฅเบญเบ‡

เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰.

เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ•เบปเบงเบขเปˆเบฒเบ‡, Log End Offset (LEO) เปเบฅเบฐ Highwater Mark (HW)

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบงเปˆเบฒเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ”เบถเบ‡เป„เบ›เบซเบฒเบœเบนเป‰เบ™เปเบฒเป€เบ›เบฑเบ™เป„เบฅเบเบฐ. เป„เบฅเบเบฐเบซเปˆเบฒเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 500ms. เบ™เบตเป‰เปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบ RabbitMQ เปƒเบ™เบ—เบตเปˆเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡ RabbitMQ เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป‚เบ”เบเบšเปˆเบญเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบ„เบงเบฒเบกเบ„เบดเบงเปเบ•เปˆเป‚เบ”เบเปเบกเปˆเบšเบปเบ”. เปเบกเปˆเบšเบปเบ”เบเบนเป‰เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฑเบšเบเบฐเบˆเบปเบ.

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

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

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ "เบ„เบปเบ‡เบขเบนเปˆ" เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ‚เบฝเบ™เปƒเบชเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เบšเปเปˆเปเบกเปˆเบ™เปƒเบชเปˆเปเบœเปˆเบ™. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, Kafka synchronizes เบเบฑเบš disk เปƒเบ™เป„เบฅเบเบฐเบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡. RabbitMQ เบเบฑเบ‡เบกเบตเบŠเปˆเบงเบ‡เป€เบงเบฅเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เปเบ•เปˆเบกเบฑเบ™เบˆเบฐเบชเบปเปˆเบ‡เบเบฒเบ™เบฎเบฑเบšเบฎเบนเป‰เบเบฑเบšเบœเบนเป‰เป€เบœเบตเบเปเบœเปˆเบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเปเบกเปˆเบšเบปเบ”เปเบฅเบฐเบเบฐเบˆเบปเบเบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ”เป‰เบ‚เบฝเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบชเปˆเปเบœเปˆเบ™. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Kafka, เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบชเบปเปˆเบ‡ ack เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบ‚เปเป‰เบ„เบงเบฒเบกเบ–เบทเบเบ‚เบฝเบ™เบฅเบปเบ‡เปƒเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ. เบเบฒเบ™เป€เบ”เบตเบกเบžเบฑเบ™ Kafka เบ—เบตเปˆเบŠเปเป‰เบฒเบŠเป‰เบญเบ™เบˆเบฐเบŠเบปเบ”เป€เบŠเบตเบเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ•เปเปˆเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบฎเบฑเบšเบฎเบนเป‰เป‚เบ”เบเบซเบเปเป‰เปƒเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.

เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡เบœเบนเป‰เบ™เปเบฒ

เป€เบกเบทเปˆเบญเบœเบนเป‰เบ™เปเบฒเบฅเบปเป‰เบก, Zookeeper เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบœเบนเป‰เบ„เบงเบšเบ„เบธเบก, เปเบฅเบฐเบกเบฑเบ™เป€เบฅเบทเบญเบเบ•เบปเบงเปเบšเบšเบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆ. เบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆเบเปเบฒเบ™เบปเบ”เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบ HW เปƒเบซเบกเปˆเบ•เบฒเบก LEO เบ‚เบญเบ‡เบฅเบฒเบง. เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆ. เบญเบตเบ‡เบ•เบฒเบกเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ Kafka, เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบˆเบฐเป€เบฅเบทเบญเบเป€เบญเบปเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบญเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™:

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

เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบญเบฒเบ”เบˆเบฐเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบฑเบ”เบšเบฑเบ™เบ—เบถเบเบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • เป€เบกเบทเปˆเบญเบœเบนเป‰เบ™เปเบฒเบฅเบปเป‰เบกเป€เบซเบฅเบง, เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ—เปเบฒเบญเบดเบ”เปƒเบ™เบŠเบธเบ” ISR เบ—เบตเปˆเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบเบฑเบš Zookeeper เบŠเบฐเบ™เบฐเบเบฒเบ™เป€เบฅเบทเบญเบเบ•เบฑเป‰เบ‡เปเบฅเบฐเบเบฒเบเป€เบ›เบฑเบ™เบœเบนเป‰เบ™เปเบฒ. เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ ISR, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบงเปˆเบฒ "เบขเบนเปˆเปƒเบ™ sync," เบญเบฒเบ”เบˆเบฐเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบชเปเบฒเป€เบ™เบปเบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฒเบเบญเบฐเบ”เบตเบ”เบœเบนเป‰เบ™เปเบฒ. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เบšเปเปˆเบกเบตเบชเบณเป€เบ™เบปเบฒเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เปเบ—เบตเปˆเบชเบธเบ”. Kafka เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ replicas. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡, เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบ•เป‰เบญเบ‡เบ•เบฑเบ”เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบกเบฑเบ™เปƒเบซเป‰เบเบฑเบšเบกเบนเบ™เบ„เปˆเบฒ HW เบ‚เบญเบ‡เบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆเปƒเบ™เป€เบงเบฅเบฒเป€เบฅเบทเบญเบเบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบฅเบฒเบง. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ acks=เบ—เบฑเบ‡เปเบปเบ” เบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡.
  • เบ‚เปเป‰เบ„เบงเบฒเบกเบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เป„เบฅเบเบฐเป†เปƒเบชเปˆเปเบœเปˆเบ™. เบ–เป‰เบฒเบ—เบธเบ nodes cluster เบฅเบปเป‰เบกเป€เบซเบฅเบงเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, replicas with different offsets will be stored on the disks. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบงเปˆเบฒเป€เบกเบทเปˆเบญเบ™เบฒเบเบซเบ™เป‰เบฒเบเบฑเบšเบกเบฒเบญเบญเบ™เป„เบฅเบ™เปŒ, เบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆเบ—เบตเปˆเบ–เบทเบเป€เบฅเบทเบญเบเบ•เบฑเป‰เบ‡เบˆเบฐเบขเบนเปˆเบซเบฅเบฑเบ‡เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ‚เบญเบ‡เบฅเบฒเบงเบเป‰เบญเบ™เบงเปˆเบฒเบฅเบฒเบงเบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เปเบœเปˆเบ™เบเปˆเบญเบ™เบ„เบปเบ™เบญเบทเปˆเบ™.

Reunion เบเบฑเบšเบเบธเปˆเบก

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

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

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

เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ

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

เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡:

  • เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 1: เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบšเปเปˆเป€เบซเบฑเบ™เบœเบนเป‰เบ™เบณ, เปเบ•เปˆเบเบฑเบ‡เป€เบซเบฑเบ™เบœเบนเป‰เบฎเบฑเบเบชเบฒเบชเบฑเบ”เบขเบนเปˆ.
  • เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 2: เบœเบนเป‰เบ™เปเบฒเบšเปเปˆเป€เบซเบฑเบ™เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก, เปเบ•เปˆเบเบฑเบ‡เป€เบซเบฑเบ™ Zookeeper.
  • เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 3: เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเป€เบซเบฑเบ™เบœเบนเป‰เบ™เปเบฒ, เปเบ•เปˆเบšเปเปˆเป€เบซเบฑเบ™เบœเบนเป‰เบฎเบฑเบเบชเบฒเบชเบฑเบ”.
  • เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 4: เบœเบนเป‰เบ™เปเบฒเป€เบซเบฑเบ™เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก, เปเบ•เปˆเบšเปเปˆเป€เบซเบฑเบ™ Zookeeper.
  • เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 5: เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเปเบกเปˆเบ™เปเบเบเบญเบญเบเบˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡เบ‚เปเป‰ Kafka เบญเบทเปˆเบ™เป†เปเบฅเบฐ Zookeeper.
  • เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 6: เบœเบนเป‰เบ™เปเบฒเป„เบ”เป‰เบ–เบทเบเปเบเบเบญเบญเบเบˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡เบ‚เปเป‰ Kafka เบญเบทเปˆเบ™เป†เปเบฅเบฐ Zookeeper.
  • เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 7: เป‚เบ™เบ”เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Kafka เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป‚เบซเบ™เบ” Kafka เบญเบทเปˆเบ™เป„เบ”เป‰.
  • เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 8: เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Kafka เบšเปเปˆเป€เบซเบฑเบ™ Zookeeper.

เปเบ•เปˆเบฅเบฐเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบกเบตเบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡.

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 1: เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบšเปเปˆเป€เบซเบฑเบ™เบœเบนเป‰เบ™เบณ, เปเบ•เปˆเบเบฑเบ‡เบ„เบปเบ‡เป€เบซเบฑเบ™ Zookeeper

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 22. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 1: ISR เบ‚เบญเบ‡เบชเบฒเบก replicas

เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบเบเบ™เบฒเบเบซเบ™เป‰เบฒ 3 เบˆเบฒเบเบ™เบฒเบเบซเบ™เป‰เบฒ 1 เปเบฅเบฐ 2, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบˆเบฒเบ Zookeeper. เบ™เบฒเบเปœเป‰เบฒ 3 เบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ„เบณเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบญเบตเบเบ•เปเปˆเป„เบ›. เบซเบผเบฑเบ‡เบˆเบฒเบเป€เบงเบฅเบฒเบœเปˆเบฒเบ™เป„เบ› replica.lag.time.max.ms เบกเบฑเบ™เบ–เบทเบเบฅเบถเบšเบญเบญเบเบˆเบฒเบ ISR เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ‚เปเป‰เบ„เบงเบฒเบก. เป€เบกเบทเปˆเบญเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบน, เบกเบฑเบ™เบˆเบฐเบชเบทเบšเบ•เปเปˆเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก ISR เป€เบกเบทเปˆเบญเบกเบฑเบ™เบžเบปเบšเบเบฑเบšเบœเบนเป‰เบ™เปเบฒ. Zookeeper เบˆเบฐเบชเบทเบšเบ•เปเปˆเป„เบ”เป‰เบฎเบฑเบš pings เปเบฅเบฐเบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบ™เบฒเบเบซเบ™เป‰เบฒเปเบกเปˆเบ™เบกเบตเบŠเบตเบงเบดเบ”เบขเบนเปˆเปเบฅเบฐเบ”เบต.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 23. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 1: เบ™เบฒเบเปœเป‰เบฒเบˆเบฐเบ–เบทเบเบฅเบถเบšเบญเบญเบเบˆเบฒเบ ISR เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบกเบฑเบ™เบžเบฒเบเปƒเบ™เป„เบฅเบเบฐ replica.lag.time.max.ms.

เบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบฐเบ‡เบฑเบšเบชเบฐเปเบญเบ‡ เบซเบผเบท เป‚เบซเบ™เบ”เบ„เบทเปƒเบ™ RabbitMQ. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบเบฒเบ™เบŠเปเป‰เบฒเบŠเป‰เบญเบ™เปเบกเปˆเบ™เบซเบผเบธเบ”เบฅเบปเบ‡.

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 2: เบœเบนเป‰เบ™เปเบฒเบšเปเปˆเป€เบซเบฑเบ™เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเปƒเบ”เป†, เปเบ•เปˆเบเบฑเบ‡เบ„เบปเบ‡เป€เบซเบฑเบ™ Zookeeper

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 24. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 2. เบœเบนเป‰เบ™เปเบฒเปเบฅเบฐเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบชเบญเบ‡เบ„เบปเบ™

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

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 25. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 2. ISR เป„เบ”เป‰เบซเบผเบธเบ”เบฅเบปเบ‡เบžเบฝเบ‡เปเบ•เปˆเบœเบนเป‰เบ™เปเบฒ

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 3. เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเป€เบซเบฑเบ™เบœเบนเป‰เบ™เปเบฒ, เปเบ•เปˆเบšเปเปˆเป€เบซเบฑเบ™เบœเบนเป‰เบฎเบฑเบเบชเบฒเบชเบฑเบ”

เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ–เบทเบเปเบเบเบญเบญเบเบˆเบฒเบ Zookeeper, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบกเบฒเบˆเบฒเบเบ™เบฒเบเบซเบ™เป‰เบฒเบเบฑเบšเบœเบนเป‰เบ™เปเบฒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเป€เบ›เบฑเบ™เบชเบฐเบกเบฒเบŠเบดเบเบ‚เบญเบ‡ ISR. Zookeeper เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบš pings เปเบฅเบฐเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบเบฒเบ™เบฅเบปเป‰เบกเบฅเบฐเบฅเบฒเบเบ‚เบญเบ‡เบ™เบฒเบเบซเบ™เป‰เบฒ, เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก, เบšเปเปˆเบกเบตเบœเบปเบ™เบชเบฐเบ—เป‰เบญเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบŸเบทเป‰เบ™เบ•เบปเบง.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 26. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 3: เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ”เบถเบ‡เป„เบ›เบซเบฒเบœเบนเป‰เบ™เปเบฒ

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 4. เบœเบนเป‰เบ™เปเบฒเป€เบซเบฑเบ™เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก, เปเบ•เปˆเบšเปเปˆเป€เบซเบฑเบ™ Zookeeper

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 27. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 4. เบœเบนเป‰เบ™เปเบฒเปเบฅเบฐเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบชเบญเบ‡เบ„เบปเบ™

เบœเบนเป‰เบ™เปเบฒเปเบกเปˆเบ™เปเบเบเบญเบญเบเบˆเบฒเบ Zookeeper, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบกเบฒเบˆเบฒเบเบ™เบฒเบเบซเบ™เป‰เบฒเบเบฑเบšเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 28. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 4: เบœเบนเป‰เบ™เปเบฒเป‚เบ”เบ”เบ”เปˆเบฝเบงเบˆเบฒเบ Zookeeper

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

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

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

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 29. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 4. เบœเบนเป‰เบ™เปเบฒเปƒเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ 1 เบเบฒเบเป€เบ›เบฑเบ™เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบซเบผเบฑเบ‡เบˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบน.

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 5: เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเปเบกเปˆเบ™เปเบเบเบญเบญเบเบˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡เบ‚เปเป‰ Kafka เบญเบทเปˆเบ™เป†เปเบฅเบฐ Zookeeper

เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเปเบกเปˆเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเบˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡เบ‚เปเป‰ Kafka เบญเบทเปˆเบ™เป†เปเบฅเบฐ Zookeeper. เบฅเบฒเบงเบžเบฝเบ‡เปเบ•เปˆเบ–เบญเบ™เบ•เบปเบงเบญเบญเบเบˆเบฒเบ ISR เบˆเบปเบ™เบเปˆเบงเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบน, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบˆเบฑเบšเบเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 30. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 5: เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบ ISR

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 6: เบœเบนเป‰เบ™เปเบฒเปเบกเปˆเบ™เปเบเบเบญเบญเบเบˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡เบ‚เปเป‰ Kafka เบญเบทเปˆเบ™เป†เปเบฅเบฐ Zookeeper

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 31. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 6. เบœเบนเป‰เบ™เปเบฒเปเบฅเบฐเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบชเบญเบ‡เบ„เบปเบ™

เบœเบนเป‰เบ™เปเบฒเปเบกเปˆเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบˆเบฒเบเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ‚เบญเบ‡เบฅเบฒเบง, เบœเบนเป‰เบ„เบงเบšเบ„เบธเบกเปเบฅเบฐ Zookeeper. เบชเปเบฒเบฅเบฑเบšเป„เบฅเบเบฐเป€เบงเบฅเบฒเบชเบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเบชเบทเบšเบ•เปเปˆเบฎเบฑเบšเป€เบญเบปเบฒเบฅเบฒเบเบเบฒเบ™เบˆเบฒเบ acks=1.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 32. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 6: เบเบฒเบ™เปเบเบเบœเบนเป‰เบ™เปเบฒเบญเบญเบเบˆเบฒเบเป‚เบซเบกเบ” Kafka เปเบฅเบฐ Zookeeper เบญเบทเปˆเบ™เป†

เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบซเบผเบฑเบ‡เบˆเบฒเบเบซเบกเบปเบ”เบญเบฒเบเบธ replica.lag.time.max.ms, เบกเบฑเบ™เบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบซเบผเบธเบ”เบฅเบปเบ‡ ISR เบเบฑเบšเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡, เปเบ•เปˆเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป€เบžเบฒเบฐเบงเปˆเบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบเบฑเบš Zookeeper, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™.

เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, Zookeeper เบˆเบฐเบซเบกเบฒเบเบ™เบฒเบเบซเบ™เป‰เบฒเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเบงเปˆเบฒเบ•เบฒเบเปเบฅเป‰เบงเปเบฅเบฐเบœเบนเป‰เบ„เบงเบšเบ„เบธเบกเบˆเบฐเป€เบฅเบทเบญเบเป€เบญเบปเบฒเบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆ.

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 33. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 6. เบชเบญเบ‡เบœเบนเป‰เบ™เปเบฒ

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

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 34. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 6: เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆ

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

RabbitMQ vs Kafka: เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡
เป€เบ‚เบปเป‰เบฒ. 35. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 6: เบœเบนเป‰เบ™เปเบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบเบฒเบเป€เบ›เบฑเบ™เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบน

เปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰, เบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เบญเบฒเบ”เบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบชเบฑเป‰เบ™เป†, เปเบ•เปˆเบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒ acks=1 ะธ min.insync.replicas เบเบฑเบ‡ 1. เบเบฒเบ™เปเบเบเบ•เบปเบงเบ•เบฒเบกเป€เบซเบ”เบœเบปเบ™เบˆเบฐเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบนเบ„เบทเบ™เปƒเบซเบกเปˆ, เป€เบกเบทเปˆเบญเบœเบนเป‰เบ™เปเบฒเป€เบ”เบตเบกเบฎเบนเป‰เบงเปˆเบฒเบฅเบฒเบงเบšเปเปˆเปเบกเปˆเบ™เบœเบนเป‰เบ™เปเบฒเบญเบตเบเบ•เปเปˆเป„เบ›, เบซเบผเบทเป€เบกเบทเปˆเบญเบฅเบนเบเบ„เป‰เบฒเบ—เบธเบเบ„เบปเบ™เบฎเบนเป‰เบงเปˆเบฒเบœเบนเป‰เบ™เปเบฒเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ‚เบฝเบ™เป„เบ›เบซเบฒเบœเบนเป‰เบ™เปเบฒเปƒเบซเบกเปˆ - เบญเบฑเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเปˆเบญเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ‚เปเป‰เบ„เบงเบฒเบกเบšเบฒเบ‡เบขเปˆเบฒเบ‡เบˆเบฐเบชเบนเบ™เป€เบชเบ, เปเบ•เปˆเบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบกเบต acks=1.

เบกเบตเบ•เบปเบงเปเบ›เบญเบทเปˆเบ™เบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰เบ—เบตเปˆ, เบเปˆเบญเบ™เบ—เบตเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™, เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเป„เบ”เป‰เบฅเบปเป‰เบกเบฅเบปเบ‡เปเบฅเบฐเบœเบนเป‰เบ™เปเบฒเป„เบ”เป‰เบšเบตเบšเบญเบฑเบ” ISR เปƒเบซเป‰เบเบฑเบšเบ•เบปเบงเป€เบญเบ‡. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ. เบœเบนเป‰โ€‹เบ™เปเบฒโ€‹เปƒเบซเบกเปˆโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบฅเบทเบญเบโ€‹เบ•เบฑเป‰เบ‡โ€‹, เปเบ•เปˆโ€‹เบœเบนเป‰โ€‹เบ™เปเบฒโ€‹เบ•เบปเป‰เบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เบเบฑเบ‡โ€‹เบชเบทเบšโ€‹เบ•เปเปˆโ€‹เบฎเบฑเบšโ€‹เป€เบญเบปเบฒโ€‹เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบฎเปˆเบงเบกโ€‹, เป€เบ–เบดเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹ acks=เบ—เบฑเบ‡เปเบปเบ”, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบšเปเปˆเบกเบตเบ„เบปเบ™เบญเบทเปˆเบ™เปƒเบ™ ISR เบเบปเบเป€เบงเบฑเป‰เบ™เป€เบ‚เบปเบฒ. เบšเบฑเบ™เบ—เบถเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบชเบนเบ™เป€เบชเบเป„เบ›เป€เบกเบทเปˆเบญเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบนเบ„เบทเบ™เบกเบฒ. เบงเบดเบ—เบตเบ”เบฝเบงเบ—เบตเปˆเบˆเบฐเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™ min.insync.replicas = 2.

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 7: เป‚เบ™เบ”เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Kafka เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป‚เบซเบ™เบ” Kafka เบญเบทเปˆเบ™เป„เบ”เป‰

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

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบต 8: เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Kafka เบšเปเปˆเป€เบซเบฑเบ™ Zookeeper

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

เบšเบปเบ”เบชเบฐเบซเบผเบธเบšเบˆเบฒเบเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™

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

เบ–เป‰เบฒเบœเบนเป‰เบ™เปเบฒเบ–เบทเบเปเบเบเบญเบญเบเบˆเบฒเบ Zookeeper เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบ‚เปเป‰เบ„เบงเบฒเบกเบชเบนเบ™เป€เบชเบเบˆเบฒเบ acks=1. เบเบฒเบ™เบ‚เบฒเบ”เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบเบฑเบš Zookeeper เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เบชเบฑเป‰เบ™เป†เบเบฑเบšเบœเบนเป‰เบ™เปเบฒเบ—เบฑเบ‡เบชเบญเบ‡. เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เบ–เบทเบเปเบเป‰เป„เบ‚เป‚เบ”เบเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต acks=เบ—เบฑเบ‡เปเบปเบ”.

Parameter min.insync.replicas เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบชเบญเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบงเปˆเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เป„เบฅเบเบฐเบชเบฑเป‰เบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบˆเบฐเบšเปเปˆเบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบ‚เปเป‰เบ„เบงเบฒเบกเบชเบนเบ™เป€เบชเบเบ„เบทเบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 6.

เบชเบฐเบซเบผเบธเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบฅเบทเบก

เปƒเบซเป‰เบšเบญเบเบงเบดเบ—เบตเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบกเบนเบ™เปƒเบ™ Kafka:

  • เบœเบนเป‰เบ™เปเบฒเปƒเบ”เป†เบฅเบปเป‰เบกเป€เบซเบฅเบงเบ–เป‰เบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบ–เบทเบเบขเบทเบ™เบขเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰ acks=1
  • เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบœเบนเป‰เบ™เปเบฒเบ—เบตเปˆเบšเปเปˆเบชเบฐเบญเบฒเบ”, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เป„เบ›เบชเบนเปˆเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบ™เบญเบ ISR, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ acks=เบ—เบฑเบ‡เปเบปเบ”
  • เบเบฒเบ™เปเบเบเบœเบนเป‰เบ™เปเบฒเบญเบญเบเบˆเบฒเบ Zookeeper เบ–เป‰เบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบ–เบทเบเบขเบทเบ™เบขเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰ acks=1
  • เบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบœเบนเป‰เบ™เปเบฒเบ—เบตเปˆเป„เบ”เป‰เบซเบผเบธเบ”เบฅเบปเบ‡เบเบธเปˆเบก ISR เปเบฅเป‰เบง. เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบชเบนเบ™เป€เบชเบ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ acks=เบ—เบฑเบ‡เปเบปเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ min.insync.replicas=1.
  • เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบžเป‰เบญเบกเป†เบเบฑเบ™เบ‚เบญเบ‡เบ—เบธเบ nodes partition. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบ–เบทเบเบฎเบฑเบšเบฎเบนเป‰เบˆเบฒเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เบšเบฒเบ‡เบญเบฑเบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเปเบœเปˆเบ™. เบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบดเบ”เป€เบ›เบตเบ”เป€เบ„เบทเปˆเบญเบ‡เป€เบŠเบตเบšเป€เบงเบต, เบšเบฒเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบญเบฒเบ”เบˆเบฐเบซเบฒเบเป„เบ›.

เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบœเบนเป‰เบ™เปเบฒเบ—เบตเปˆเบšเปเปˆเบชเบฐเบญเบฒเบ”เบชเบฒเบกเบฒเบ”เบซเบผเบตเบเบฅเปˆเบฝเบ‡เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบซเป‰เบฒเบกเบžเบงเบเป€เบ‚เบปเบฒเบซเบผเบทเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบชเบญเบ‡เบเบฒเบ™เบŠเปเป‰เบฒเบŠเป‰เบญเบ™. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™ acks=เบ—เบฑเบ‡เปเบปเบ” ะธ min.insync.replicas เบซเบผเบฒเบเบเปˆเบงเบฒ 1.

เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเป‚เบ”เบเบเบปเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ‚เบญเบ‡ RabbitMQ เปเบฅเบฐ Kafka

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

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

RabbitMQ เปเบกเปˆเบ™เบ”เบตเบเบงเปˆเบฒ Kafka เปƒเบ™เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบซเบผเบฒเบเปƒเบ™ cluster เบฅเบปเป‰เบกเป€เบซเบฅเบงเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปเบฅเป‰เบง, RabbitMQ เบชเบปเปˆเบ‡เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบเบฑเบšเบœเบนเป‰เป€เบœเบตเบเปเบœเปˆเบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ‚เปเป‰เบ„เบงเบฒเบกเบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเปเบœเปˆเบ™เป‚เบ”เบเปเบกเปˆเบšเบปเบ”เปเบฅเบฐเบเบฐเบˆเบปเบเบ—เบฑเบ‡เบซเบกเบปเบ”. เปเบ•เปˆเบ™เบตเป‰เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบชเบญเบ‡เป€เบซเบ”เบœเบปเบ™:

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

เบเบฒเบ™เป€เบ”เบตเบกเบžเบฑเบ™เบ‚เบญเบ‡ Kafka เปเบกเปˆเบ™เบงเปˆเบฒเบ–เป‰เบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบ—เบปเปˆเบงเบซเบผเบฒเบเป‚เบซเบ™เบ”, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบฎเบฑเบšเบฎเบนเป‰เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ•เบตเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ™เบตเป‰, เบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ—เบตเปˆเบˆเบฐเบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เปƒเบ”เบซเบ™เบถเปˆเบ‡ (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ acks=เบ—เบฑเบ‡เปเบปเบ”, min.insync.replicas=2) เปƒเบ™โ€‹เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบ‚เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบฅเบปเป‰เบกโ€‹เป€เบซเบผเบงโ€‹เบžเป‰เบญเบกโ€‹เบเบฑเบ™โ€‹.

เป‚เบ”เบเบฅเบงเบก, Kafka เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบŠเบญเบšเปเบงเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเปเบฅเบฐเบ–เบทเบเบญเบญเบเปเบšเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก. เบˆเปเบฒเบ™เบงเบ™เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบ›เบฑเบ™ 11 เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบท. เบ›เบฑเบ”เป„เบˆเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡ 5 เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบ‚เบญเบ‡ replicas เปƒเบ™ synchronization min.insync.replicas=3 เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป€เบซเบ”เบเบฒเบ™เบ—เบตเปˆเบซเบฒเบเบฒเบเบซเบผเบฒเบ. เบ–เป‰เบฒเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ™เบตเป‰เปเบฅเบฐเบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบŠเปเป‰เบฒเบŠเป‰เบญเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰.

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

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

เบชเบธเบ”เบ—เป‰เบฒเบ, เบขเปˆเบฒเบฅเบทเบกเบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เปเบกเบ‡เป„เบกเป‰เปƒเบ™ clustering เปเบฅเบฐ replication เบเบปเบ™เป„เบเบ‚เบญเบ‡เบ—เบฑเบ‡ RabbitMQ เปเบฅเบฐ Kafka. เป€เบกเบทเปˆเบญเป€เบงเบฅเบฒเบœเปˆเบฒเบ™เป„เบ›, เบฅเบฐเบšเบปเบšเบ•เปˆเบฒเบ‡เป†เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบœเบนเป‰เปƒเบซเบเปˆเปเบฅเบฐเบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡, เปเบ•เปˆเบšเปเปˆเบกเบตเบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบ”เป†เบ—เบตเปˆเบˆเบฐเบ›เบญเบ”เป„เบž 100% เบˆเบฒเบเบเบฒเบ™เบชเบนเบ™เป€เบชเบ! เบ™เบญเบเบ™เบตเป‰, เบญเบธเบšเบฑเบ”เป€เบซเบ”เบ‚เบฐเปœเบฒเบ”เปƒเบซเบเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบขเบนเปˆเบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™!

เบ–เป‰เบฒเบ‚เป‰เบญเบเบžเบฒเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เป€เบฎเบฑเบ”เบœเบดเบ”เบžเบฒเบ”, เบซเบผเบทเป€เบˆเบปเป‰เบฒเบšเปเปˆเป€เบซเบฑเบ™เบ”เบตเบเบฑเบšเบˆเบธเบ”เปƒเบ”เบซเบ™เบถเปˆเบ‡, เบเบฐเบฅเบธเบ™เบฒเบ‚เบฝเบ™เบ„เปเบฒเป€เบซเบฑเบ™เบซเบผเบทเบ•เบดเบ”เบ•เปเปˆเบ‚เป‰เบญเบ.

เบ‚เป‰เบญเบเบกเบฑเบเบˆเบฐเบ–เบทเบเบ–เบฒเบกเบงเปˆเบฒ: "เบชเบดเปˆเบ‡เบ—เบตเปˆเบˆเบฐเป€เบฅเบทเบญเบ, Kafka เบซเบผเบท RabbitMQ?", "เป€เบงเบ—เบตเปƒเบ”เบ”เบตเบเบงเปˆเบฒ?". เบ„เบงเบฒเบกเบˆเบดเบ‡เปเบฅเป‰เบงเบกเบฑเบ™เบเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เบ›เบฐเบชเบปเบšเบเบฒเบ™เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบ‚เป‰เบญเบเบฅเบฑเบ‡เป€เบฅเบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ‡เปˆเบฒเบเป€เบเบตเบ™เป„เบ›เบ—เบตเปˆเบˆเบฐเปเบ™เบฐเบ™เปเบฒเป€เบงเบ—เบตเบ”เบฝเบงเบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบเปเบฅเบฐเบ™เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ‚เบฝเบ™เบšเบปเบ”เป€เบฅเบทเปˆเบญเบ‡เบŠเบธเบ”เบ™เบตเป‰เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบšเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡.

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

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

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

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