Ð
ããã§ãã¬ããªã±ãŒã·ã§ã³ã®åäœã¯ããŒãã£ã·ã§ã³ã§ãã åãããã¯ã«ã¯ 3 ã€ä»¥äžã®ã»ã¯ã·ã§ã³ããããŸãã åã»ã¯ã·ã§ã³ã«ã¯ããã©ãã¯ãŒã®æç¡ã«ããããããªãŒããŒãããŸãã ãããã¯ãäœæãããšãã¯ãããŒãã£ã·ã§ã³ã®æ°ãšã¬ããªã±ãŒã·ã§ã³ä¿æ°ãæå®ããŸãã éåžžã®å€ã¯ XNUMX ã§ããã㯠XNUMX ã€ã®ã¬ããªã« (XNUMX ã€ã®ãªãŒããŒãš XNUMX ã€ã®ãã©ãã¯ãŒ) ãæå³ããŸãã
ç±³ã 1. XNUMX ã€ã®ã»ã¯ã·ã§ã³ã XNUMX ã€ã®ãããŒã«ãŒã«åæ£ãããŠããŸã
ãã¹ãŠã®èªã¿åãããã³æžã蟌ã¿ãªã¯ãšã¹ãã¯ãªãŒããŒã«éãããŸãã ãã©ãã¯ãŒã¯å®æçã«ãªãŒããŒã«ãªã¯ãšã¹ããéä¿¡ããææ°ã®ã¡ãã»ãŒãžãåä¿¡ããŸãã æ¶è²»è ã¯ãã©ãã¯ãŒã«é Œãããšã¯ãããŸãããåŸè ã¯åé·æ§ãšãã©ãŒã«ã ãã¬ã©ã³ã¹ã®ããã«ã®ã¿ååšããŸãã
ããŒãã£ã·ã§ã³é害
ãããŒã«ãŒã倱æãããšãå€ãã®å Žåãããã€ãã®ã»ã¯ã·ã§ã³ã®ãªãŒããŒã倱æããŸãã ããããã®ããŒãã§ãå¥ã®ããŒãããã®ãã©ãã¯ãŒããªãŒããŒã«ãªããŸãã å®éã«ã¯ãåžžã«ãããšã¯éããŸãããåæä¿æ°ã圱é¿ããŸããåæããããã©ãã¯ãŒããããã©ããããªãå Žåã¯éåæã¬ããªã«ãžã®åãæ¿ããèš±å¯ããããã©ããã§ãã ããããä»ã¯ç©äºãè€éã«ããã®ã¯ãããŸãããã
ãããŒã«ãŒ 3 ããããã¯ãŒã¯ãé¢ãããããŒã«ãŒ 2 ã§ã»ã¯ã·ã§ã³ 2 ã®æ°ãããªãŒããŒãéžåºãããŸãã
ç±³ã 2. ãããŒã«ãŒ 3 ãæ»äº¡ãããããŒã«ãŒ 2 ã®ãã©ãã¯ãŒãããŒãã£ã·ã§ã³ 2 ã®æ°ãããªãŒããŒãšããŠéžåºãããŸãã
ãã®åŸããããŒã«ãŒ 1 ãå»ããã»ã¯ã·ã§ã³ 1 ããªãŒããŒã倱ãããã®åœ¹å²ã¯ãããŒã«ãŒ 2 ã«åŒãç¶ãããŸãã
ç±³ã 3. ãããŒã«ãŒã XNUMX 人æ®ã£ãŠããŸãã ãã¹ãŠã®ãªãŒããŒã¯åé·æ§ã®ãªã XNUMX ã€ã®ãããŒã«ãŒäžã«ãããŸã
ãããŒã«ãŒ 1 ããªã³ã©ã€ã³ã«æ»ããšã2 ã€ã®ãã©ãã¯ãŒãè¿œå ãããåããŒãã£ã·ã§ã³ã«ããçšåºŠã®åé·æ§ãæäŸãããŸãã ãããããã¹ãŠã®ãªãŒããŒã¯äŸç¶ãšããŠãããŒã«ãŒ XNUMX ã«æ®ããŸããã
ç±³ã 4. ãªãŒããŒã¯ãããŒã«ãŒ 2 ã«æ®ããŸã
ãããŒã«ãŒ 3 ãèµ·åãããšãããŒãã£ã·ã§ã³ããšã« 2 ã€ã®ã¬ããªã«ã«æ»ããŸãã ãããããã¹ãŠã®ãªãŒããŒã¯ãŸã ãããŒã«ãŒ XNUMX ã«ããŸãã
ç±³ã 5. ãããŒã«ãŒ 1 ãš 3 ã®ä¿®åŸ©åŸã®ãªãŒããŒã®ã¢ã³ãã©ã³ã¹ãªé
眮
Kafka ã«ã¯ãRabbitMQ ãããåªãããªãŒããŒã®ãªãã©ã³ã¹ãè¡ãããŒã«ããããŸãã ããã§ã¯ã移è¡äžã®åé·æ§ãåæžããããšã§ãã¹ã¿ãŒ ããŒãã®ç§»è¡ããªã·ãŒãå€æŽãããµãŒãããŒãã£ã®ãã©ã°ã€ã³ãŸãã¯ã¹ã¯ãªããã䜿çšããå¿ èŠããããŸããã ããã«ããã¥ãŒã倧ããå Žåã¯ãåæäžã«å©çšã§ããªãããšãåãå ¥ããå¿ èŠããããŸããã
Kafka ã«ã¯ããªãŒããŒã®åœ¹å²ã«ãåªå ã¬ããªã«ããšããæŠå¿µããããŸãã ããã㯠ããŒãã£ã·ã§ã³ãäœæããããšãKafka ã¯ãªãŒããŒãããŒãéã§åçã«åæ£ããããšããæåã®ãªãŒããŒãåªå ãšããŠããŒã¯ããŸãã æéã®çµéãšãšãã«ããµãŒããŒã®åèµ·åãé害ãæ¥ç¶ã®åæã«ãããäžèšã®æ¥µç«¯ãªã±ãŒã¹ã®ããã«ããªãŒããŒãä»ã®ããŒãã«ç§»åããå¯èœæ§ããããŸãã
ãããä¿®æ£ããããã«ãKafka 㯠XNUMX ã€ã®ãªãã·ã§ã³ãæäŸããŸãã
- ãªãã·ã§ã³ auto.leader.rebalance.enable=true ããã«ãããã³ã³ãããŒã©ãŒ ããŒãããªãŒããŒãåªå ã¬ããªã«ã«èªåçã«åå²ãåœãŠããåäžãªåæ£ã埩å ã§ããããã«ãªããŸãã
- 管çè ã¯ã¹ã¯ãªãããå®è¡ã§ããŸã kafka-preferred-replica-election.sh æåã§ã®åå²ãåœãŠã®å Žåã
ç±³ã 6. ãªãã©ã³ã¹åŸã®ã¬ããªã«
ããã¯å€±æã®ç°¡ç¥åãããããŒãžã§ã³ã§ãããããã§ã¯ããã»ã©è€éãªããšã¯ãããŸããããçŸå®ã¯ããã«è€éã§ãã ãã¹ãŠã¯åæã¬ããªã« (In-Sync ReplicaãISR) ã«åž°çããŸãã
åæã¬ããªã« (ISR)
ISR ã¯ããåæã (åæäž) ãšã¿ãªãããããŒãã£ã·ã§ã³ã®ã¬ããªã«ã®ã»ããã§ãã ãªãŒããŒã¯ãããããã©ãã¯ãŒã¯ããªããããããªãã ãã©ãã¯ãŒã¯ãééãçµäºããåã«ãã¹ãŠã®ãªãŒããŒã®ã¡ãã»ãŒãžã®æ£ç¢ºãªã³ããŒãäœæããå ŽåãåæããŠãããšã¿ãªãããŸãã ã¬ããªã«.ã©ã°æé.æ倧ããªç§.
次ã®å Žåããã©ãã¯ãŒã¯ ISR ã»ããããåé€ãããŸãã
- ééãéžæãããªã¯ãšã¹ããè¡ããŸããã§ãã ã¬ããªã«.ã©ã°æé.æ倧ããªç§ (æ»äº¡ãããšæããã)
- ééäžã«æŽæ°ã§ããŸããã§ãã ã¬ããªã«.ã©ã°æé.æ倧ããªç§ (é ããšèããããŸã)
ãã©ãã¯ãŒã¯ééå ã§ãµã³ããªã³ã°ãªã¯ãšã¹ããè¡ããŸã ã¬ããªã«.fetch.wait.max.msãããã©ã«ã㯠500 ããªç§ã§ãã
ISR ã®ç®çãæ確ã«èª¬æããã«ã¯ããããã¥ãŒãµãŒããã®ç¢ºèªãšããã€ãã®å€±æã·ããªãªãæ€èšããå¿ èŠããããŸãã ãããã¥ãŒãµãŒã¯ããããŒã«ãŒããã€ç¢ºèªãéä¿¡ããããéžæã§ããŸãã
- acks=0ã確èªã¯éä¿¡ãããŸãã
- acks=1ããªãŒããŒãããŒã«ã« ãã°ã«ã¡ãã»ãŒãžãæžã蟌ãã åŸã«ç¢ºèªãéä¿¡ãããŸãã
- acks=allãISR å ã®ãã¹ãŠã®ã¬ããªã«ãã¡ãã»ãŒãžãããŒã«ã« ãã°ã«æžã蟌ãã åŸã«ç¢ºèªãéä¿¡ãããŸãã
Kafka ã®çšèªã§ã¯ãISR ãã¡ãã»ãŒãžãä¿åããå Žåããã®ã¡ãã»ãŒãžã¯ãã³ãããããããŸãã Acks=all ã¯æãå®å šãªãªãã·ã§ã³ã§ãããè¿œå ã®é 延ãçºçããŸãã 倱æã® XNUMX ã€ã®äŸãšãããŸããŸãªãackããªãã·ã§ã³ã ISR ã®æŠå¿µãšã©ã®ããã«çžäºäœçšããããèŠãŠã¿ãŸãããã
Acks=1 ããã³ ISR
ãã®äŸã§ã¯ããªãŒããŒããã¹ãŠã®ãã©ãã¯ãŒããã®ãã¹ãŠã®ã¡ãã»ãŒãžãä¿åããããŸã§åŸ æ©ããªãå ŽåããªãŒããŒã倱æããå Žåã«ããŒã¿ã倱ãããå¯èœæ§ãããããšãããããŸãã åæãããŠããªããã©ãã¯ãŒãžã®ç§»åã¯ãèšå®ã«ãã£ãŠæå¹ãŸãã¯ç¡å¹ã«ã§ããŸãã unclean.leader.election.enable.
ãã®äŸã§ã¯ã補é å ã®å€ã¯ acks=1 ã§ãã ãã®ã»ã¯ã·ã§ã³ã¯ 3 ã€ã®ãããŒã«ãŒãã¹ãŠã«åæ£ãããŠããŸãã ãããŒã«ãŒ 7456 ã¯é ããŠããã1 ç§åã«ãªãŒããŒãšåæããçŸåš XNUMX ã¡ãã»ãŒãžé ããŠããŸãã ãããŒã«ãŒ XNUMX ã¯ããã XNUMX ç§é ãã§ããã ãããã¥ãŒãµãŒã¯ã¡ãã»ãŒãžãéä¿¡ãããªãŒããŒãåŸ æ©ããŠããªãé ããã©ãã¯ãŒãåæ¢ãããã©ãã¯ãŒã®ãªãŒããŒããããªãã§ãããã« ack ãè¿ããŸãã
ç±³ã 7. XNUMX ã€ã®ã¬ããªã«ãæ〠ISR
ãããŒã«ãŒ 2 ã倱æãããããã¥ãŒãµãŒã¯æ¥ç¶ãšã©ãŒãåãåããŸãã ãªãŒããŒããããŒã«ãŒ 1 ã«æž¡ãããåŸã123 åã®ã¡ãã»ãŒãžã倱ãããŸãã ãããŒã«ãŒ 1 ã®ãã©ãã¯ãŒã¯ ISR ã®äžéšã§ãããããªãŒããŒãèœã¡ããšãã«ãªãŒããŒãšå®å šã«ã¯åæããŠããŸããã§ããã
ç±³ã 8. ã¯ã©ãã·ã¥ãããšã¡ãã»ãŒãžã倱ããã
æ§æäž ããŒãã¹ãã©ãã.ãµãŒã㌠ã¡ãŒã«ãŒã«ã¯è€æ°ã®ä»²ä»æ¥è ããªã¹ããããŠãããå¥ã®ä»²ä»æ¥è ã«èª°ãæ°ããã»ã¯ã·ã§ã³ãªãŒããŒã«ãªãããå°ããããšãã§ããŸãã 次ã«ããããŒã«ãŒ 1 ãžã®æ¥ç¶ã確ç«ããã¡ãã»ãŒãžã®éä¿¡ãç¶ããŸãã
ç±³ã 9. çãäŒæ©ã®åŸãã¡ãã»ãŒãžã®éä¿¡ãåéããŸã
ãããŒã«ãŒ 3 ã¯ããã«é ããŠããŸãã ãã§ãããªã¯ãšã¹ããè¡ããŸãããåæã§ããŸããã ããã¯ããããŒã«ãŒéã®ãããã¯ãŒã¯æ¥ç¶ã®é ããã¹ãã¬ãŒãžã®åé¡ãªã©ãåå ã§ããå¯èœæ§ããããŸããISR ããåé€ãããŸãã çŸåšãISR 㯠XNUMX ã€ã®ã¬ããªã«ãã€ãŸããªãŒããŒã§æ§æãããŠããŸãã ã¡ãŒã«ãŒã¯åŒãç¶ãã¡ãã»ãŒãžãéä¿¡ãã確èªãåãåããŸãã
ç±³ã 10. ãããŒã«ãŒ 3 ã®ãã©ãã¯ãŒã ISR ããåé€ãããŸã
ãããŒã«ãŒ 1 ãããŠã³ãããªãŒããŒã®åœ¹å²ã¯ãããŒã«ãŒ 3 ã«ç§»ãã15286 åã®ã¡ãã»ãŒãžã倱ãããŸãã ã¡ãŒã«ãŒã¯æ¥ç¶ãšã©ãŒ ã¡ãã»ãŒãžãåãåããŸãã ISR ã®å€ã®ãªãŒããŒãžã®ç§»è¡ã¯ãèšå®ã«ãã£ãŠã®ã¿å¯èœã§ãã unclean.leader.election.enable=trueã ã«ã€ã³ã¹ããŒã«ãããŠããå Žå falseã®å Žåãé·ç§»ã¯çºçããããã¹ãŠã®èªã¿åãããã³æžã蟌ã¿ãªã¯ãšã¹ããæåŠãããŸãã ãã®å ŽåããããŒã«ãŒ 1 ãã¬ããªã«ã«ãã®ãŸãŸã®ããŒã¿ãæã£ãŠæ»ã£ãŠããã®ãåŸ ã¡ããããŒã«ãŒ XNUMX ãåã³ãªãŒããŒã·ãããåŒãç¶ããŸãã
ç±³ã 11. ãããŒã«ãŒ 1 ããã©ãŒã«ããŸãã é害ãçºçãããšã倧éã®ã¡ãã»ãŒãžã倱ãããŸã
ãããã¥ãŒãµãŒã¯æåŸã®ãããŒã«ãŒãšã®æ¥ç¶ã確ç«ãã圌ãçŸåšã»ã¯ã·ã§ã³ã®ãªãŒããŒã§ããããšã確èªããŸãã 圌ã¯ãããŒã«ãŒ 3 ãžã®ã¡ãã»ãŒãžã®éä¿¡ãéå§ããŸãã
ç±³ã 12. çãäŒæ©ã®åŸãã¡ãã»ãŒãžãåã³ã»ã¯ã·ã§ã³ 0 ã«éä¿¡ãããŸãã
æ°ããæ¥ç¶ã確ç«ããããæ°ãããªãŒããŒãæ¢ãããããããã®çæéã®äžæãé€ãã°ãã¡ãŒã«ãŒãç¶ç¶çã«ã¡ãã»ãŒãžãéä¿¡ããŠããããšãããããŸããã ãã®æ§æã§ã¯ãäžè²«æ§ (ããŒã¿ ã»ãã¥ãªãã£) ãç ç²ã«ããŠå¯çšæ§ã確ä¿ããŸãã Kafka ã¯äœåãã®ã¡ãã»ãŒãžã倱ããŸããããæ°ããæžã蟌ã¿ãåãå ¥ãç¶ããŸããã
Acks=all ããã³ ISR
ãã®ã·ããªãªãããäžåºŠç¹°ãè¿ããŠã¿ãŸãããã acks=ãã¹ãŠã ãããŒã«ãŒ 3 ã®å¹³åé 延㯠XNUMX ç§ã§ãã ã¡ãŒã«ãŒã¯æ¬¡ã®ãããªã¡ãã»ãŒãžãéä¿¡ããŸã acks=ãã¹ãŠãçŸåšã¯è¿ éãªå¿çãåŸãããŸããã ãªãŒããŒã¯ãISR å ã®ãã¹ãŠã®ã¬ããªã«ã«ãã£ãŠã¡ãã»ãŒãžãä¿åãããã®ãåŸ ã¡ãŸãã
ç±³ã 13. XNUMX ã€ã®ã¬ããªã«ãæ〠ISRã XNUMX ã€ã¯é
ããããé²é³ã«é
ããçããŸã
ããã« 2 ç§ã®é 延ãçºçããåŸããããŒã«ãŒ XNUMX 㯠ACK ãéä¿¡ããŸãã ãã¹ãŠã®ã¬ããªã«ãå®å šã«æŽæ°ãããŸããã
ç±³ã 14. ãã¹ãŠã®ã¬ããªã«ãã¡ãã»ãŒãžãä¿åããACK ãéä¿¡ããŸãã
ãããŒã«ãŒ 3 ã¯ããã«é ãããšããISR ããåé€ãããŸãã ISR ã«ã¯é ãã¬ããªã«ãæ®ããªããããé 延ãå€§å¹ ã«ççž®ãããŸãã ãããŒã«ãŒ 2 ã¯ãããŒã«ãŒ 1 ã®ã¿ãåŸ æ©ããå¹³å 500 ããªç§ã®é 延ããããŸãã
ç±³ã 15. ãããŒã«ãŒ 3 äžã®ã¬ããªã«ã ISR ããåé€ãããŸã
ãã®åŸããããŒã«ãŒ 2 ãããŠã³ããã¡ãã»ãŒãžã倱ãããšãªããªãŒããŒã·ããããããŒã«ãŒ 1 ã«ç§»ããŸãã
ç±³ã 16. ãããŒã«ãŒ 2 ãèœã¡ã
ã¡ãŒã«ãŒã¯æ°ãããªãŒããŒãèŠã€ãã圌ã«ã¡ãã»ãŒãžãéãå§ããŸãã ISR ã XNUMX ã€ã®ã¬ããªã«ã§æ§æãããŠãããããé 延ã¯ããã«ççž®ãããŸãã ãããã£ãŠããªãã·ã§ã³ã¯ acks=ãã¹ãŠ åé·æ§ã¯è¿œå ãããŸããã
ç±³ã 17. ãããŒã«ãŒ 1 ã®ã¬ããªã«ãã¡ãã»ãŒãžã倱ããã«äž»å°æš©ãæ¡ã
ãã®åŸããããŒã«ãŒ 1 ãã¯ã©ãã·ã¥ãããªãŒãã¯ãããŒã«ãŒ 3 ã«ãªãã14238 åã®ã¡ãã»ãŒãžã倱ãããŸãã
ç±³ã 18. ãããŒã«ãŒ 1 ãæ»äº¡ããäžæœãªèšå®ã§ãªãŒããŒã·ããã移è¡ããçµæã倧èŠæš¡ãªããŒã¿æ倱ãçºç
ãªãã·ã§ã³ãè£ çã§ããŸããã§ãã unclean.leader.election.enable æå³ã« trueã ããã©ã«ãã§ã¯æ¬¡ã®ããã«ãªããŸã falseã èšå® acks=ãã¹ãŠ Ñ unclean.leader.election.enable=true è¿œå ã®ããŒã¿ã»ãã¥ãªãã£ãåããã¢ã¯ã»ã·ããªãã£ãæäŸããŸãã ãã ããã芧ã®ãšãããã¡ãã»ãŒãžã倱ãããå¯èœæ§ã¯äŸç¶ãšããŠãããŸãã
ããããããŒã¿ã®ã»ãã¥ãªãã£ã匷åãããå Žåã¯ã©ãããã°ããã§ãããã? 眮ãããšãã§ããŸã unclean.leader.election.enable = false, ããããããã¯å¿ ãããããŒã¿æ倱ããç§ãã¡ãå®ãããã§ã¯ãããŸããã ãªãŒããŒãæ¿ãã転åããŠããŒã¿ãæã¡å»ã£ãå Žåãã¡ãã»ãŒãžã¯äŸç¶ãšããŠå€±ããã管çè ãç¶æ³ã埩å ãããŸã§å¯çšæ§ã倱ãããŸãã
ãã¹ãŠã®ã¡ãã»ãŒãžãåé·ã§ããããšã確èªããããã§ãªãå Žåã¯é²é³ãç Žæ£ããããšããå§ãããŸãã ãããã£ãŠãå°ãªããšããããŒã«ãŒã®èŠ³ç¹ããã¯ãããŒã¿æ倱ãçºçããå¯èœæ§ãããã®ã¯ãXNUMX ã€ä»¥äžã®é害ãåæã«çºçããå Žåã®ã¿ã§ãã
Acks=allãmin.insync.replicasãISR
ãããã¯æ§æãã min.insync.ã¬ããªã« ããŒã¿ã»ãã¥ãªãã£ã®ã¬ãã«ãåäžãããŠããŸãã åã®ã·ããªãªã®æåŸã®éšåãããäžåºŠèŠãŠã¿ãŸãããããã ããä»åã¯æ¬¡ã®ããã«ãªããŸãã min.insync.replicas=2.
ãããã£ãŠããããŒã«ãŒ 2 ã«ã¯ã¬ããªã« ãªãŒããŒãããããããŒã«ãŒ 3 ã®ãã©ãã¯ãŒã¯ ISR ããåé€ãããŸãã
ç±³ã 19. XNUMX ã€ã®ã¬ããªã«ããã® ISR
ãããŒã«ãŒ 2 ãããŠã³ããã¡ãã»ãŒãžã倱ãããšãªããªãŒããŒã·ããããããŒã«ãŒ 1 ã«ç§»ããŸãã ãã ããçŸåšãISR 㯠XNUMX ã€ã®ã¬ããªã«ã®ã¿ã§æ§æãããŠããŸãã ããã¯ã¬ã³ãŒããåä¿¡ããããã®æå°æ°ãæºãããŠããªãããããããŒã«ãŒã¯æžã蟌ã¿è©Šè¡ã«å¯ŸããŠãšã©ãŒã§å¿çããŸãã ã¬ããªã«ã足ããªã.
ç±³ã 20. ISR ã®æ°ã min.insync.replicas ã§æå®ãããæ°ãã XNUMX ã€å°ãªã
ãã®æ§æã§ã¯ãäžè²«æ§ã®ããã«å¯çšæ§ãç ç²ã«ãªããŸãã ã¡ãã»ãŒãžã確èªããåã«ãã¡ãã»ãŒãžãå°ãªããšã 5 ã€ã®ã¬ããªã«ã«æžã蟌ãŸããããšã確èªããŸãã ããã«ãããã¡ãŒã«ãŒã¯ããã«å€§ããªèªä¿¡ãåŸãããšãã§ããŸãã ããã§ãã¡ãã»ãŒãžæ倱ãçºçããå¯èœæ§ãããã®ã¯ãã¡ãã»ãŒãžãè¿œå ã®ãã©ãã¯ãŒã«ã¬ããªã±ãŒãããããŸã§ã®çãéé㧠XNUMX ã€ã®ã¬ããªã«ãåæã«å€±æããå Žåã®ã¿ã§ããããã®å¯èœæ§ã¯äœãã§ãã ãã ããéåžžã«åå·çãªå Žåã¯ãã¬ããªã±ãŒã·ã§ã³ä¿æ°ã XNUMX ã«èšå®ããããšãã§ããŸãã min.insync.ã¬ããªã« by 3. ããã§èšé²ã倱ãã«ã¯ãXNUMX 人ã®ãããŒã«ãŒãåæã«åããå¿ èŠããããŸãã ãã¡ããããã®ä¿¡é Œæ§ã®ä»£åãšããŠè¿œå ã®é 延ãçºçããŸãã
ããŒã¿ã»ãã¥ãªãã£ã®ããã«ã¢ã¯ã»ã·ããªãã£ãå¿ èŠãªå Žå
åæ§ã«
- çºè¡è ã¯åçŽã«ãšã©ãŒãè¿ããäžæµã®ãµãŒãã¹ãŸãã¯ãŠãŒã¶ãŒã«åŸã§åè©Šè¡ãããããšã¯ã§ããŸãã?
- çºè¡è ã¯ã¡ãã»ãŒãžãããŒã«ã«ãŸãã¯ããŒã¿ããŒã¹ã«ä¿åããŠãåŸã§åè©Šè¡ã§ããŸãã?
çãããããããã®å Žåãå¯çšæ§ãæé©åããããšã§ããŒã¿ã®ã»ãã¥ãªãã£ãåäžããŸãã èšé²ããªã代ããã«å¯çšæ§ãéžæãããšã倱ãããããŒã¿ãå°ãªããªããŸãã ãããã£ãŠããã¹ãŠã¯ãã©ã³ã¹ãèŠã€ããããšã«ãªãã決å®ã¯ç¹å®ã®ç¶æ³ã«äŸåããŸãã
ISRã®æå³
ISR ã¹ã€ãŒãã䜿çšãããšãããŒã¿ ã»ãã¥ãªãã£ãšé 延ã®éã®æé©ãªãã©ã³ã¹ãéžæã§ããŸãã ããšãã°ã倧éšåã®ã¬ããªã«ã§é害ãçºçããå Žåã®å¯çšæ§ã確ä¿ããåŸ æ©æéã®èŠ³ç¹ãããåæ¢ããã¬ããªã«ãé ãã¬ããªã«ã®åœ±é¿ãæå°éã«æããŸãã
ç§ãã¡ã¯èªåãã¡ã§æå³ãéžã³ãŸã ã¬ããªã«.ã©ã°æé.æ倧ããªç§ ããªãã®ããŒãºã«å¿ããŠã æ¬è³ªçã«ããã®ãã©ã¡ãŒã¿ã¯ãã©ã®ãããã®é 延ã蚱容ã§ããããæå³ããŸãã acks=ãã¹ãŠã ããã©ã«ãå€ã¯ XNUMX ç§ã§ãã ãããé·ãããå Žåã¯ãççž®ã§ããŸãã ãã®åŸããã©ãã¯ãŒã®åé€ãšè¿œå ãããé »ç¹ã«è¡ããããããISR ã®å€æŽã®é »åºŠãå¢å ããŸãã
RabbitMQ ã¯ãåã«è€è£œããå¿ èŠããããã©ãŒã®ã»ããã§ãã ãã©ãŒãé ããšè¿œå ã®é 延ãçºçããããããã©ãŒã¯åããŒãã®å¯çšæ§ (ããããã£ãã¯) ããã§ãã¯ãããã±ãããå¿çãããŸã§åŸ æ©ããå¯èœæ§ããããŸãã ISR ã¯ããããã®é 延ã®åé¡ãåé¿ããèå³æ·±ãæ¹æ³ã§ãã ãã ããISR ã¯ãªãŒããŒãŸã§ããçž®å°ã§ããªããããåé·æ§ã倱ããããªã¹ã¯ããããŸãã ãã®ãªã¹ã¯ãåé¿ããã«ã¯ã次ã®èšå®ã䜿çšããŸãã min.insync.ã¬ããªã«.
ã¯ã©ã€ã¢ã³ãæ¥ç¶ä¿èšŒ
èšå®ã§ ããŒãã¹ãã©ãã.ãµãŒã㌠ãããã¥ãŒãµãŒãšã³ã³ã·ã¥ãŒããŒã¯ãã¯ã©ã€ã¢ã³ããæ¥ç¶ããããã«è€æ°ã®ãããŒã«ãŒãæå®ã§ããŸãã ããã¯ãXNUMX ã€ã®ããŒããããŠã³ããŠããã¯ã©ã€ã¢ã³ããæ¥ç¶ãéãããšãã§ããäºåã®ããŒããããã€ãæ®ããšããèãã§ãã ãããã¯å¿ ãããã»ã¯ã·ã§ã³ ãªãŒããŒã§ããå¿ èŠã¯ãªããåã«åæè² è·ã®åºçºç¹ã«ãããŸããã ã¯ã©ã€ã¢ã³ãã¯ãã©ã®ããŒããèªã¿åã/æžã蟌ã¿ããŒãã£ã·ã§ã³ ãªãŒããŒããã¹ãããŠããããå°ããããšãã§ããŸãã
RabbitMQ ã§ã¯ãã¯ã©ã€ã¢ã³ãã¯ä»»æã®ããŒãã«æ¥ç¶ã§ããå éšã«ãŒãã£ã³ã°ã«ãã£ãŠèŠæ±ãå¿ èŠãªå Žæã«éä¿¡ãããŸãã ããã¯ãRabbitMQ ã®åã«ããŒã ãã©ã³ãµãŒãã€ã³ã¹ããŒã«ã§ããããšãæå³ããŸãã Kafka ã§ã¯ãã¯ã©ã€ã¢ã³ãã察å¿ããããŒãã£ã·ã§ã³ ãªãŒããŒããã¹ãããããŒãã«æ¥ç¶ããå¿ èŠããããŸãã ãã®ãããªç¶æ³ã§ã¯ãããŒããã©ã³ãµãŒãã€ã³ã¹ããŒã«ããããšã¯ã§ããŸããã ãªã¹ã ããŒãã¹ãã©ãã.ãµãŒã㌠é害åŸã«ã¯ã©ã€ã¢ã³ããæ£ããããŒãã«ã¢ã¯ã»ã¹ããŠèŠã€ããããšãã§ããããšãéèŠã§ãã
Kafka ã³ã³ã»ã³ãµã¹ ã¢ãŒããã¯ãã£
ãããŸã§ãã¯ã©ã¹ã¿ãŒããããŒã«ãŒã®åŽ©å£ãã©ã®ããã«åŠç¿ããã®ãããŸãæ°ãããªãŒããŒãã©ã®ããã«éžåºãããã®ãã«ã€ããŠã¯èæ ®ããŠããŸããã§ããã Kafka ããããã¯ãŒã¯ ããŒãã£ã·ã§ã³ã§ã©ã®ããã«åäœããããç解ããã«ã¯ããŸãã³ã³ã»ã³ãµã¹ ã¢ãŒããã¯ãã£ãç解ããå¿ èŠããããŸãã
å Kafka ã¯ã©ã¹ã¿ãŒã¯ãå¯çšæ§ãããäžè²«æ§ãåªå ããŠãã·ã¹ãã ãç¹å®ã®ç¶æ ã«ã€ããŠåæã«éããããšãå¯èœã«ããåæ£åã³ã³ã»ã³ãµã¹ ãµãŒãã¹ã§ãã Zookeeper ã¯ã©ã¹ã¿ãŒãšãšãã«ãããã€ãããŸãã èªã¿åãããã³æžã蟌ã¿æäœãæ¿èªããã«ã¯ãZookeeper ããŒãã®å€§å€æ°ã®åæãå¿ èŠã§ãã
Zookeeper ã¯ã¯ã©ã¹ã¿ãŒã®ç¶æ ãä¿åããŸãã
- ãããã¯ãã»ã¯ã·ã§ã³ãæ§æãçŸåšã®ãªãŒã㌠ã¬ããªã«ãåªå ã¬ããªã«ã®ãªã¹ãã
- ã¯ã©ã¹ã¿ãŒã®ã¡ã³ããŒã åãããŒã«ãŒã¯ Zookeeper ã¯ã©ã¹ã¿ãŒã« ping ãéä¿¡ããŸãã æå®ãããæéå ã« ping ãåä¿¡ããªãå ŽåãZookeeper ã¯ãããŒã«ãŒã䜿çšäžå¯ãšããŠèšé²ããŸãã
- ã³ã³ãããŒã©ãŒã®ã¡ã€ã³ ããŒããšã¹ã㢠ããŒããéžæããŸãã
ã³ã³ãããŒã©ãŒ ããŒãã¯ãã¬ããªã« ãªãŒããŒã®éžåºãæ åœãã Kafka ãããŒã«ãŒã® XNUMX ã€ã§ãã Zookeeper ã¯ãã¯ã©ã¹ã¿ãŒã®ã¡ã³ããŒã·ãããšãããã¯ã®å€æŽã«é¢ããéç¥ãã³ã³ãããŒã©ãŒã«éä¿¡ããã³ã³ãããŒã©ãŒã¯ãããã®å€æŽã«å¿ããŠåäœããå¿ èŠããããŸãã
ããšãã°ã3 åã®ããŒãã£ã·ã§ã³ãš XNUMX ã®ã¬ããªã±ãŒã·ã§ã³ä¿æ°ãæã€æ°ãããããã¯ãèããŠã¿ãŸããããã³ã³ãããŒã©ãŒã¯ããããŒã«ãŒéã§ãªãŒããŒãæé©ã«åæ£ããããšããŠãããŒãã£ã·ã§ã³ããšã«ãªãŒããŒãéžæããå¿ èŠããããŸãã
åã»ã¯ã·ã§ã³ã³ã³ãããŒã©ãŒã«ã€ããŠ:
- ISR ãšãªãŒããŒã«é¢ãã Zookeeper ã®æ å ±ãæŽæ°ããŸãã
- ãã®ããŒãã£ã·ã§ã³ã®ã¬ããªã«ããã¹ãããåãããŒã«ãŒã« LeaderAndISRCommand ãéä¿¡ããISR ãšãªãŒããŒã«ã€ããŠãããŒã«ãŒã«éç¥ããŸãã
ãªãŒããŒãæã€ãããŒã«ãŒãåãããšãZookeeper ã¯ã³ã³ãããŒã©ãŒã«éç¥ãéä¿¡ããæ°ãããªãŒããŒãéžåºããŸãã ããã§ããã³ã³ãããŒã©ãŒã¯æåã« Zookeeper ãæŽæ°ãã次ã«åãããŒã«ãŒã«ãªãŒããŒã®å€æŽãéç¥ããã³ãã³ããéä¿¡ããŸãã
åãªãŒããŒã¯ ISR ãæ¡çšãã責任ããããŸãã èšå® ã¬ããªã«.ã©ã°æé.æ倧ããªç§ ããã«èª°ãå ¥ããã決å®ããŸãã ISR ãå€æŽããããšããªãŒããŒã¯æ°ããæ å ±ã Zookeeper ã«éä¿¡ããŸãã
Zookeeper ã«ã¯å€æŽãåžžã«éç¥ããããããé害ãçºçããå Žåã§ã管çã¯æ°ãããªãŒããŒã«ã¹ã ãŒãºã«ç§»è¡ããŸãã
ç±³ã 21. ã«ãã«ã®ã³ã³ã»ã³ãµã¹
ã¬ããªã±ãŒã·ã§ã³ãããã³ã«
ã¬ããªã±ãŒã·ã§ã³ã®è©³çŽ°ãç解ããããšã¯ãæœåšçãªããŒã¿æ倱ã·ããªãªãããæ·±ãç解ããã®ã«åœ¹ç«ã¡ãŸãã
ãµã³ããªã³ã° ã¯ãšãªããã° ãšã³ã ãªãã»ãã (LEO) ããã³ãã€ãŠã©ãŒã¿ãŒ ããŒã¯ (HW)
ãã©ãã¯ãŒãå®æçã«ãªãŒããŒã«ãã§ãããªã¯ãšã¹ããéä¿¡ãããšèããŸããã ããã©ã«ãã®éé㯠500 ããªç§ã§ãã ããã¯ãRabbitMQ ã§ã¯ã¬ããªã±ãŒã·ã§ã³ããã¥ãŒ ãã©ãŒã§ã¯ãªããã¹ã¿ãŒã«ãã£ãŠéå§ããããšããç¹ã§ RabbitMQ ãšã¯ç°ãªããŸãã ãã¹ã¿ãŒã¯å€æŽããã©ãŒã«ããã·ã¥ããŸãã
ãªãŒããŒãšãã¹ãŠã®ãã©ãã¯ãŒã¯ãLog End Offset (LEO) ãš Highwater (HW) ã©ãã«ãä¿åããŸãã LEO ããŒã¯ã¯ããŒã«ã« ã¬ããªã«å ã®æåŸã®ã¡ãã»ãŒãžã®ãªãã»ãããä¿åããHW ã¯æåŸã®ã³ãããã®ãªãã»ãããä¿æããŸãã ã³ããã ã¹ããŒã¿ã¹ã®å Žåãã¡ãã»ãŒãžã¯ãã¹ãŠã® ISR ã¬ããªã«ã«ããã£ãŠä¿æãããå¿ èŠãããããšã«æ³šæããŠãã ããã ããã¯ãéåžžãLEO ã HW ãããããã«é²ãã§ããããšãæå³ããŸãã
ãªãŒããŒã¯ã¡ãã»ãŒãžãåä¿¡ãããšããããããŒã«ã«ã«ä¿åããŸãã ãã©ãã¯ãŒã¯èªåã® LEO ãéä¿¡ããããšã§ãã§ããèŠæ±ãè¡ããŸãã 次ã«ããªãŒããŒã¯ãã® LEO ããå§ãŸãã¡ãã»ãŒãžã®ããããéä¿¡ããçŸåšã® HW ãéä¿¡ããŸãã ãªãŒããŒã¯ããã¹ãŠã®ã¬ããªã«ãæå®ããããªãã»ããã«ã¡ãã»ãŒãžãæ ŒçŽãããšããæ å ±ãåãåããšãHW ããŒã¯ã移åããŸãã ãªãŒããŒã®ã¿ã HW ã移åã§ããããããã¹ãŠã®ãã©ãã¯ãŒã¯ãªã¯ãšã¹ãã«å¯Ÿããå¿çã®çŸåšã®å€ãç¥ãããšã«ãªããŸãã ããã¯ããã©ãã¯ãŒãã¡ãã»ãŒãžãšããŒããŠã§ã¢ç¥èã®äž¡æ¹ã«ãããŠãªãŒããŒã«é ããå¯èœæ§ãããããšãæå³ããŸãã ã³ã³ã·ã¥ãŒãã¯çŸåšã® HW ãŸã§ã®ã¡ãã»ãŒãžã®ã¿ãåä¿¡ããŸãã
ãæ°žç¶åããšã¯ããã£ã¹ã¯ã§ã¯ãªãã¡ã¢ãªã«æžã蟌ãŸããããšãæå³ããããšã«æ³šæããŠãã ããã ããã©ãŒãã³ã¹ãåäžãããããã«ãKafka ã¯ç¹å®ã®ééã§ãã£ã¹ã¯ãšåæããŸãã RabbitMQ ã«ããã®ãããªééããããŸããããã¹ã¿ãŒãšãã¹ãŠã®ãã©ãŒãã¡ãã»ãŒãžããã£ã¹ã¯ã«æžã蟌ãã åŸã§ã®ã¿ããããªãã·ã£ãŒã«ç¢ºèªå¿çãéä¿¡ãããŸãã Kafka éçºè ã¯ãããã©ãŒãã³ã¹äžã®çç±ãããã¡ãã»ãŒãžãã¡ã¢ãªã«æžã蟌ãŸãããããã« ack ãéä¿¡ããããšã«ããŸããã Kafka ã¯ãåé·æ§ã«ãã£ãŠã確èªå¿çãããã¡ãã»ãŒãžãã¡ã¢ãªã®ã¿ã«äžæçã«ä¿åããããªã¹ã¯ãçžæ®ºããããšèããŠããŸãã
ãªãŒããŒã®å€±æ
ãªãŒããŒã倱ããããšãZookeeper ã¯ã³ã³ãããŒã©ãŒã«éç¥ããã³ã³ãããŒã©ãŒã¯æ°ãããªãŒã㌠ã¬ããªã«ãéžæããŸãã æ°ãããªãŒããŒã¯ãLEO ã«åŸã£ãŠæ°ãã HW ããŒã¯ãèšå®ããŸãã ãã®åŸããã©ãã¯ãŒã¯æ°ãããªãŒããŒã«é¢ããæ å ±ãåãåããŸãã Kafka ã®ããŒãžã§ã³ã«å¿ããŠããã©ãã¯ãŒã¯ XNUMX ã€ã®ã·ããªãªã®ãããããéžæããŸãã
- ããŒã«ã« ãã°ãæ¢ç¥ã® HW ã«åãè©°ãããããã®ããŒã¯ã®åŸã®ã¡ãã»ãŒãžã®èŠæ±ãæ°ãããªãŒããŒã«éä¿¡ãããŸãã
- ãªãŒããŒã«ããªãŒããŒã«éžåºãããæç¹ã® HW ãæ€çŽ¢ãããªã¯ãšã¹ããéä¿¡ãããã°ããã®ãªãã»ãããŸã§åãè©°ããŸãã ãã®åŸããã®ãªãã»ããããå®æçãªãã§ããèŠæ±ãéå§ããŸãã
ãã©ãã¯ãŒã¯ã次ã®çç±ã«ãããã°ãåãè©°ããå¿ èŠãããå ŽåããããŸãã
- ãªãŒããŒã倱æãããšãZookeeper ã«ç»é²ããã ISR ã»ããå ã®æåã®ãã©ãã¯ãŒãéžæã«åã¡ããªãŒããŒã«ãªããŸãã ISR ã®ãã¹ãŠã®ãã©ãã¯ãŒã¯ããåæããŠããããšã¿ãªãããŸãããå ãªãŒããŒãããã¹ãŠã®ã¡ãã»ãŒãžã®ã³ããŒãåä¿¡ããŠââããªãå¯èœæ§ããããŸãã 泚ç®ã®ãã©ãã¯ãŒãææ°ã®ã³ããŒãæã£ãŠããªãå¯èœæ§ã¯ååã«ãããŸãã Kafka ã¯ãã¬ããªã«éã«çžéããªãããšãä¿èšŒããŸãã ãããã£ãŠãäžäžèŽãé¿ããããã«ãåãã©ãã¯ãŒã¯ãã°ããéžææã®æ°ãããªãŒããŒã® HW å€ã«åãè©°ããå¿ èŠããããŸãã ãããèšå®ãããã XNUMX ã€ã®çç±ã§ã acks=ãã¹ãŠ äžè²«æ§ã«ãšã£ãŠéåžžã«éèŠã§ãã
- ã¡ãã»ãŒãžã¯å®æçã«ãã£ã¹ã¯ã«æžã蟌ãŸããŸãã ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒ ããŒãã«åæã«é害ãçºçããå Žåãç°ãªããªãã»ãããæã€ã¬ããªã«ããã£ã¹ã¯ã«ä¿åãããŸãã ãããŒã«ãŒããªã³ã©ã€ã³ã«æ»ã£ããšããéžåºãããæ°ãããªãŒããŒã¯ä»ã®ãªãŒããŒãããå ã«ãã£ã¹ã¯ã«ä¿åãããŠãããããæ¯æè ã«åŸãããšã£ãŠããå¯èœæ§ããããŸãã
ã¯ã©ã¹ã¿ãŒãšã®åäŒ
ã¯ã©ã¹ã¿ãŒã«ååå ãããšãã¬ããªã«ã¯ãªãŒããŒã«é害ãçºçãããšããšåãããšãè¡ããŸããã€ãŸãããªãŒããŒã®ã¬ããªã«ããã§ãã¯ãããã® HW ãžã®ãã°ã (éžææã«) åãæšãŠãŸãã æ¯èŒãããšãRabbitMQ ã¯ãåçµåãããããŒãããŸã£ããæ°ãããã®ãšããŠåæ§ã«æ±ããŸãã ã©ã¡ãã®å ŽåãããããŒã«ãŒã¯æ¢åã®ç¶æ ããã¹ãŠç Žæ£ããŸãã èªååæã䜿çšããå Žåããã¹ã¿ãŒã¯ãå šäžçãåŸ æ©ããããæ¹æ³ã§ãçŸåšã®ãã¹ãŠã®ã³ã³ãã³ããæ°ãããã©ãŒã«è€è£œããå¿ èŠããããŸãã ãã®æäœäžããã¹ã¿ãŒã¯èªã¿åããŸãã¯æžã蟌ã¿æäœãåãä»ããŸããã ãã®ã¢ãããŒãã§ã¯ã倧èŠæš¡ãªãã¥ãŒã§åé¡ãçºçããŸãã
Kafka ã¯åæ£ãã°ã§ãããäžè¬ã«ãããŒã¿ãèªã¿åãããåŸã«ãã¥ãŒããåé€ããã RabbitMQ ãã¥ãŒãããå€ãã®ã¡ãã»ãŒãžãä¿åããŸãã ã¢ã¯ãã£ããªãã¥ãŒã¯æ¯èŒçå°ãããŸãŸã§ãªããã°ãªããŸããã ãã ããKafka ã¯ç¬èªã®ä¿æããªã·ãŒãæã€ãã°ã§ãããæ°æ¥ãŸãã¯æ°é±éã®æéãèšå®ã§ããŸãã ãã¥ãŒã®ãããã¯ãšå®å šåæã®ã¢ãããŒãã¯ãåæ£ãã°ã§ã¯çµ¶å¯Ÿã«åãå ¥ããããŸããã 代ããã«ãKafka ãã©ãã¯ãŒã¯ãèªåãã¡ã®ã³ããŒããªãŒããŒãããå ã«ããå ŽåããªãŒããŒã® HW (éžææ) ãžã®ãã°ãåçŽã«åãè©°ããŸãã ããå¯èœæ§ã®é«ãã±ãŒã¹ãšããŠã¯ããã©ãã¯ãŒãé ããŠããå ŽåãçŸåšã® LEO ãããã§ãã ãªã¯ãšã¹ããéå§ããã ãã§ãã
æ°èŠãŸãã¯ååå ãããã©ãã¯ãŒã¯ ISR ã®å€éšããéå§ãããã³ãããã«ã¯åå ããŸããã 圌ãã¯åã«ã°ã«ãŒããšååããŠããªãŒããŒã«è¿œãã€ã㊠ISR ã«å ¥ããŸã§ã§ããã ãæ©ãã¡ãã»ãŒãžãåä¿¡ããŸãã ããã¯ã€ã³ã¯ãªãããã¹ãŠã®ããŒã¿ãç Žæ£ããå¿ èŠããããŸããã
æ¥ç¶ã®åªå€±
Kafka ã«ã¯ RabbitMQ ãããå€ãã®ã³ã³ããŒãã³ãããããããã¯ã©ã¹ã¿ãŒãåæããããšãã®åäœã»ãããããè€éã«ãªããŸãã ãã ããKafka ã¯ããšããšã¯ã©ã¹ã¿ãŒçšã«èšèšãããŠããããããœãªã¥ãŒã·ã§ã³ã¯éåžžã«ããèããããŠããŸãã
以äžã«ãæ¥ç¶é害ã®ã·ããªãªãããã€ã瀺ããŸãã
- ã·ããªãª 1: ãã©ãã¯ãŒã«ã¯ãªãŒããŒãèŠããŸããããåç©åã®é£Œè²å¡ã¯èŠããŸãã
- ã·ããªãª 2: ãªãŒããŒã«ã¯ãã©ãã¯ãŒã衚瀺ãããŸããããZookeeper ã¯è¡šç€ºãããŸãã
- ã·ããªãª 3: ãã©ãã¯ãŒã«ã¯ãªãŒããŒãèŠããŸãããåç©åã®é£Œè²å¡ã¯èŠããŸããã
- ã·ããªãª 4: ãªãŒããŒã«ã¯ãã©ãã¯ãŒãèŠããŸãããåç©åã®é£Œè²å¡ã¯èŠããŸããã
- ã·ããªãª 5: ãã©ãã¯ãŒã¯ãä»ã® Kafka ããŒãããã³ Zookeeper ã®äž¡æ¹ããå®å šã«åé¢ãããŠããŸãã
- ã·ããªãª 6: ãªãŒããŒã¯ãä»ã® Kafka ããŒãããã³ Zookeeper ã®äž¡æ¹ããå®å šã«åé¢ãããŠããŸãã
- ã·ããªãª 7: Kafka ã³ã³ãããŒã©ãŒ ããŒãã¯å¥ã® Kafka ããŒããèªèã§ããŸããã
- ã·ããªãª 8: Kafka ã³ã³ãããŒã©ãŒã¯ Zookeeper ãèªèããŸããã
åã·ããªãªã«ã¯ç¬èªã®åäœããããŸãã
ã·ããªãª 1: ãã©ãã¯ãŒã«ã¯ãªãŒããŒã¯èŠããŸããããZookeeper ã¯èŠããŠããŸã
ç±³ã 22. ã·ããªãª 1: XNUMX ã€ã®ã¬ããªã«ã® ISR
æ¥ç¶é害ã«ããããããŒã«ãŒ 3 ã¯ãããŒã«ãŒ 1 ããã³ 2 ããåé¢ãããŸãããZookeeper ããã¯åé¢ãããŸããã ãããŒã«ãŒ 3 ã¯ãã§ãã ãªã¯ãšã¹ããéä¿¡ã§ããªããªããŸãã æéãçµã£ãŠãã ã¬ããªã«.ã©ã°æé.æ倧ããªç§ ãã㯠ISR ããåé€ãããã¡ãã»ãŒãžã®ã³ãããã«ã¯åå ããŸããã æ¥ç¶ãå埩ãããšããã§ããèŠæ±ãåéããããªãŒããŒã«è¿œãã€ãããšãã« ISR ã«åå ããŸãã Zookeeper ã¯åŒãç¶ã ping ãåä¿¡ãããããŒã«ãŒãæ£åžžã«åäœããŠãããšæ³å®ããŸãã
ç±³ã 23. ã·ããªãª 1: ãããŒã«ãŒã¯ãreplica.lag.time.max.ms ééå
ã«ãã§ããèŠæ±ãåä¿¡ããªãã£ãå ŽåãISR ããåé€ãããŸãã
RabbitMQ ã®ãããªã¹ããªãã ãã¬ã€ã³ãããŒãã®äžæåæ¢ã¯ãããŸããã 代ããã«ãåé·æ§ãåæžãããŸãã
ã·ããªãª 2: ãªãŒããŒã«ã¯ãã©ãã¯ãŒã衚瀺ãããŸããããZookeeper ã¯è¡šç€ºãããŸã
ç±³ã 24. ã·ããªãª 2. ãªãŒããŒãš XNUMX 人ã®ãã©ãã¯ãŒ
ãããã¯ãŒã¯æ¥ç¶ã®é害ã«ãããªãŒããŒãšãã©ãã¯ãŒãåé¢ãããŸããããããŒã«ãŒã¯åŒãç¶ã Zookeeper ãèªèã§ããŸãã æåã®ã·ããªãªãšåæ§ã«ãISR ã¯çž®å°ããŸããããã¹ãŠã®ãã©ãã¯ãŒããã§ãã ãªã¯ãšã¹ãã®éä¿¡ãåæ¢ãããããä»åã¯ãªãŒããŒã®ã¿ãçž®å°ããŸãã ç¹°ãè¿ããŸãããè«ççãªåå²ã¯ãããŸããã ãã®ä»£ãããæ¥ç¶ã埩å ããããŸã§æ°ããã¡ãã»ãŒãžã®åé·æ§ã倱ãããŸãã Zookeeper ã¯åŒãç¶ã ping ãåä¿¡ããŠââããããããŒã«ãŒãçããŠãããšä¿¡ããŠããŸãã
ç±³ã 25. ã·ããªãª 2. ISR ã¯ãªãŒããŒã®ã¿ã«çž®å°ããŸãã
ã·ããªãª 3. ãã©ãã¯ãŒã«ã¯ãªãŒããŒãèŠããŸããã飌è²å¡ã¯èŠããŸãã
ãã©ãã¯ãŒã¯ Zookeeper ããã¯åé¢ãããŠããŸããããªãŒããŒãæã€ãããŒã«ãŒããã¯åé¢ãããŠããŸããã ãã®çµæããã©ãã¯ãŒã¯åŒãç¶ããã§ããèŠæ±ãè¡ããISR ã®ã¡ã³ããŒã«ãªããŸãã Zookeeper 㯠ping ãåä¿¡ããªããªãããããŒã«ãŒã®ã¯ã©ãã·ã¥ãç»é²ããŸãããåãªããã©ãã¯ãŒã§ãããããå埩åŸã®åœ±é¿ã¯ãããŸããã
ç±³ã 26. ã·ããªãª 3: ãã©ãã¯ãŒããªãŒããŒã«ãã§ãã ãªã¯ãšã¹ããéä¿¡ãç¶ãã
ã·ããªãª 4. ãªãŒããŒã«ã¯ãã©ãã¯ãŒãèŠããŸãããZookeeper ã¯èŠããŸãã
ç±³ã 27. ã·ããªãª 4. ãªãŒããŒãš XNUMX 人ã®ãã©ãã¯ãŒ
ãªãŒããŒã¯åç©åã®é£Œè²å¡ããã¯é¢ããŠããŸãããä¿¡è ãæã€ãããŒã«ãŒããã¯é¢ããŠããŸããã
ç±³ã 28. ã·ããªãª 4: 飌è²å¡ããå€ç«ãããªãŒããŒ
ãã°ãããããšãZookeeper ã¯ãããŒã«ãŒã®é害ãç»é²ããããã«ã€ããŠã³ã³ãããŒã©ãŒã«éç¥ããŸãã 圌ã¯è¿œéè ã®äžããæ°ããæå°è ãéžã¶ã ããã ãã ããå ã®ãªãŒããŒã¯åŒãç¶ãèªåããªãŒããŒã§ãããšèããããã®ãšã³ããªãŒãåŒãç¶ãåãå ¥ããŸãã ACK=1ã ãã©ãã¯ãŒã¯åœŒã«ãã§ãã ãªã¯ãšã¹ããéä¿¡ããªããªã£ãããã圌ã¯ãã©ãã¯ãŒãæ»ãã ãã®ãšã¿ãªããISR ãããèªäœã«çž®å°ããããšããŸãã ãã ããZookeeper ãšã®æ¥ç¶ããªãããããããå®è¡ããããšã¯ã§ããããã®æç¹ã§ãã以äžã®ãšã³ããªã®åãå ¥ããæåŠããŸãã
СППбÑÐµÐœÐžÑ acks=ãã¹ãŠ ISR ãæåã«ãã¹ãŠã®ã¬ããªã«ããªã³ã«ããã¡ãã»ãŒãžãã¬ããªã«ã«å°éããªãããã確èªå¿çã¯åä¿¡ãããŸããã å ã®ãªãŒããŒã ISR ããã¡ãã»ãŒãžãåé€ããããšããŠããåé€ããããšã¯ã§ãããã¡ãã»ãŒãžã®åãå ¥ãããŸã£ããåæ¢ããŸãã
ã¯ã©ã€ã¢ã³ãã¯ããã«ãªãŒããŒã®å€æŽã«æ°ã¥ããæ°ãããµãŒããŒãžã®ã¬ã³ãŒãã®éä¿¡ãéå§ããŸãã ãããã¯ãŒã¯ã埩å ããããšãå ã®ãªãŒããŒã¯èªåããªãŒããŒã§ã¯ãªããªã£ãããšãèªèãããã°ã®çºæ£ãé¿ããããã«æ°ãããªãŒããŒãé害æã«æã£ãŠãã HW å€ã«ãã°ãåãè©°ããŸãã ãã®åŸãæ°ãããªãŒããŒãžã®ãã§ãã ãªã¯ãšã¹ãã®éä¿¡ãéå§ãããŸãã æ°ãããªãŒããŒã«è€è£œãããªãã£ãå ã®ãªãŒããŒã®ã¬ã³ãŒãã¯ãã¹ãŠå€±ãããŸãã ã€ãŸããXNUMX 人ã®ãªãŒããŒãäœæ¥ããŠããæ°ç§éã«å ã®ãªãŒããŒã«ãã£ãŠç¢ºèªãããªãã£ãã¡ãã»ãŒãžã¯å€±ãããŸãã
ç±³ã 29. ã·ããªãª 4. ãããã¯ãŒã¯ã埩å
ãããåŸããããŒã«ãŒ 1 ã®ãªãŒããŒããã©ãã¯ãŒã«ãªã
ã·ããªãª 5: ãã©ãã¯ãŒã¯ä»ã® Kafka ããŒãããã³ Zookeeper ã®äž¡æ¹ããå®å šã«åé¢ãããŠããŸã
ãã©ãã¯ãŒã¯ãä»ã® Kafka ããŒããš Zookeeper ã®äž¡æ¹ããå®å šã«åé¢ãããŠããŸãã 圌ã¯ãããã¯ãŒã¯ã埩æ§ãããŸã§ ISR ããå€ãããã®åŸä»ã®äººãã¡ã«è¿œãã€ããŸãã
ç±³ã 30. ã·ããªãª 5: å€ç«ãããã©ãã¯ãŒã ISR ããåé€ããã
ã·ããªãª 6: ãªãŒããŒã¯ä»ã® Kafka ããŒãããã³ Zookeeper ã®äž¡æ¹ããå®å šã«åé¢ãããŠããŸã
ç±³ã 31. ã·ããªãª 6. ãªãŒããŒãš XNUMX 人ã®ãã©ãã¯ãŒ
ãªãŒããŒã¯ããã®ãã©ãã¯ãŒã§ãã管çè ãåç©åã®é£Œè²å¡ããå®å šã«éé¢ãããŠããŸãã çæéã§ãããåŒãç¶ããšã³ããªãŒãåãä»ããŸãã ACK=1.
ç±³ã 32. ã·ããªãª 6: ãªãŒããŒãä»ã® Kafka ããã³ Zookeeper ããŒãããåé¢ãã
æå¹æéãéããŠããªã¯ãšã¹ããåä¿¡ããŠââããªãå Žå ã¬ããªã«.ã©ã°æé.æ倧ããªç§ãISR ãããèªäœã«çž®å°ããããšããŸãããZookeeper ãšã®éä¿¡ããªãããçž®å°ã§ãããæžã蟌ã¿ã®åãå ¥ããåæ¢ããŸãã
äžæ¹ãZookeeper ã¯å€ç«ãããããŒã«ãŒãæ»äº¡ãšããŠããŒã¯ããã³ã³ãããŒã©ãŒãæ°ãããªãŒããŒãéžåºããŸãã
ç±³ã 33. ã·ããªãª 6. XNUMX 人ã®ãªãŒããŒ
å ã®ãªãŒããŒã¯æ°ç§éãšã³ããªãåãå ¥ããããšãã§ããŸããããã®åŸã¡ãã»ãŒãžã®åãå ¥ããåæ¢ããŸãã ã¯ã©ã€ã¢ã³ã㯠60 ç§ããšã«ææ°ã®ã¡ã¿ããŒã¿ã§æŽæ°ãããŸãã 圌ãã¯ãªãŒããŒã®å€æŽãç¥ããããæ°ãããªãŒããŒã«ãšã³ããªãŒãéä¿¡ãå§ããŸãã
ç±³ã 34. ã·ããªãª 6: ã¡ãŒã«ãŒãæ°ãããªãŒããŒã«äº€ä»£
æ¥ç¶ã倱ããããšãå ã®ãªãŒããŒã«ãã£ãŠäœæããã確èªæžã¿ã®ãšã³ããªã¯ãã¹ãŠå€±ãããŸãã ãããã¯ãŒã¯ã埩å ããããšãå ã®ãªãŒããŒã¯ Zookeeper ãéããŠãèªåããªãŒããŒã§ã¯ãªããªã£ãããšãçºèŠããŸãã ãã®åŸãéžææã«æ°ãããªãŒããŒã® HW ãžã®ãã°ãåãè©°ãããããã©ãã¯ãŒãšããŠãªã¯ãšã¹ãã®éä¿¡ãéå§ãããŸãã
ç±³ã 35. ã·ããªãª 6: ãããã¯ãŒã¯æ¥ç¶ãå埩ããåŸãå
ã®ãªãŒããŒããã©ãã¯ãŒã«ãªã
ãã®ç¶æ³ã§ã¯ãè«ççãªåé¢ãçæéçºçããå¯èœæ§ããããŸãããããã¯æ¬¡ã®å Žåã«éãããŸãã ACK=1 О min.insync.ã¬ããªã« ãŸãã1. ãããã¯ãŒã¯ã埩å ãããåŸãå ã®ãªãŒããŒãèªåããªãŒããŒã§ã¯ãªããªã£ãããšãèªèãããšãããŸãã¯ãã¹ãŠã®ã¯ã©ã€ã¢ã³ãããªãŒããŒãå€æŽãããããšãèªèããŠæ°ãããªãŒããŒãžã®æžã蟌ã¿ãéå§ãããšãã®ããããæ©ãæ¹ã§ãè«ççãªåé¢ã¯èªåçã«çµäºããŸãã ãããã®å Žåã§ããäžéšã®ã¡ãã»ãŒãžã¯å€±ãããŸãããããã¯æ¬¡ã®å Žåã«éãããŸãã ACK=1.
ãã®ã·ããªãªã«ã¯å¥ã®å€åœ¢ãããããããã¯ãŒã¯ãåå²ãããçŽåã«ããã©ãã¯ãŒãé ãããšãããªãŒããŒã ISR ãèªåã ãã«å§çž®ããŸããã ãã®åŸãæ¥ç¶ã倱ãããããšã§å€ç«ããŸãã æ°ãããªãŒããŒãéžåºãããŸãããå ã®ãªãŒããŒã¯åŒãç¶ããšã³ããªãŒãåãå ¥ããŸãã acks=ãã¹ãŠãISRã«ã¯åœŒä»¥å€ã«èª°ãããªãããã§ãã ãããã¯ãŒã¯ã埩æ§ãããšããããã®èšé²ã¯å€±ãããŸãã ãã®ãªãã·ã§ã³ãåé¿ããå¯äžã®æ¹æ³ã¯ã min.insync.replicas = 2.
ã·ããªãª 7: Kafka ã³ã³ãããŒã©ãŒ ããŒããå¥ã® Kafka ããŒããèªèã§ããªã
äžè¬ã«ãKafka ããŒããšã®æ¥ç¶ã倱ããããšãã³ã³ãããŒã©ãŒã¯ãªãŒããŒå€æŽæ å ±ãããã«éä¿¡ã§ããªããªããŸãã ææªã®å Žåãããã¯ã·ããªãª 6 ã®ããã«ãçæçãªè«ççåé¢ã«ã€ãªãããŸããå€ãã®å ŽåããããŒã«ãŒã倱æããå Žåããã®ãããŒã«ãŒã¯åçŽã«ãªãŒããŒåè£ã«ã¯ãªããŸããã
ã·ããªãª 8: Kafka ã³ã³ãããŒã©ãŒã Zookeeper ãèªèããªã
Zookeeper ã¯ãé害ãçºçããã³ã³ãããŒã©ãŒãã ping ãåä¿¡ãããæ°ãã Kafka ããŒããã³ã³ãããŒã©ãŒãšããŠéžæããŸãã å ã®ã³ã³ãããŒã©ãŒã¯åŒãç¶ããã®ããã«è¡šç€ºã§ããŸãããZookeeper ããã®éç¥ãåä¿¡ããªããããå®è¡ããã¿ã¹ã¯ã¯ãããŸããã ãããã¯ãŒã¯ã埩å ããããšã圌ã¯èªåããã¯ãã³ã³ãããŒã©ãŒã§ã¯ãªããéåžžã® Kafka ããŒãã«ãªã£ãããšã«æ°ã¥ããŸãã
ã·ããªãªããã®çµè«
ãã©ãã¯ãŒã®æ¥ç¶ã倱ãããŠãã¡ãã»ãŒãžã倱ãããã®ã§ã¯ãªãããããã¯ãŒã¯ã埩æ§ãããŸã§åé·æ§ãäžæçã«äœäžããã ãã§ããããšãããããŸãã ãã¡ãããXNUMX ã€ä»¥äžã®ããŒãã倱ãããå ŽåãããŒã¿æ倱ãçºçããå¯èœæ§ããããŸãã
æ¥ç¶ã倱ãããããã«ãªãŒããŒã Zookeeper ããé¢ããå ŽåãZookeeper ããã®ã¡ãã»ãŒãžã倱ãããå¯èœæ§ããããŸãã ACK=1ã åç©å飌è²å¡ãšã®ã³ãã¥ãã±ãŒã·ã§ã³äžè¶³ã«ãããXNUMX 人ã®æå°è ã®éã«äžæçãªè«ççäºè£ãçããŸãã ãã®åé¡ã¯ãã©ã¡ãŒã¿ã«ãã£ãŠè§£æ±ºãããŸã acks=ãã¹ãŠ.
ãã©ã¡ãŒã¿ãŒ min.insync.ã¬ããªã« 6 ã€ä»¥äžã®ã¬ããªã«ã«åå²ããããšã§ããã®ãããªçæéã®ã·ããªãªã§ã¯ãã·ããªãª XNUMX ã®ããã«ã¡ãã»ãŒãžã倱ãããããšããªããšããè¿œå ã®ä¿èšŒãæäŸãããŸãã
倱ãããã¡ãã»ãŒãžã®æŠèŠ
Kafka ã§ããŒã¿ã倱ãããå¯èœæ§ããããã¹ãŠã®æ¹æ³ããªã¹ãããŠã¿ãŸãããã
- ã¡ãã»ãŒãžã次ã䜿çšããŠç¢ºèªãããå Žåã®ãªãŒããŒã®å€±æ ACK=1
- ããšã acks=ãã¹ãŠ
- ã䜿çšããŠã¡ãã»ãŒãžã確èªãããå ŽåããªãŒããŒã Zookeeper ããéé¢ãã ACK=1
- ãã§ã«ISRã°ã«ãŒããèªåäžäººã«ãŸã§çž®å°ããããªãŒããŒãå®å šã«å€ç«ãããã ãã¹ãŠã®ã¡ãã»ãŒãžã¯å€±ãããŸãã acks=ãã¹ãŠã ããã¯æ¬¡ã®å Žåã«ã®ã¿åœãŠã¯ãŸããŸã min.insync.replicas=1.
- ãã¹ãŠã®ããŒãã£ã·ã§ã³ ããŒãã®åæé害ã ã¡ãã»ãŒãžã¯ã¡ã¢ãªãã確èªããããããäžéšã®ã¡ãã»ãŒãžã¯ãŸã ãã£ã¹ã¯ã«æžã蟌ãŸããŠããªãå¯èœæ§ããããŸãã ãµãŒããŒãåèµ·åãããšãäžéšã®ã¡ãã»ãŒãžã倱ãããå ŽåããããŸãã
äžçŽãªãªãŒããŒã·ããã®äº€ä»£ã¯ããããçŠæ¢ããããå°ãªããšã XNUMX åã®åé·æ§ã確ä¿ããããšã§åé¿ã§ããŸãã æãèä¹ æ§ã®ããæ§æã¯æ¬¡ã®çµã¿åããã§ãã acks=ãã¹ãŠ О min.insync.ã¬ããªã« ãã£ãš1ã
RabbitMQ ãš Kafka ã®ä¿¡é Œæ§ã®çŽæ¥æ¯èŒ
ä¿¡é Œæ§ãšé«å¯çšæ§ã確ä¿ããããã«ãäž¡æ¹ã®ãã©ãããã©ãŒã ã«ãã©ã€ããªããã³ã»ã«ã³ããªã®ã¬ããªã±ãŒã·ã§ã³ ã·ã¹ãã ãå®è£ ãããŠããŸãã ãã ããRabbitMQ ã«ã¯ã¢ãã¬ã¹è ±ããããŸãã é害åŸã«åæ¥ç¶ãããšãããŒãã¯ããŒã¿ãç Žæ£ããåæããããã¯ãããŸãã ãã®äºéã®ææã«ãããRabbitMQ ã«ããã倧èŠæš¡ãªãã¥ãŒã®å¯¿åœã«çåãçããŸãã åé·æ§ã®äœäžãŸãã¯é·ãããããã³ã°æéã®ãããããåãå ¥ããå¿ èŠããããŸãã åé·æ§ãæžãããšã倧éã®ããŒã¿æ倱ã®ãªã¹ã¯ãé«ãŸããŸãã ãã ãããã¥ãŒãå°ããå Žåã¯ãåé·æ§ã確ä¿ããããã«ãæ¥ç¶è©Šè¡ãç¹°ãè¿ãããšã§çæé (æ°ç§) ã®å©çšäžèœã«å¯ŸåŠã§ããŸãã
ã«ãã«ã«ã¯ãã®åé¡ã¯ãããŸããã ãªãŒããŒãšãã©ãã¯ãŒã®éã®åå²ç¹ããã®ã¿ããŒã¿ãç Žæ£ããŸãã ãã¹ãŠã®å ±æããŒã¿ãä¿åãããŸãã ããã«ãã¬ããªã±ãŒã·ã§ã³ã«ãã£ãŠã·ã¹ãã ããããã¯ãããããšã¯ãããŸããã æ°ãããã©ãã¯ãŒãè¿œãã€ããŠããéããªãŒããŒã¯æçš¿ãåãå ¥ãç¶ãããããDevOps ã®å Žåãã¯ã©ã¹ã¿ãŒãžã®åå ãŸãã¯ååå ã¯ç°¡åãªäœæ¥ã«ãªããŸãã ãã¡ãããã¬ããªã±ãŒã·ã§ã³æã®ãããã¯ãŒã¯åž¯åå¹ ãªã©ã®åé¡ã¯ãŸã ãããŸãã è€æ°ã®ãã©ãã¯ãŒãåæã«è¿œå ãããšã垯åå¹ å¶éãçºçããå¯èœæ§ããããŸãã
RabbitMQ ã¯ãã¯ã©ã¹ã¿ãŒå ã®è€æ°ã®ãµãŒããŒã«åæã«é害ãçºçããå Žåã®ä¿¡é Œæ§ã®ç¹ã§ Kafka ãããåªããŠããŸãã ãã§ã«è¿°ã¹ãããã«ãRabbitMQ ã¯ããã¹ã¿ãŒãšãã¹ãŠã®ãã©ãŒã«ãã£ãŠã¡ãã»ãŒãžããã£ã¹ã¯ã«æžã蟌ãŸããåŸã§ã®ã¿ããããªãã·ã£ãŒã«ç¢ºèªãéä¿¡ããŸãã ãã ããããã«ãã次㮠XNUMX ã€ã®çç±ã«ããã¬ã€ãã³ã·ãããã«å¢å ãââãŸãã
- æ°çŸããªç§ããšã« fsync
- ãã©ãŒã®é害ã¯ãåããŒãã®å¯çšæ§ããã§ãã¯ãããã±ããã®æå¹æé (ããã ãã£ãã¯) ãçµéããåŸã«ã®ã¿æ°ã¥ãããšãã§ããŸãã ãã©ãŒãé ããªã£ããèœã¡ãããããšãé 延ãè¿œå ãããŸãã
Kafka ã®è³ãã¯ãã¡ãã»ãŒãžãè€æ°ã®ããŒãã«ãŸããã£ãŠä¿åãããŠããå Žåãã¡ã¢ãªã«å°éãããšããã«ã¡ãã»ãŒãžã確èªã§ãããšããããšã§ãã ãã®ãããããããçš®é¡ã®ã¡ãã»ãŒãž (ããšã acks=ãã¹ãŠ, min.insync.replicas=2) åææ éã®å Žåã
å šäœçã«ãKafka ã¯ããåªãããœãããŠã§ã¢ ããã©ãŒãã³ã¹ã瀺ããã¯ã©ã¹ã¿ãŒåãã«ãŒãããèšèšãããŠããŸãã ä¿¡é Œæ§ã確ä¿ããããã«å¿ èŠã«å¿ããŠããã©ãã¯ãŒã®æ°ã 11 ãŸã§å¢ããããšãã§ããŸãã ã¬ããªã±ãŒã·ã§ã³ä¿æ° 5 ãšåæããã¬ããªã«ã®æå°æ° min.insync.replicas=3 ã¡ãã»ãŒãžã®æ倱ãéåžžã«ãŸããªã€ãã³ãã«ãªããŸãã ã€ã³ãã©ã¹ãã©ã¯ãã£ããã®ã¬ããªã±ãŒã·ã§ã³çãšåé·æ§ã¬ãã«ããµããŒãã§ããå Žåã¯ããã®ãªãã·ã§ã³ãéžæã§ããŸãã
RabbitMQ ã¯ã©ã¹ã¿ãªã³ã°ã¯ãå°èŠæš¡ãªãã¥ãŒã«é©ããŠããŸãã ãã ãããã©ãã£ãã¯ãå€ãå Žåã¯ãããšãå°ããªãã¥ãŒã§ãæ¥éã«å¢å€§ããå¯èœæ§ããããŸãã ãã¥ãŒã倧ãããªããšãå¯çšæ§ãšä¿¡é Œæ§ã®éã§é£ããéžæãããå¿ èŠããããŸãã RabbitMQ ã¯ã©ã¹ã¿ãªã³ã°ã¯ãRabbitMQ ã®æè»æ§ã®å©ç¹ãã¯ã©ã¹ã¿ãªã³ã°ã®æ¬ ç¹ãäžåããéå žåçãªç¶æ³ã«æé©ã§ãã
倧èŠæš¡ãªãã¥ãŒã«å¯Ÿãã RabbitMQ ã®è匱æ§ã«å¯Ÿãã XNUMX ã€ã®è§£æ¯çã¯ããã¥ãŒãå€æ°ã®å°ããªãã¥ãŒã«åå²ããããšã§ãã ãã¥ãŒå
šäœã®å®å
šãªé åºä»ããå¿
èŠãšãããé¢é£ããã¡ãã»ãŒãž (ç¹å®ã®ã¯ã©ã€ã¢ã³ãããã®ã¡ãã»ãŒãžãªã©) ã®ã¿ãå¿
èŠãšããå ŽåããŸãã¯ãŸã£ããé åºä»ããè¡ããªãå Žåã¯ããã®ãªãã·ã§ã³ã䜿çšã§ããŸããç§ã®ãããžã§ã¯ããèŠãŠãã ããã
æåŸã«ãRabbitMQ ãš Kafka ã®äž¡æ¹ã®ã¯ã©ã¹ã¿ãªã³ã°ãšã¬ããªã±ãŒã·ã§ã³ã®ã¡ã«ããºã ã«å€æ°ã®ãã°ãããããšãå¿ããªãã§ãã ããã æéãçµã€ã«ã€ããŠãã·ã¹ãã ã¯ããæçããå®å®ããŠããŸããããã¡ãã»ãŒãžã®æ倱ã 100% é²ãããšã¯ã§ããŸããã ããã«ããŒã¿ã»ã³ã¿ãŒã§ã¯å€§èŠæš¡äºæ ãçºçïŒ
äœããèŠéããããééããç¯ããå ŽåããŸãã¯ç¹ã®ããããã«åæã§ããªãå Žåã¯ããæ°è»œã«ã³ã¡ã³ããæžãããç§ã«é£çµ¡ããŠãã ããã
ãKafka ãš RabbitMQ ã®ã©ã¡ããéžã¶ã¹ãã§ãã?ãããã©ã¡ãã®ãã©ãããã©ãŒã ãåªããŠããŸãã?ããšãã質åãããŸãã å®ã®ãšãããããã¯ããªãã®ç¶æ³ãçŸåšã®çµéšãªã©ã«ãã£ãŠå€§ããå·Šå³ãããŸãããã¹ãŠã®ãŠãŒã¹ã±ãŒã¹ãšèããããå¶éã«å¯Ÿã㊠XNUMX ã€ã®ãã©ãããã©ãŒã ãæšå¥šããã®ã¯é床ã«åçŽåãããããããç§ã¯æèŠãèšãã®ãèºèºããŠããŸãã ãã®ã·ãªãŒãºã®èšäºã¯ãçãããèªåã®æèŠã圢æã§ããããã«æžããŸããã
ã©ã¡ãã®ã·ã¹ãã ããã®åéã§ã¯ãªãŒããŒã§ãããšèšãããã®ã§ãã ç§ã¯ãããžã§ã¯ãã®çµéšãããã¡ãã»ãŒãžã®é åºã®ä¿èšŒãä¿¡é Œæ§ãªã©ãéèŠããåŸåããããããå°ãåèŠããããããããŸããã
ãã®ä¿¡é Œæ§ãšé åºã®ä¿èšŒãæ¬ ããŠããä»ã®ãã¯ãããžãŒãèŠãŠãããRabbitMQ ãš Kafka ãèŠãŠããããäž¡æ¹ã®ã·ã¹ãã ã®ä¿¡ããããªãã»ã©ã®äŸ¡å€ã«æ°ã¥ããŸããã
åºæïŒ habr.com