λ€νΈμν¬μ λν μ§μμ΄ νμνλ€κ³ μκ°λμ΄, κΉμνλμ "λͺ¨λ κ°λ°μλ₯Ό μν HTTP μΉ κΈ°λ³Έ μ§μ" κ°μλ₯Ό λ€μλ€.
κ·Έ μ€μ 무μν νλ‘ν μ½μ λν κ°λ
μ μ²μμ΄λΌ μ 리νκ² λμλ€.
(PPLμλ...)
무μν νλ‘ν μ½
Stateless Protocol
- HTTP νλ‘ν μ½μ 무μν νλ‘ν μ½μ μ§ν₯νλ€
- μλ²κ° ν΄λΌμ΄μΈνΈμ μνλ₯Ό 보쑴νμ§ μλλ€
- μ₯μ : μλ²μ νμ₯μ±μ΄ λλ€(Scale Out)
- λ¨μ : ν΄λΌμ΄μΈνΈκ° μ μ‘νλ λ°μ΄ν°μ μμ΄ λ§μμ§λ€.
Stateful, Statelessμ μ°¨μ΄
λΉμ λ₯Ό ν΅ν΄μ Stateful, Statelessμ μ°¨μ΄λ₯Ό μμ보μ
Stateful
μν μ μ§
π£οΈ
κ³ κ°: μ΄ λ
ΈνΈλΆ μΌλ§μΈκ°μ?
μ μ: 100λ§μ μ
λλ€.
(λ
ΈνΈλΆ)
κ³ κ°: 2κ° κ΅¬λ§€νκ² μ΅λλ€.
μ μ: 200λ§μ μ
λλ€. μ μ©μΉ΄λ, νκΈ μ€μ μ΄λ€ κ±Έλ‘ κ΅¬λ§€ νμκ² μ΄μ?
(λ
ΈνΈλΆ, 2κ°)
κ³ κ°: μ μ©μΉ΄λλ‘ κ΅¬λ§€νκ² μ΅λλ€.
μ μ: 200λ§μ κ²°μ μλ£λμμ΅λλ€.
(λ
ΈνΈλΆ, 2κ°, μ μ©μΉ΄λ)
- μ μμ κ³μ κ³ κ°μ΄ λ§ν κ²λ€μ μ μ§νκ³ μμ΄μΌ νλ€.
λ§μ½ μ€κ°μ μ μμ΄ λ°λλ€λ©΄?
π£οΈ
κ³ κ°: μ΄ λ
ΈνΈλΆ μΌλ§μΈκ°μ?
μ μ A: 100λ§μ μ
λλ€.
(λ
ΈνΈλΆ)
κ³ κ°: 2κ° κ΅¬λ§€νκ² μ΅λλ€.
μ μ B: μ΄λ€ κ±Έ 2κ° κ΅¬λ§€νμλ 건κ°μ?
(2κ°)
κ³ κ°: μ μ©μΉ΄λλ‘ κ΅¬λ§€νκ² μ΅λλ€.
μ μ C: μ΄λ€ μ νμ λͺ κ° μ μ©μΉ΄λλ‘ κ΅¬λ§€νμλμ?
(μ μ©μΉ΄λ)
- μλ‘ λ€μ΄μ¨ μ μμ κ³ κ°μ΄ μ΄μ μ μ΄λ€ λνλ₯Ό νλμ§ μ μ μλ€.
- μ΄λ₯Ό μκΈ° μν΄μλ μλ‘ λ€μ΄μ¨ μ μμκ² μ΄μ μ ν΅μ νλ μ μμ΄ μ νλ₯Ό ν΄μ£Όλκ° νλ νμκ° νμνλ€.
Stateless
무μν
π£οΈ
κ³ κ°: μ΄ λ
ΈνΈλΆ μΌλ§μΈκ°μ?
μ μ: 100λ§μ μ
λλ€.
κ³ κ°: λ
ΈνΈλΆ 2κ° κ΅¬λ§€νκ² μ΅λλ€.
μ μ: 200λ§μ μ
λλ€. μ μ©μΉ΄λ, νκΈμ€μ μ΄λ€ κ±Έλ‘ κ΅¬λ§€ νμκ² μ΄μ?
κ³ κ°: λ
ΈνΈλΆ 2κ°λ₯Ό μ μ©μΉ΄λλ‘ κ΅¬λ§€νκ² μ΅λλ€.
μ μ: 200λ§μ κ²°μ μλ£λμμ΅λλ€.
- μνλ₯Ό λ°λ‘ μ μ₯νμ§ μμλ, μ΄μμμ΄ ν΅μ μ΄ κ°λ₯νλ€.
μ μμ΄ μ€κ°μ λ°λλ€λ©΄?
π£οΈ
κ³ κ°: μ΄ λ
ΈνΈλΆ μΌλ§μΈκ°μ?
μ μ A: 100λ§μ μ
λλ€.
κ³ κ°: λ
ΈνΈλΆ 2κ° κ΅¬λ§€νκ² μ΅λλ€.
μ μ B: 200λ§μ μ
λλ€. μ μ©μΉ΄λ, νκΈ μ€μ μ΄λ€ κ±Έλ‘ κ΅¬λ§€ νμκ² μ΄μ?
κ³ κ°: λ
ΈνΈλΆ 2κ°λ₯Ό μ μ©μΉ΄λλ‘ κ΅¬λ§€νκ² μ΅λλ€.
μ μ C: 200λ§μ κ²°μ μλ£λμμ΅λλ€.
- μ€κ°μ μ μμ΄ λ°λμ΄λ μ ν λ¬Έμ κ° μλ€.
Stateful, Stateless μ°¨μ΄
μ 리
- Stateful (μν μ μ§): μ€κ°μ λ€λ₯Έ μ μμΌλ‘ λ°λλ©΄ μ λλ€.
- μ€κ°μ λ€λ₯Έ μ μμΌλ‘ λ°λ λ μν μ 보λ₯Ό λ€λ₯Έ μ μμκ² λ―Έλ¦¬ μλ €μ€μΌ νλ€.
- Stateless (무μν): μ€κ°μ λ€λ₯Έ μ μμΌλ‘ λ°λμ΄λ λλ€.
- κ°μκΈ° κ³ κ°μ΄ μ¦κ°ν΄λ μ μμ λκ±° ν¬μ ν μ μλ€.
- κ°μκΈ° ν΄λΌμ΄μΈνΈ μμ²μ΄ μ¦κ°ν΄λ μλ²λ₯Ό λκ±° ν¬μ ν μ μλ€.
- 무μνλ μλ΅ μλ²λ₯Ό μ½κ² λ°κΏ μ μλ€ ⇒ 무νν μλ² μ¦μ€ κ°λ₯
μν μ μ§
νμ κ°μ μλ²κ° μ μ§λμ΄μΌ νλ€.
- ν΄λΌμ΄μΈνΈ Aλ μνλ₯Ό μκ³ μλ μλ²1μ΄λλ§ ν΅μ μ ν΄μΌ νλ€.
- κ°μκΈ° μλ²1μ΄ κ³ μ₯λλ©΄, ν΄λΌμ΄μΈνΈλ λ€λ₯Έ μλ²μ μ²μλΆν° λ€μ ν΅μ μ ν΄μΌ νλ€.
무μν
μ무 μλ²λ νΈμΆν΄λ λλ€.
- μνλ₯Ό μ μ§νμ§ μκΈ° λλ¬Έμ, ν΄λΌμ΄μΈνΈλ μ무 μλ²μ ν΅μ ν΄λ μκ΄μλ€.
- κ°μκΈ° μλ²1μ΄ κ³ μ₯λλλΌλ λ€λ₯Έ μλ²μ ν΅μ μ νλ©΄ λλ€.
- 보λ΄μΌ νλ λ°μ΄ν°μ μμ΄ λ§μμ§λ€λ λ¨μ μ΄ μλ€.
μ€μΌμΌ μμ (Scale Out)
무μνμ κ²½μ°μ μλ²λ₯Ό μννμ₯νλ κ²μ μ 리νλ€.
- ν΄λΌμ΄μΈνΈλ μ무 μλ²μ ν΅μ ν΄λ μκ΄μκΈ° λλ¬Έμ, κ°μ κΈ°λ₯μ νλ μλ²λ₯Ό λ§μ΄ λλ €λ λ¬Έμ κ° μλ€.
Statelessμ μ€λ¬΄μ νκ³
- λͺ¨λ κ²μ 무μνλ‘ μ€κ³ν μ μλ κ²½μ°λ μκ³ μλ κ²½μ°λ μλ€.
- 무μνλ‘λ§ μ€κ³κ° κ°λ₯ν κ²½μ°
- Ex) λ‘κ·ΈμΈμ΄ νμμλ λ¨μν μλΉμ€ μκ°νλ©΄
- μνμ μ§κ° νμν κ²½μ°
- Ex) λ‘κ·ΈμΈ
- λ‘κ·ΈμΈν μ¬μ©μμ κ²½μ° λ‘κ·ΈμΈνλ€λ μνλ₯Ό μλ²μ μ μ§ν΄μΌ νλ€
- μΌλ°μ μΌλ‘ λΈλΌμ°μ μΏ ν€μ μλ² μΈμ λ±μ μ¬μ©ν΄μ μνλ₯Ό μ μ§νλ€.
- μν μ μ§λ μ΅μνλ§ μ¬μ©
728x90
'WIL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Two-Phase Locking (2PL) (0) | 2024.05.10 |
---|---|
λ μΈλ³΄μ° ν μ΄λΈ (0) | 2024.05.01 |
GraphQLκ³Ό N + 1 λ¬Έμ (2) | 2024.02.27 |