๐ก ์ด๋ฒ ํฌ์คํ ์์๋ Replication์ ๋ํด ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ด์ ๋ฉํฐ ๋ ธ๋ ์นดํ์นด - 1, ๋ฉํฐ ๋ ธ๋ ์นดํ์นด - 2 ํฌ์คํ ์์ ํ ํฝ ์์ฑ ์ replication-factor ์ต์ ์ ํตํด ํ ํฝ์ ๊ฐ ํํฐ์ ๋ค์ ์ฌ๋ฌ ๋ธ๋ก์ปค์ ๋ณต์ ํด ๋ณด์์ต๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ํํฐ์ ๋ณต์ , Replication์ ๋ํด ์กฐ๊ธ ๋ ์์ธํ๊ฒ ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ฉํฐ ๋ ธ๋ ์นดํ์นด์ ํต์ฌ์ ๋ฐ๋ก Replication์ ๋๋ค. Replication์ ํตํด์ ๊ฐ๋ณ ๋ ธ๋(๋ธ๋ก์ปค)์ ์ฅ์ ๋ฅผ ๋๋นํ์ฌ ๋์ ๊ฐ์ฉ์ฑ์ ์ ๊ณตํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
Replication์ ํ ํฝ ์์ฑ ์ replication-factor ๊ฐ์ ํตํด ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๋ง์ฝ replication-factor๊ฐ 3์ด๋ฉด ๋ฆฌ๋ ํํฐ์ , ํ๋ก์ ํํฐ์ ์ ํฌํจํด ๋ชจ๋ 3๊ฐ์ ํํฐ์ ์ ๊ฐ์ง์ ์๋ฏธํ๋ฉฐ, ๋ธ๋ก์ปค 3๊ฐ์ replication-factor๊ฐ 3์ผ ๊ฒฝ์ฐ ์ด 9๊ฐ์ ํํฐ์ ์ ๋ณด๊ฐ ์์ฑ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ replication-factor์ ๊ฐ์๋ ๋ธ๋ก์ปค์ ์ด๊ฐ์๋ณด๋ค ํด ์ ์์ต๋๋ค.
replication-factor์ ์ํด ์์ฑ๋ ๋ ๋ฆฌ๋ ํํฐ์ , ํ๋ก์ ํํฐ์ ์ ๊ตฌ๋ถํ๋๋ฐ ํ ํฝ์ ๋ํ read/write๋ ๋ชจ๋ ๋ฆฌ๋ ํํฐ์ ๊ณผ ์ด๋ฃจ์ด์ง๋ฉฐ,
๋ณต์ ๋ฐฉํฅ์ ๋ฆฌ๋ ํํฐ์ → ํ๋ก์ ํํฐ์ ๋ฐฉํฅ์ผ๋ก ๋ณต์ ๊ฐ ์งํ๋ฉ๋๋ค.
๋ฆฌ๋ ํํฐ์ ๊ณผ ํ๋ก์ ํํฐ์ ์ ๋จ๊ณ๋ณ Replication
์นดํ์นด๋ก ํฅํ๋ ์๋ง์ ๋ฉ์์ง๋ฅผ ์ฝ๊ณ ์ฐ๊ธฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฆฌ๋๋ ๋งค์ฐ ๋ฐ์๊ฒ ๋์ํฉ๋๋ค. ์ด๋ ๊ฒ ๋ฐ์ ๋ฆฌ๋๊ฐ Replication ๋์์ ์ํด ํ๋ก์ ํํฐ์ ๋ค๊ณผ ๋ง์ ํต์ ์ ์ฃผ๊ณ ๋ฐ๊ฑฐ๋ Replication ๋์์ ๋ง์ ๊ด์ฌ๋ฅผ ํ๋ค๋ฉด, ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฆฌ๋์ ์ฑ๋ฅ์ ๋จ์ด์ง๊ณ ์นดํ์นด์ ์ฅ์ ์ธ ๋น ๋ฅธ ์ฑ๋ฅ์ ๋ด๊ธฐ๋ ์ด๋ ค์ธ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์นดํ์นด๋ ๋ฆฌ๋์ ํ๋ก์ ๊ฐ์ Replication ๋์ ์ฒ๋ฆฌํ ๋ ์๋ก์ ํต์ ์ ์ต์ํํ ์ ์๋๋ก ์ค๊ณํจ์ผ๋ก์จ ๋ฆฌ๋์ ๋ถํ๋ฅผ ์ค์์ต๋๋ค.
์ ๊ทธ๋ฆผ์์ peter-test01 ํ ํฝ์ด 1๊ฐ์ ํํฐ์ ๊ณผ 3๊ฐ์ Replication Factor๋ฅผ ๊ฐ์ง๊ณ ์์์ ์ ์ ์์ต๋๋ค.
ํ์ฌ๋ ๋ฆฌ๋ ํํฐ์ ๋ง์ด 0๋ฒ ์คํ์ ์ message1์ด๋ผ๋ ๋ฉ์์ง๋ฅผ ๊ฐ๊ณ ์๋ ์ํ์ ๋๋ค.
๋ฆฌ๋๋ง ๋ฉ์์ง๋ฅผ ์ ์ฅํ๊ณ ์์ง ํ๋ก์๋ค์ ๋ฆฌ๋์๊ฒ ์ ์ฅ๋ ๋ฉ์์ง๋ฅผ Replication ํ๊ธฐ ์ ์ ๋๋ค.
ํ๋ก์๋ค์ ๋ฆฌ๋์๊ฒ 0๋ฒ ์คํ์ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ์ค๊ธฐ(fetch) ์์ฒญ์ ๋ณด๋ธ ํ ์๋ก์ด ๋ฉ์์ง message1์ด ์๋ค๋ ์ฌ์ค์ ์ธ์งํ๊ณ message1 ๋ฉ์์ง๋ฅผ Replication ํ๋ ๊ณผ์ ์ ๋๋ค.
ํ ์ํ์์ ๋ฆฌ๋๋ ๋ชจ๋ ํ๋ก์๊ฐ 0๋ฒ ์คํ์ ๋ฉ์์ง๋ฅผ Replication ํ๊ธฐ ์ํ ์์ฒญ์ ๋ณด๋๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง, ํ๋ก์๋ค์ด 0๋ฒ ์คํ์ ์ ๋ํ Replication ๋์์ ์ฑ๊ณตํ๋์ง ์คํจํ๋์ง ์ฌ๋ถ๋ ์์ง ๋ชปํฉ๋๋ค.
๋ฉ์์ง ํ ์์คํ ์ค ๋๋น MQ์ ํธ๋์ญ์ ๋ชจ๋์์๋ ๋ชจ๋ ๋ฏธ๋ฌ(ํ๋ก์)๊ฐ ๋ฉ์์ง๋ฅผ ๋ฐ์๋์ง์ ๋ํ ACK๋ฅผ ๋ฆฌ๋์๊ฒ ๋ฆฌํดํ๋ฏ๋ก, ๋ฆฌ๋๋ ๋ฏธ๋ฌ(ํ๋ก์)๋ค์ด ๋ฉ์์ง๋ฅผ ๋ฐ์๋์ง ์ ์ ์์ต๋๋ค.
ํ์ง๋ง ์นดํ์นด์ ๊ฒฝ์ฐ์๋ ๋ฆฌ๋์ ํ๋ก์ ์ฌ์ด์์ ACK๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ํต์ ์ด ์์ต๋๋ค. ์คํ๋ ค ์นดํ์นด๋ ๋ฆฌ๋์ ํ๋ก์ ์ฌ์ด์ ACK ํต์ ์ ์ ๊ฑฐํจ์ผ๋ก์จ Replication ๋์์ ์ฑ๋ฅ์ ๋์ฑ ๋์์ต๋๋ค.
๋ค์ ๋ฆฌ๋๋ 1๋ฒ ์คํ์ ์ ์์น์ ๋ ๋ฒ์งธ ์๋ก์ด ๋ฉ์์ง์ธ message2๋ฅผ ํ๋ก๋์๋ก๋ถํฐ ๋ฐ์ ๋ค ์ ์ฅํฉ๋๋ค.
0๋ฒ ์คํ์ ์ ๋ํ Replication ๋์์ ๋ง์น ํ๋ก์๋ค์ ๋ฆฌ๋์๊ฒ 1๋ฒ ์คํ์ ์ ๋ํ Replication์ ์์ฒญํฉ๋๋ค. ํ๋ก์๋ค๋ก๋ถํฐ 1๋ฒ ์คํ์ ์ ๋ํ Replication ์์ฒญ์ ๋ฐ์ ๋ฆฌ๋๋ ํ๋ก์๋ค์ 0๋ฒ ์คํ์ ์ ๋ํ Replication ๋์์ด ์ฑ๊ณตํ์์ ์ธ์งํ๊ณ , ์คํ์ 0์ ๋ํด ์ปค๋ฐ ํ์๋ฅผ ํ ํ ํ์ด์ํฐ๋งํฌ๋ฅผ ์ฆ๊ฐํฉ๋๋ค.
๐ข ํ์ด์ํฐ๋งํฌ (High Water Mark)
ํ์ด์ํฐ๋งํฌ๋ ํ๋ก์ ํํฐ์ ์์ ๋ณต์ ๊ฐ ์๋ฃ๋ ์คํ์ ์์น๋ฅผ ์๋ฏธํฉ๋๋ค.
ํ๋ก์๋ค๋ก๋ถํฐ 1๋ฒ ์คํ์ ์ ๋ํ Replication ์์ฒญ์ ๋ฐ์ ๋ฆฌ๋๋ ์๋ต์ 0๋ฒ ์คํ์ message1 ๋ฉ์์ง๊ฐ ์ปค๋ฐ๋์๋ค๋ ๋ด์ฉ๋ ํจ๊ป ์ ๋ฌํฉ๋๋ค.
๐ข ํ๋ก์๊ฐ 0๋ฒ ์คํ์ ์ ๋ํ Replication์ ์ฑ๊ณตํ์ง ๋ชปํ๋ค๋ฉด, ํ๋ก์๋ 1๋ฒ ์คํ์ ์ ๋ํ Replication ์์ฒญ์ด ์๋ 0๋ฒ ์คํ์ ์ ๋ํ Replication ์์ฒญ์ ๋ณด๋ด๊ฒ ๋ฉ๋๋ค.
๋ฐ๋ผ์ ๋ฆฌ๋๋ ํ๋ก์๋ค์ด ๋ณด๋ด๋ Replication ์์ฒญ์ ์คํ์ ์ ๋ณด๊ณ , ํ๋ก์๋ค์ด ์ด๋ ์์น์ ์คํ์ ๊น์ง Replication์ ์ฑ๊ณตํ๋์ง ์ธ์งํ ์ ์์ต๋๋ค.
Replication์ ๋ง์ง๋ง ๊ณผ์ ์ผ๋ก, ๋ฆฌ๋์ ์๋ต์ ๋ฐ์ ๋ชจ๋ ํ๋ก์๋ 0๋ฒ ์คํ์ ๋ฉ์์ง๊ฐ ์ปค๋ฐ๋์๋ค๋ ์ฌ์ค์ ์ธ์งํ๊ฒ ๋๊ณ , ๋ฆฌ๋์ ๋์ผํ๊ฒ ์ปค๋ฐ์ ํ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ 1๋ฒ ์คํ์ ๋ฉ์์ง์ธ message2๋ฅผ Replication ํฉ๋๋ค.
์ด๋ฐ ๊ณผ์ ์ ๊ณ์ ๋ฐ๋ณตํ๋ฉฐ ๋์ผํ ํํฐ์ ๋ด์ ๋ฆฌ๋์ ํ๋ก์ ๊ฐ ๋ฉ์์ง์ ์ต์ ์ํ๋ฅผ ์ ์งํ๊ฒ ๋ฉ๋๋ค.
๐กReplication ๊ณผ์ ์ ์ค์ํ ์ ์ ๋ค๋ฅธ ๋ฉ์์ง ์์คํ ๋ค๊ณผ ๋ฌ๋ฆฌ ์นดํ์นด๋ ACK ํต์ ๋จ๊ณ๋ฅผ ์ ๊ฑฐํ๋ค๋ ์ฌ์ค์ ๋๋ค.
์๋ฅผ ๋ค์ด ๋ฉ์์ง ํ๋๋ฅผ Replication ํ๋ ๋ฐ ์ด 2ํ์ ACK ํต์ ์ ์ฃผ๊ณ ๋ฐ๋๋ค๊ณ ๊ฐ์ ํ๋ฉด 1,000๊ฐ์ ๋ฉ์์ง๋ 2,000ํ์ ACK ํต์ ์ด ํ์ํ๋ฉฐ, 1๋ง ๊ฐ์ ๋ฉ์์ง๋ 2๋ง ํ์ ACK ํต์ ์ด ํ์ํฉ๋๋ค. ์ด๋ ๊ฒ ACK ํต์ ์ ์ ์ธํ ์นดํ์นด์ ๋ฆฌ๋๋ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ๋ฅ์ ๋์ฑ ์ง์คํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ACK ํต์ ์ ์ ์ธํ์์๋ ๋ฆฌ๋, ํ๋ก์ ๊ฐ์ Replication ๋์์ด ๋งค์ฐ ๋น ๋ฅด๋ฉด์๋ ์ ๋ขฐํ ์ ์๋ค๋ ๊ฒ๋ ์ฅ์ ์ ๋๋ค. ์นดํ์นด์์ ๋ฆฌ๋์ ํ๋ก์๋ค์ Replication ๋์ ๋ฐฉ์์ ๋ฆฌ๋๊ฐ ํธ์(push)ํ๋ ๋ฐฉ์์ด ์๋ ํ๋ก์๋ค์ด ํ(pull)ํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋๋ฐ, ํ ๋ฐฉ์์ ์ฑํํ ์ด์ ๋ Replication ๋์์์ ๋ฆฌ๋์ ๋ถํ๋ฅผ ์ค์ฌ์ฃผ๊ธฐ ์ํด์์ ๋๋ค.
์ฐธ๊ณ ์๋ฃ
'Kafka' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฆฌ๋์ํฌํฌ & ๋ณต๊ตฌ (0) | 2023.05.01 |
---|---|
ISR(In Sync Replica) (0) | 2023.05.01 |
๋ฉํฐ ๋ ธ๋ ์นดํ์นด - 2 (0) | 2023.05.01 |
๋ฉํฐ ๋ ธ๋ ์นดํ์นด - 1 (0) | 2023.05.01 |
KafkaConsumer (0) | 2023.04.17 |
๋๊ธ