๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Kafka

ISR(In Sync Replica)

by Soono991 2023. 5. 1.
๐Ÿ’ก ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ISR(In Sync Replica)์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ด์ „์— ํฌ์ŠคํŒ…ํ–ˆ๋˜ Replication์—์„œ ๋ฆฌ๋”์™€ ํŒ”๋กœ์›Œ ํŒŒํ‹ฐ์…˜๋“ค์€ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์—ฌ์žˆ๋Š”๋ฐ ์ด๋ฅผ ISR(In Sync Replication)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

์ถœ์ฒ˜: https://damdam-kim.tistory.com/17

ISR์€ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜๊ณผ ์ •์ƒ์ ์œผ๋กœ ๋™๊ธฐํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง„ ํŒ”๋กœ์›Œ ํŒŒํ‹ฐ์…˜๋“ค๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋งŒ์•ฝ ํŒ”๋กœ์›Œ ํŒŒํ‹ฐ์…˜์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜ ๋’ค์ณ์งˆ ๊ฒฝ์šฐ ํ•ด๋‹น ํŒ”๋กœ์›Œ ํŒŒํ‹ฐ์…˜์€ ISR์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“ข ISR์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ™•์ธํ•˜๋Š” ์˜ต์…˜์€ ๋‹ค์Œ ๋‘๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
zookeeper.session.timeout.ms
default: 6์ดˆ
max: 18์ดˆ

โ†’ ๋ธŒ๋กœ์ปค๊ฐ€ ์ฃผํ‚คํผ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ์˜ต์…˜์— ์„ค์ •๋œ ์‹œ๊ฐ„ ๋‚ด์— Heartbeat๋ฅผ ์ง€์†์ ์œผ๋กœ ์ฃผํ‚คํผ์— ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

replica.lag.time.max.ms
default: 10์ดˆ
max: 30์ดˆ

โ†’ ํŒ”๋กœ์›Œ ํŒŒํ‹ฐ์…˜์— ํ•ด๋‹นํ•˜๋Š” ์˜ต์…˜์œผ๋กœ, ํŒ”๋กœ์›Œ ํŒŒํ‹ฐ์…˜์€ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์œผ๋กœ๋ถ€ํ„ฐ ์œ„ ์˜ต์…˜์— ์„ค์ •๋œ ์‹œ๊ฐ„ ๋‚ด์— ๋ฉ”์‹œ์ง€๋ฅผ ์ง€์†์ ์œผ๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ISR๋‚ด์˜ ํŒ”๋กœ์›Œ ํŒŒํ‹ฐ์…˜๋“ค์€ ๋ชจ๋‘ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ถœ์ฒ˜: https://damdam-kim.tistory.com/17

 

๋งŒ์•ฝ ์œ„์™€ ๊ฐ™์ด broker 4์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ ํ•ด๋‹น ํŒŒํ‹ฐ์…˜๋“ค์ด ISR์—์„œ ์ œ์™ธ๋œ๋‹ค๋ฉด ์ดํ›„ broker 4์— ์žˆ๋Š” ํŒŒํ‹ฐ์…˜๋“ค์€ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์ด ๋  ์ˆ˜ ์—†๊ณ , broker 4์— ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์ด ์žˆ์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด ISR ๋‚ด์—์„œ ์ƒˆ๋กœ์šด ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์„ ์„ ์ถœํ•˜๋ฉฐ, ๋” ์ด์ƒ broker 4์˜ ํŒŒํ‹ฐ์…˜๋“ค์€ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

 

