๐ก ์ด๋ฒ ํฌ์คํ ์์๋ ๋ก๊ทธ ์ปดํฉ์ ์ ๋ํด ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ปดํฉ์ ์ ๋ก๊ทธ ์ธ๊ทธ๋จผํธ ๊ด๋ฆฌ ์ ์ฑ ์ค ํ๋๋ก, ๋ก๊ทธ๋ฅผ ์ญ์ ํ์ง ์๊ณ ์ปดํฉ์ ํ์ฌ ๋ณด๊ดํ ์ ์์ต๋๋ค.
๋ก๊ทธ ์ปดํฉ์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ก์ปฌ ๋์คํฌ์ ์ ์ฅ๋์ด ์๋ ์ธ๊ทธ๋จผํธ๋ฅผ ๋์์ผ๋ก ์คํ๋๋๋ฐ, ํ์ฌ ํ์ฑํ(active)๋ ์ธ๊ทธ๋จผํธ๋ ์ ์ธํ๊ณ ๋๋จธ์ง ์ธ๊ทธ๋จผํธ๋ค์ ๋์์ผ๋ก ์ปดํฉ์ ์ด ์คํ๋ฉ๋๋ค.
์นดํ์นด์์๋ ๋จ์ํ๊ฒ ๋ฉ์์ง๋ฅผ ์ปดํฉ์ ํ์ฌ ๋ณด๊ดํ๊ธฐ๋ณด๋ค๋ ๋ฉ์์ง์ ํค๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ง์ง๋ง์ ๋ฐ์ดํฐ๋ง ๋ณด๊ดํ๋ ์ข ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ปดํฉ์ ํฉ๋๋ค.
์ด๋ฐ ์ปดํฉ์ ์ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ์ปจ์๋จธ๊ฐ ๋ฐ๋ก __consumer_offsets์ ๋๋ค.
์ ์ด๋ฏธ์ง์ ๊ฐ์ด k1์ ๋ํด k1, v1, v3, v4 ๊ฐ ์ ์ฅ๋์๋ค๊ณ ํ์ ๊ฒฝ์ฐ ๋ง์ง๋ง k1์ ๋ํ ๊ฐ์ v4์ ๋๋ค. ๋ฐ๋ผ์ ์ปดํฉ์ ํ์๋ k1์ ๋ํ ๊ฐ์ผ๋ก v4 ๋ง ์ ์ฅํ๊ฒ ๋ฉ๋๋ค.
๐ก ๋ก๊ทธ ์ปดํฉ์ ์ ๊ตฌํํ๋ ค๋ฉด ์ปดํฉ์ ๋ ํ ํฝ์ ํค๊ฐ ์๋ ๋ ์ฝ๋๊ฐ ์์ด์ผ ํฉ๋๋ค.
Log Cleaner
๋ก๊ทธ ์ปดํฉ์ ์ Log Cleaner๋ผ๋ ๊ฐ์ฒด๊ฐ ๋ก๊ทธ ์ปดํฉ์ ์์ ์ ์ํํฉ๋๋ค.
๋ก๊ทธ ์ปดํฉ์ ์ด ์ ์ฉ๋ ์์ญ์ clean area, ์์ง ์ ์ฉ๋์ง ์์ ์์ญ์ dirty area๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
๋ก๊ทธ ์ปดํฉ์ ํ๋ผ๋ฏธํฐ
config | ์ค๋ช |
log.cleaner.min.cleanable.auto | Log Cleaner๊ฐ ์ปดํฉ์
์ ์ํํ๊ธฐ ์ํ ํํฐ์
๋ด์ dirty ๋ฐ์ดํฐ ๋น์จ ๊ธฐ๋ณธ๊ฐ์ 0.5์ด๋ฉฐ ๊ฐ์ด ์์์๋ก Log Cleaner๊ฐ ๋ ๋น๋ฒํ ์ปดํฉ์ ์ ์ํํฉ๋๋ค. ํ ํฝ ๊ตฌ์ฑ์ min.cleanable.dirty.ratio ์ ๋๋ค. |
log.cleaner.min.compaction.lag.ms | ๋ฉ์์ง๊ฐ ์์ฑ ๋ ํ ์ต์ํ log.cleaner.min.compaction.lag.ms๊ฐ ์ง๋์ผ ์ปดํฉ์
๋์์ด ๋ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 0์ด๋ฉฐ ๊ฐ์ด ํด์๋ก ์ต๊ทผ ๋ฐ์ดํฐ๋ณด๋ค๋ ์ค๋๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ํํฉ๋๋ค. ํ ํฝ ๊ตฌ์ฑ์ min.compaction.lag.ms์ ๋๋ค. |
log.cleaner.max.compaction.lga.ms | Dirty ratio ์ดํ์ฌ๋ ๋ฉ์์ง ์์ฑ ํ log.cleaner.max.compaction.ms ์๊ฐ์ด ์ง๋๋ฉด ์ปดํฉ์
๋์์ด ๋ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋ฌดํ๋์ ๊ฐ๊น์ด ํฐ ๊ฐ์ด๋ฉฐ ํ ํฝ ๊ตฌ์ฑ์ max.compaction.lag.ms์ ๋๋ค. |
๋ก๊ทธ ์ปดํฉ์ ์ฅ์
์ด๋ฌํ ๋ก๊ทธ ์ปดํฉ์ ์ ์ฅ์ ์ผ๋ก๋ ๋น ๋ฅธ ์ฅ์ ๋ณต๊ตฌ๊ฐ ์์ต๋๋ค.
์ฅ์ ๋ณต๊ตฌ ์ ์ ์ฒด ๋ก๊ทธ๋ฅผ ๋ณต๊ตฌํ์ง ์๊ณ , ๋ฉ์์ง์ ํค๋ฅผ ๊ธฐ์ค์ผ๋ก ์ต์ ์ ์ํ๋ง ๋ณต๊ตฌํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ฒด ๋ก๊ทธ๋ฅผ ๋ณต๊ตฌํ ๋๋ณด๋ค ๋ณต๊ตฌ ์๊ฐ์ ์ค์ผ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
๋ก๊ทธ ์ปดํฉ์ ๋จ์
๋น ๋ฅธ ์ฌ์ฒ๋ฆฌ๋ผ๊ณ ํด์ ๋ชจ๋ ํ ํฝ์ ๋ก๊ทธ ์ปดํฉ์ ์ ์ ์ฉํ๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค. ํค๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ต์ข ๊ฐ๋ง ํ์ํ ์ํฌ๋ก๋์ ์ ์ฉํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ก๊ทธ ์ปดํฉ์ ์์ ์ด ์คํ๋๋ ๋์ ๋ธ๋ก์ปค์ ๊ณผ๋ํ ์ ์ถ๋ ฅ ๋ถํ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ ์ ์ํด์ผ ํฉ๋๋ค.
์ฐธ๊ณ ์๋ฃ
- https://www.youtube.com/watch?v=VAkhYxu1qII
- https://docs.confluent.io/kafka/design/log_compaction.html
- <์ค์ ์นดํ์นด ๊ฐ๋ฐ๋ถํฐ ์ด์๊น์ง> - ๊ณ ์น๋ฒ ์ง์
- <์ธํ๋ฐ ์นดํ์นด ์๋ฒฝ ๊ฐ์ด๋ - ์ฝ์ดํธ> - ๊ถ์ฒ ๋ฏผ
'Kafka' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฉ์์ง ๋ก๊ทธ ์ธ๊ทธ๋จผํธ, ๋ก๊ทธ ์ธ๊ทธ๋จผํธ (0) | 2023.05.07 |
---|---|
์ปจํธ๋กค๋ฌ (0) | 2023.05.01 |
๋ฆฌ๋์ํฌํฌ & ๋ณต๊ตฌ (0) | 2023.05.01 |
ISR(In Sync Replica) (0) | 2023.05.01 |
Replication (0) | 2023.05.01 |
๋๊ธ