03.Replica Recovery

Replica Recovery (acks=all ์˜ ์ค‘์š”์„ฑ)

Availability ์™€ Durability

Topic ํŒŒ๋ผ๋ฏธํ„ฐ - unclean.leader.election.enable

  • ISR ๋ฆฌ์ŠคํŠธ์— ์—†๋Š” Replica๋ฅผ Leader๋กœ ์„ ์ถœํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์˜ต์…˜ (default : false)

  • ISR ๋ฆฌ์ŠคํŠธ์— Replica๊ฐ€ ํ•˜๋‚˜๋„ ์—†์œผ๋ฉด Leader ์„ ์ถœ์„ ์•ˆ ํ•จ โ€’ ์„œ๋น„์Šค ์ค‘๋‹จ

  • ISR ๋ฆฌ์ŠคํŠธ์— ์—†๋Š” Replica๋ฅผ Leader๋กœ ์„ ์ถœํ•จ โ€’ ๋ฐ์ดํ„ฐ ์œ ์‹ค

Topic ํŒŒ๋ผ๋ฏธํ„ฐ โ€’ min.insync.replicas

  • ์ตœ์†Œ ์š”๊ตฌ๋˜๋Š” ISR์˜ ๊ฐœ์ˆ˜์— ๋Œ€ํ•œ ์˜ต์…˜ (default : 1) -> 2๋กœ ํ•˜๋Š”๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

  • ISR ์ด min.insync.replicas ๋ณด๋‹ค ์ ์€ ๊ฒฝ์šฐ, Producer๋Š” NotEnoughReplicas ์˜ˆ์™ธ๋ฅผ ์ˆ˜์‹ 

  • Producer์—์„œ acks=all๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ๋” ๊ฐ•๋ ฅํ•œ ๋ณด์žฅ + min.insync.replicas=2

  • n๊ฐœ์˜ Replica๊ฐ€ ์žˆ๊ณ , min.insync.replicas=2 ์ธ ๊ฒฝ์šฐ n-2๊ฐœ์˜ ์žฅ์• ๋ฅผ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Œ

๋ฐ์ดํ„ฐ ์œ ์‹ค์ด ์—†๊ฒŒ ํ•˜๋ ค๋ฉด?

  • Topic : replication.factor ๋Š” 2 ๋ณด๋‹ค ์ปค์•ผ ํ•จ(์ตœ์†Œ 3์ด์ƒ)

  • Producer : acks ๋Š” all ์ด์–ด์•ผ ํ•จ

  • Topic : min.insync.replicas ๋Š” 1 ๋ณด๋‹ค ์ปค์•ผ ํ•จ(์ตœ์†Œ 2 ์ด์ƒ)

๋ฐ์ดํ„ฐ ์œ ์‹ค์ด ๋‹ค์†Œ ์žˆ๋”๋ผ๋„ ๊ฐ€์šฉ์„ฑ์„ ๋†’๊ฒŒ ํ•˜๋ ค๋ฉด?

  • Topic : unclean.leader.election.enable ๋ฅผ true ๋กœ ์„ค์ •

Last updated