π‘ μ΄λ² ν¬μ€ν μμλ ISR(In Sync Replica)μ λν΄ μ λ¦¬ν΄ λ³΄λλ‘ νκ² μ΅λλ€.
μ΄μ μ ν¬μ€ν νλ Replicationμμ 리λμ νλ‘μ νν°μ λ€μ νλμ λ Όλ¦¬μ κ·Έλ£ΉμΌλ‘ λ¬Άμ¬μλλ° μ΄λ₯Ό ISR(In Sync Replication)μ΄λΌκ³ ν©λλ€.
ISRμ 리λ νν°μ κ³Ό μ μμ μΌλ‘ λκΈ°νκ° μ΄λ£¨μ΄μ§ νλ‘μ νν°μ λ€λ‘ ꡬμ±λλ©°, λ§μ½ νλ‘μ νν°μ μ λ¬Έμ κ° μ겨 리λ νν°μ μ λ©μμ§λ₯Ό κ°μ Έμ€μ§ λͺ»νκ±°λ λ€μ³μ§ κ²½μ° ν΄λΉ νλ‘μ νν°μ μ ISRμμ μ μΈλ©λλ€.
π’ ISRμ μ£ΌκΈ°μ μΌλ‘ νμΈνλ μ΅μ μ λ€μ λκ°μ§ μ΅μ μ΄ μμ΅λλ€.
zookeeper.session.timeout.ms
default: 6μ΄
max: 18μ΄
→ λΈλ‘μ»€κ° μ£Όν€νΌμ μ°κ²°λμ΄ μμ΄μΌ ν©λλ€. μ μ΅μ μ μ€μ λ μκ° λ΄μ Heartbeatλ₯Ό μ§μμ μΌλ‘ μ£Όν€νΌμ 보λ΄μΌ ν©λλ€.
replica.lag.time.max.ms
default: 10μ΄
max: 30μ΄
→ νλ‘μ νν°μ μ ν΄λΉνλ μ΅μ μΌλ‘, νλ‘μ νν°μ μ 리λ νν°μ μΌλ‘λΆν° μ μ΅μ μ μ€μ λ μκ° λ΄μ λ©μμ§λ₯Ό μ§μμ μΌλ‘ κ°μ ΈμμΌ ν©λλ€.
κ·Έλ¦¬κ³ ISRλ΄μ νλ‘μ νν°μ λ€μ λͺ¨λ 리λ νν°μ μ΄ λ μ μμ΅λλ€.
λ§μ½ μμ κ°μ΄ 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 |
λκΈ