02.Replica Failure

In-Sync Replicas ๋ฆฌ์ŠคํŠธ ๊ด€๋ฆฌ

  • Leader๊ฐ€ ๊ด€๋ฆฌ

  • ๋ฉ”์‹œ์ง€๊ฐ€ ISR ๋ฆฌ์ŠคํŠธ์˜ ๋ชจ๋“  Replica(๋ณต์ œ๋ณธ)์—์„œ ์ˆ˜์‹ ๋˜๋ฉด Commit๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ

  • Kafka Cluster์˜ Controller๊ฐ€ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ZooKeeper์˜ ISR ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ Leader๊ฐ€ ์œ ์ง€

  • n๊ฐœ์˜ Replica๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ n-1๊ฐœ์˜ ์žฅ์• ๋ฅผ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Œ

  • Follower๊ฐ€ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ

    • Leader์— ์˜ํ•ด ISR ๋ฆฌ์ŠคํŠธ์—์„œ ์‚ญ์ œ๋จ

    • Leader๋Š” ์ƒˆ๋กœ์šด ISR์„ ์‚ฌ์šฉํ•˜์—ฌ Commitํ•จ

  • Leader๊ฐ€ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ

    • Controller๋Š” Follower ์ค‘์—์„œ ์ƒˆ๋กœ์šด Leader๋ฅผ ์„ ์ถœ

    • Controller๋Š” ์ƒˆ Leader์™€ ISR ์ •๋ณด๋ฅผ ๋จผ์ € ZooKeeper์— Pushํ•œ ๋‹ค์Œ ๋กœ์ปฌ ์บ์‹ฑ์„ ์œ„ํ•ด Broker์— Pushํ•จ

ISR์€ Leader๊ฐ€ ๊ด€๋ฆฌ

  • Zookeeper์— ISR ์—…๋ฐ์ดํŠธ, Controller๊ฐ€ Zookeeper๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ 

  1. Follower๊ฐ€ ๋„ˆ๋ฌด ๋Š๋ฆฌ๋ฉด Leader๋Š” ISR์—์„œ Follower๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ZooKeeper์— ISR์„ ์œ ์ง€

  2. Controller๋Š” Partition Metadata์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ Zookeeper๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ 

Leader Failure

  • Controller๊ฐ€ ์ƒˆ๋กœ์šด Leader ์„ ์ถœ

  • Controller๊ฐ€ ์ƒˆ๋กœ ์„ ์ถœํ•œ Leader ๋ฐ ISR ์ •๋ณด๋Š”, Controller ์žฅ์• ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด, ZooKeeper์— ๊ธฐ๋ก๋œ ๋‹ค์Œ ํด๋ผ์ด์–ธํŠธ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด ๋ชจ๋“  Broker์— ์ „ํŒŒ

Broker Failure

Broker 4 ๋Œ€, Partition 4, Replication Factor๊ฐ€ 3 ์ผ ๊ฒฝ์šฐ๋ฅผ ๊ฐ€์ •

  • Partition ์ƒ์„ฑ์‹œ Broker๋“ค ์‚ฌ์ด์—์„œ Partition๋“ค์ด ๋ถ„์‚ฐํ•˜์—ฌ ๋ฐฐ์น˜๋จ

  • Broker 4์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ

Partition Leader๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ

  • Partition์— Leader๊ฐ€ ์—†์œผ๋ฉด, Leader๊ฐ€ ์„ ์ถœ๋  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น Partition์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋จ

  • Producer์˜ send() ๋Š” retries ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ์žฌ์‹œ๋„ํ•จ ๋งŒ์•ฝ retries=0 ์ด๋ฉด, NetworkException์ด ๋ฐœ์ƒํ•จ

Last updated