04.LogRetention,CleanupPolicy
Log ํ์ผ ๊ด๋ฆฌ
Log๋ Consume๋์ด๋ ์ง์ฐ์ง ์์
๋ง์ Consumer๋ค์ด ์๋ก ๋ค๋ฅธ ์๊ฐ์ Log ๋ฐ์ดํฐ๋ฅผ Consume ํ ์ ์๊ธฐ ๋๋ฌธ์
Broker ํน์ Topic ๋จ์๋ก Cleanup ์ ์ฑ ์ ์ค์ ํจ
log.cleanup.policy ํ๋ผ๋ฏธํฐ
delete
compact
delete,compact
ํ์ฌ Active Segment์ Log๋ cleanup ๋์์ด ์๋
Delete Cleanup Policy
Log Cleaner Thread๊ฐ Segment File์ ์ญ์
log.cleanup.policy ํ๋ผ๋ฏธํฐ
delete
log.retention.ms : log ๋ณด๊ด ์ฃผ๊ธฐ (๊ธฐ๋ณธ๊ฐ : 7 ์ผ)
log.retention.check.interval.ms : log segment๋ฅผ ์ฒดํฌํ๋ ์ฃผ๊ธฐ (๊ธฐ๋ณธ๊ฐ : 5 ๋ถ)
segment ํ์ผ์ ์ ์ฅ๋ ๊ฐ์ฅ ์ต์ ์ ๋ฉ์์ง๊ฐ log.retention.ms ๋ณด๋ค ์ค๋๋ segment ๋ฅผ ์ญ์
Topic์ ๋ฉ์์ง๋ฅผ ๋ชจ๋ ์ญ์ ํ๋ ๋ฐฉ๋ฒ
retention.ms ๋ฅผ ํ์ฉ(์ด์ํ๊ฒฝ์์๋ ๊ถ์ฅํ์ง ์์)
Producer์ Consumer๋ฅผ ๋ชจ๋ shutdown
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น Topic์ retention.ms๋ฅผ 0์ผ๋ก ์ ํ
Cleanup Thread ๊ฐ ๋์ํ ๋์ ๋๊ธฐ (๊ธฐ๋ณธ๊ฐ 5๋ถ ๋ง๋ค ๋์)
๋ฉ์์ง ์ญ์ ํ์ธ ํ, ์๋ ์ค์ ์ผ๋ก ์๋ณต
์ฃผ์) Log File ์์ฒด๋ฅผ ์ ๋๋ก ์ง์ ์ญ์ ํ๋ฉด ์ ๋จ -> ๋ฐ๋์ ๋ช ๋ น์ด๋ก ์ํ
Compact Cleanup Policy
๊ฐ Key์ ์ต์ Value๋ง์ ์ ์ง
Key๊ฐ ์๋ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ๋ฉด Custom Partitioner๋ฅผ ์ฌ์ฉํ์ง ์๋ ํ, ํน์ Key๋ฅผ ๊ฐ์ง๋ ๋ชจ๋ ๋ฉ์์ง๋ ๋์ผํ Partition์ผ๋ก send ๋จ
Compact(์์ถ) ์ ์ฑ ์ Partition๋ณ๋ก ํน์ Key์ ์ต์ Value๋ง ์ ์งํ๋ฉฐ ์์ถ
๋์ผํ Key๋ฅผ ๊ฐ์ง ๋ฉ์์ง๊ฐ ๋ค๋ฅธ Partition์ ์๋ ๊ฒฝ์ฐ, ๋์ผํ Key๋ฅผ ๊ฐ์ง ์ฌ๋ฌ ๋ฉ์์ง๊ฐ ์ฌ์ ํ ์์ ์ ์์(์ด์ ์ค ํํฐ์ ์ ์ฆ๊ฐ ๋๋ ์ญ์ ํ๋ ๊ฒฝ์ฐ ๋ฐ์ ๊ฐ๋ฅ)
์ค๋ณต ์ ๊ฑฐ์ฉ ๊ธฐ์ ์ด ์๋
Log Compaction
Key๊ฐ ์๋ ๋ฉ์์ง์ ๋ํด์๋ง ์๋
์์ถ์ด ์์ผ๋ฉด Consumer๋ ํญ์ ์ ์ฒด ๋ก๊ทธ๋ฅผ ์ฝ๊ณ ๊ฒฐ๊ตญ ๊ฐ Key์ ๋ํ ๊ฐ์ฅ ์ต์ ์ํ์ ๋๋ฌํ ์ ์์ง๋ง, ๋ก๊ทธ ์์ถ์ ์ฌ์ฉํ๋ฉด ์ค๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ง ์๊ธฐ ๋๋ฌธ์ Consumer๊ฐ ์ต์ข ์ํ์ ๋ ๋นจ๋ฆฌ ๋๋ฌํ ์ ์์(์, __consumer_offsets Topic)
Log Compaction ๋์ ์๋ฆฌ
Log Compaction ์ค์
log.cleaner.min.cleanable.ratio (๊ธฐ๋ณธ๊ฐ : 0.5)
Head ์์ญ ๋ฐ์ดํฐ๊ฐ Tail ์์ญ๋ณด๋ค ํฌ๋ฉด(๊ธฐ๋ณธ๊ฐ 50%), Cleaner ์์
log.cleaner.io.max.bytes.per.second (๊ธฐ๋ณธ๊ฐ : ๋ฌด์ ํ)
Log Cleaner์ Read/Write ์ ์ฒ๋ฆฌ๋์ ์ ํํ์ฌ ์์คํ ๋ฆฌ์์ค ๋ณดํธ ๊ฐ๋ฅ
๋์ผํ Key๋ฅผ ๊ฐ๋ ๋ฉ์์ง๊ฐ ๋งค์ฐ ๋ง์ ๊ฒฝ์ฐ, ๋ ๋น ๋ฅธ ์ ๋ฆฌ๋ฅผ ์ํด์ ์๋์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฆ๊ฐ์์ผ์ผ ํจ
log.cleaner.threads (๊ธฐ๋ณธ๊ฐ : 1) core ๊ฐ์๋งํผ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
log.cleaner.dedupe.buffer.size (๊ธฐ๋ณธ๊ฐ : 134,217,728)
Tombstone Message
Compaction ์ฌ์ฉ์์ Key๋ก K๋ฅผ ๊ฐ์ง๋ ๋ฉ์์ง๋ฅผ ์ง์ฐ๋ ค๋ฉด, ๋์ผํ Key(K)์ null value๋ฅผ ๊ฐ์ง๋ ๋ฉ์์ง๋ฅผ Topic์ผ๋ก ๋ณด๋ด๋ฉด ๋จ
Consumer๋ ํด๋น ๋ฉ์์ง๊ฐ ์ง์์ง๊ธฐ ์ ์(๊ธฐ๋ณธ 1 day), ํด๋น ๋ฉ์์ง๋ฅผ consumeํ ์ ์์
๋ฉ์์ง๋ฅผ ์ง์ฐ๊ธฐ ์ ๋ณด๊ด ๊ธฐ๊ฐ(๊ธฐ๋ณธ 1 day)์ log.cleaner.delete.retention.ms ๋ก ์กฐ์
Last updated