์ด์ „ ๋ฉ€ํ‹ฐ ๋…ธ๋“œ ์นดํ”„์นด ํฌ์ŠคํŒ…์—์„œ ์‹ค์Šตํ–ˆ๋˜ ํ† ํ”ฝ์œผ๋กœ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ธŒ๋กœ์ปค 3๊ฐœ, ํŒŒํ‹ฐ์…˜ 3๊ฐœ ๊ทธ๋ฆฌ๊ณ  Replication๋„ 3๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ๊นŒ์ง„ ISR์ด ๊ฐ๊ฐ์˜ ํŒŒํ‹ฐ์…˜ 3๊ฐœ ๋ชจ๋‘ ์„ค์ •๋˜์–ด ์žˆ๋Š”๋ฐ broker 3์„ shutdown ํ•œ ํ›„ ๋‹ค์‹œ ํ† ํ”ฝ์„ ์กฐํšŒํ•˜๋ฉด broker 3์— ์žˆ์—ˆ๋˜ 3๋ฒˆ ํŒŒํ‹ฐ์…˜์ด ISR์—์„œ ์ œ์™ธ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ broker 3๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์‹œ broker 3์˜ ํŒŒํ‹ฐ์…˜์ด ISR์— ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , broker 1๊ณผ broker 2์— broker 3์˜ ํŒŒํ‹ฐ์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋Š” ๋กœ๊ทธ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ๊นŒ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

broker 1

 

broker 2

 

min.insync.replicas

ํ•ด๋‹น ์˜ต์…˜์€ ๋ธŒ๋กœ์ปค์˜ ์„ค์ •๊ฐ’์œผ๋กœ ํ”„๋กœ๋“€์„œ๊ฐ€ acks=all๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œํ•œ์˜ ISR ๋ธŒ๋กœ์ปค ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋‚ด์šฉ์€ ์ด์ „ ํ”„๋กœ๋“€์„œ ํฌ์ŠคํŒ…์—๋„ ์ •๋ฆฌํ•ด๋‘์—ˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

์œ„ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ replication-factor๊ฐ€ 3์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ๋”, ํŒ”๋กœ์›Œ ํŒŒํ‹ฐ์…˜์€ ์ด 3๊ฐœ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ acks=all๊ณผ min.insync.replicas=2๋กœ ์„ค์ •ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฉ”์‹œ์ง€๋ฅผ ๋ณต์ œํ•ด์•ผํ•  ์ตœ์†Œ ๋ธŒ๋กœ์ปค(ํŒŒํ‹ฐ์…˜)์˜ ๊ฐœ์ˆ˜๊ฐ€ 2๊ฐœ์—ฌ์•ผ ๋ฉ”์‹œ์ง€ ์ „์†ก์— ์„ฑ๊ณตํ–ˆ๋‹ค๊ณ  ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ broker 3์ด ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ broker 1(๋ฆฌ๋”), broker 2(ํŒ”๋กœ์›Œ)์— ๊ฐ๊ฐ ๋ฉ”์‹œ์ง€๊ฐ€ ์ €์žฅ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ฒฝ์šฐ์—๋Š” ์ •์ƒ์ ์œผ๋กœ ๋ฉ”์‹œ์ง€๊ฐ€ ์ €์žฅ๋˜์—ˆ๋‹ค๊ณ  ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ์œ„์™€ ๊ฐ™์ด ํŒ”๋กœ์›Œ ํŒŒํ‹ฐ์…˜ 2๊ฐœ๊ฐ€ ๋ชจ๋‘ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜ ํ•˜๋‚˜์ด๊ธฐ ๋•Œ๋ฌธ์— ์นดํ”„์นด๋Š” ์—๋Ÿฌ๋กœ ํŒ๋‹จํ•˜๊ณ  ๋‹ค์Œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

์ฐธ๊ณ  ์ž๋ฃŒ

'Kafka' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ปจํŠธ๋กค๋Ÿฌ  (0) 2023.05.01
๋ฆฌ๋”์—ํฌํฌ & ๋ณต๊ตฌ  (0) 2023.05.01
Replication  (0) 2023.05.01
๋ฉ€ํ‹ฐ ๋…ธ๋“œ ์นดํ”„์นด - 2  (0) 2023.05.01
๋ฉ€ํ‹ฐ ๋…ธ๋“œ ์นดํ”„์นด - 1  (0) 2023.05.01

๋Œ“๊ธ€