μΈμ ?
μΈμ μ°λ¦¬λ μμ ν΄μλ₯Ό νμλ‘ ν κΉ
- λμ©λ νΈλν½μ λ²ν°κΈ° μν΄μ DBλ₯Ό λΆν νμ¬ μ¬λ¬ λμ μ€λλ₯Ό ꡬμΆνλ€κ³ νμ
- μνμ κ·λͺ¨ νμ₯μ±μ λ¬μ±νκΈ° μν΄μλ λ°μ΄ν°λ₯Ό μ¬λ¬ μ€λμ κ· λ±νκ² λλλ κ²μ΄ μ€μνλ€.
- API μμ²μ λν΄μλ λμΌνλ€. μμ²μ΄ μ¬λ¬ μλ²μ κ· λ±νκ² λλ μ§λ κ²μ΄ μ€μνλ€.
- μμ ν΄μλ μ΄ λͺ©νλ₯Ό λ¬μ±νκΈ° μν΄ λ³΄νΈμ μΌλ‘ μ¬μ©νλ κΈ°μ
ν΄μ ν€ μ¬λ°°μΉ λ¬Έμ
μ¬λ¬ λμ μλ²λ₯Ό λλλ°, κ·Έ μ€μ νλκ° κ³ μ₯λλ€λ©΄?
Nκ°μ μΊμ μλ²κ° μλ€κ³ ν΄λ³΄μ.
μ΄ μλ²λ€μ λΆνλ₯Ό κ· λ±νκ² λλλ 보νΈμ μΈ λ°©λ²μ μλμ ν΄μ ν¨μλ₯Ό μ¬μ©νλ κ²μ΄λ€.
serverIndex = hash(key) % N
[μμ]
ν€ | ν΄μ | ν΄μ % 4 (μλ² μΈλ±μ€) |
key0 | 18358617 | 1 |
key1 | 26143584 | 0 |
key2 | 18131146 | 2 |
key3 | 35863496 | 0 |
key4 | 34085809 | 1 |
key5 | 27581703 | 3 |
key6 | 38164978 | 2 |
key7 | 22530351 | 3 |
νΉμ ν€κ° 보κ΄λ μλ²λ₯Ό μμλ΄κΈ° μν΄μ λλ¨Έμ§(Moudlar)μ°μ°μ μ μ©νμλ€.
λͺ¨λλ¬ μ°μ°μ ν΅ν΄ μμλΈ μλ² μΈλ±μ€κ° 1μ΄λ©΄ ν΄λΉ ν€λ 1λ² μλ²μ μ μ₯μ΄ λμ΄ μλ€λ λ»μ΄λ€.
κ·Έλ λ€λ©΄ ν΄λΌμ΄μΈνΈλ μΊμμ μ μ₯λ λ°μ΄ν°λ₯Ό κ°μ Έμ€κΈ° μν΄μλ μλ² 1μ μ μμ ν΄μΌ νλ€.
μ΄λ¬ν λ°©λ²μ μλ² νμ ν¬κΈ°κ° κ³ μ λμ΄ μκ³ , λ°μ΄ν° λΆν¬κ° κ· λ±ν λλ μ λμνλ€.
νμ§λ§ μλ²κ° μΆκ°λκ±°λ, κΈ°μ‘΄ μλ²κ° μμ λλ©΄ λ¬Έμ κ° λ°μνλ€.
μλ₯Ό λ€μ΄ 1λ² μλ²κ° μ₯μ λ₯Ό μΌμΌμΌ λμμ μ€λ¨νλ€κ³ ν΄λ³΄μ.
κ·Έλ¬λ©΄ μλ² νμ ν¬κΈ° Nμ 3μΌλ‘ κ°μνλ€.
[μλ² 1 μμ μ΄ν]
ν€ | ν΄μ | ν΄μ % 3 (μλ² μΈλ±μ€) |
key0 | 18358617 | 0 |
key1 | 26143584 | 0 |
key2 | 18131146 | 1 |
key3 | 35863496 | 2 |
key4 | 34085809 | 1 |
key5 | 27581703 | 0 |
key6 | 38164978 | 1 |
key7 | 22530351 | 0 |
μ΄μ κ³Ό λΉκ΅νμ λ, λλΆλΆμ ν€μ λν΄μ μλ² μΈλ±μ€κ° λ³κ²½λμλ€.
μ₯μ κ° λ°μν 1λ² μλ²μ ν€ λΏλ§ μλλΌ, λλΆλΆμ ν€κ° μ¬λΆλ°°λλ κ²μ΄ ν΄λΉ λ°©μμ λ¬Έμ μ μ΄λ€.
μλ² νλκ° μ£½μΌλ©΄ μ΄νμ λλΆλΆμ ν€κ° μλ±ν μλ²(μΊμκ°μ΄ μλ)μ μ μμ ν΄μ, λκ·λͺ¨ μΊμ λ―Έμ€κ° λ°μν κ².
μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄μ μμ ν΄μκ° νμνλ€.
μμ ν΄μ?
μμ ν΄μλ μ νν μ΄λ€ ν΄μλ₯Ό μλ―Έν κΉ
- ν΄μ ν μ΄λΈμ ν¬κΈ°κ° μ‘°μ λ λ, μ€μ§ k/nκ°μ ν€λ§ μ¬λ°°μΉνλ ν΄μ κΈ°μ
- μ¬κΈ°μ kλ ν€μ κ°μμ΄κ³ , nμ μ¬λ‘―μ κ°μ
ν΄μ 곡κ°κ³Ό ν΄μ λ§
μμ ν΄μμ λμ μ리λ₯Ό μ΄ν΄νκΈ° μν΄ νμν κ°λ
- ν΄μ κ°μ΄ λ μ μλ λ²μλ₯Ό x0 ~ xn μ΄λΌκ³ νμ.
- SHA-1 ν¨μλ₯Ό μμλ‘ λ€λ©΄, κ°μ λ²μλ 0λΆν° 2^160 - 1μ΄ λλ€.
- ν΄μ 곡κ°μ μμͺ½μ ꡬλΆλ €μ μ μΌλ©΄ κ·Έλ¦Όκ³Ό κ°μ΄ ν΄μ λ§μ΄ λ§λ€μ΄μ§κ² λλ€.
ν΄μ μλ²
ν΄μ ν¨μλ₯Ό μ¬μ©νλ©΄, μλ² IPλ μ΄λ¦μ λ§ μμ μ΄λ€ μμΉμ λμμν¬ μ μλ€.
- μμ κ·Έλ¦Όμ 4κ°μ μλ²λ₯Ό ν΄μ λ§ μμ λ°°μΉν κ²°κ³Ό
ν΄μ ν€
μ¬κΈ°μ μ¬μ©λλ ν΄μ ν¨μλ λͺ¨λλ¬ μ°μ°μ μ¬μ©νλ ν΄μ ν¨μκ° μλλ€
- μΊμ ν€ μμ λ§ μμ μ΄λ μ§μ μ λ°°μΉν μ μλ€.
- κ·Έλ¦¬κ³ μ΄λ€ ν€κ° μ μ₯λλ μλ²λ ν€μ μμΉλ‘λΆν° μκ³ λ°©ν₯μΌλ‘ λ§μ νμν΄μ μ²μμΌλ‘ λ§λλ μλ²κ° λλ€.
μλ² μΆκ°
μλ² μΆκ°λ₯Ό νλ©΄ μ΄λ»κ² λ κΉ?
- μλ²λ₯Ό μΆκ°νλλΌλ κΈ°μ‘΄μ ν€λ€μ μ¬λ°°μΉκ° λμ§ μλλ€.
- μΆκ°λ μλ²μ μΆκ°λ μλ² μ§μ μ μλ² μ¬μ΄μ μλ ν€λ€λ§ μ¬λ°°μΉκ° μ΄λ£¨μ΄μ§λ€.
μλ² μμ
μλ²λ₯Ό μμ νλ©΄ μ΄λ»κ² λ κΉ?
- μλ²λ₯Ό μ κ±°λλ©΄ ν€ κ°μ΄λ° μΌλΆλ§ μ¬λ°°μΉκ° λλ€.
- μ κ±°λ μλ²μ ν λΉλμ΄ μλ ν€λ€λ§ μ¬λ°°μΉκ° λλ©΄ λλ€.
- μ¦, μμ κ·Έλ¦Όμμλ S0 ~ S1 μ¬μ΄μ μλ ν€λ€λ§ μ¬λ°°μΉκ° λλ€.
κΈ°λ³Έ ꡬνλ²μ 2κ°μ§ λ¬Έμ
μμμ μκ°ν κΈ°λ³Έμ μΈ ν΄μ λ§ λ°©μ ꡬνλ²μλ λ¬Έμ κ° μ‘΄μ¬νλ€.
- ν€λ₯Ό μλ²μ κ· λ±νκ² λΆν¬μν€λ κ²μ΄ μ΄λ ΅λ€λ λ¬Έμ μ΄λ€.
- μλ²κ° μΆκ°λκ±°λ μμ λκ² λλ©΄, νν°μ
μ ν¬κΈ°λ₯Ό κ· λ±νκ² μ μ§νλ κ² λΆκ°λ₯νλ€.
- μμμ λ μλ² μ¬μ΄μ ꡬκ°μ κΈΈμ΄κ° μΌμ νμ§ μλ€λ κ²μ΄λ€.
κ°μ λ Έλ
μμ 2κ°μ§ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄μ μ μλ λ°©λ²
- κ°μ λ Έλλ μ€μ λ Έλ λλ μλ²λ₯Ό κ°λ¦¬ν€λ λ Έλλ‘ νλμ μλ²λ λ§ μμ μ¬λ¬ κ°μ κ°μ λ Έλλ₯Ό κ°μ§ μ μλ€.
- κ° μλ²κ° κ°μ§ μ μλ κ°μ λ Έλμ μλ μ ν μ μλ€.
- κ°μ λ Έλμ μλ₯Ό λλ¦¬κ² λλ©΄, ν€μ λΆν¬λ μ μ λ κ· λ±ν΄μ§ κ²μ΄λ€.
- μλ²κ° μΆκ°λκ±°λ μμ λμμ λ μ¬λ°°μΉλλ ν€μ μκ° μ΅μν λλ€.
- λν μ¬λ°°μΉλλ ν€λ€μ λ¨μ μλ μλ²λ€μ΄ κ· λ±νκ² κ°μ Έκ° νλ₯ μ΄ λμμ§λ€.
[μ°Έκ³ λ¬Έν]
κ°μ λ©΄μ μ¬λ‘λ‘ λ°°μ°λ λκ·λͺ¨ μμ€ν μ€κ³ κΈ°μ΄
'κ°λ° > μμ€ν λμμΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ²λ¦¬μ¨ μ ν μ₯μΉμ μ€κ³ (0) | 2024.08.29 |
---|