μ΅κ·Ό νλ‘μ νΈμμ λ‘λ λ°Έλ°μλ₯Ό μ΄μ©ν 리μ λ³ λ€μ€ μλ² νκ²½μ ꡬμΆνλ©΄μ, μΈμ κ΄λ¦¬μ λν μ 리λ₯Ό νλ² ν΄λλ©΄ λμμ΄ λ κ² κ°μ μ 리ν΄λ³΄μμ΅λλ€. λ¨μΌ μλ²μμλ κ°λ¨νλ μΈμ κΈ°λ° μΈμ¦μ΄, μ¬λ¬ λμ μλ²λ‘ νΈλν½μ λΆμ°μν€λ μκ° μΈμ λΆμΌμΉ(Session Inconsistency) λ¬Έμ λ₯Ό μ΄λν μ μμ΅λλ€. μ΄λ² κΈμμλ μ΄ λ¬Έμ μ μμΈκ³Ό ν΄κ²° λ°©λ²μ μ 리ν΄λ³΄κ² μ΅λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ €λ©΄ λ€μ€ μλ² νκ²½μμλ μΌκ΄λ μΈμ κ΄λ¦¬λ₯Ό μ μ§ν μ μλ λ°©λ²μ΄ νμν©λλ€.
κ°λ : λ‘λ λ°Έλ°μκ° νΉμ μ¬μ©μμ μμ²μ νμ λμΌν μλ²λ‘ μ λ¬νλ λ°©μμ λλ€.
λ°©λ²:
βοΈ κ΅¬νμ΄ κ°λ¨νλ©° μΆκ°μ μΈ μΈλΆ μ μ₯μκ° νμ μμ
βοΈ κΈ°μ‘΄ μΈμ
κ΄λ¦¬ λ°©μμ κ·Έλλ‘ μ¬μ©ν μ μμ
β οΈ νΉμ μλ²μ νΈλν½μ΄ μ§μ€λ μ μμ (λ‘λ λ°Έλ°μ± ν¨κ³Ό κ°μ)
β οΈ μΈμ
μ 보λ₯Ό κ°μ§ μλ²κ° λ€μ΄λλ©΄ ν΄λΉ μ¬μ©μμ μΈμ
μ΄ μ μ€λ¨
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
}
κ°λ : ν μλ²μμ μμ±λ μΈμ μ 보λ₯Ό λ€λ₯Έ μλ²μ λκΈ°ννμ¬ λͺ¨λ μλ²κ° λμΌν μΈμ μ 보λ₯Ό κ°μ§λλ‘ νλ λ°©μμ λλ€.
βοΈ μ΄λ μλ²λ‘ μμ²μ΄ κ°λλΌλ λμΌν μΈμ
μ 보λ₯Ό μ¬μ©ν μ μμ
βοΈ μλ² μ₯μ μμλ μΈμ
μ λ³΄κ° μ μ§λ¨
β οΈ μΈμ
λκΈ°νλ‘ μΈν λ€νΈμν¬ λΆν λ°μ κ°λ₯
β οΈ μΈμ
볡μ μ§μ°μΌλ‘ μΈν΄ μΌμμ μΈ μΈμ
μ 보 λΆμΌμΉ λ°μ κ°λ₯
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
κ°λ : μΈμ μ 보λ₯Ό μΈλΆ μ€ν 리μ§(μ: Redis, Memcached, λ°μ΄ν°λ² μ΄μ€)μ μ μ₯νμ¬ λͺ¨λ μλ²κ° λμΌν μΈμ μ μ₯μλ₯Ό μ°Έμ‘°νλ λ°©μμ λλ€.
βοΈ μ€μμμ μΈμ
μ 보λ₯Ό κ΄λ¦¬νμ¬ μΌκ΄μ±μ μ μ§ν μ μμ
βοΈ μλ²κ° μΆκ°λκ±°λ κ΅μ²΄λμ΄λ μΈμ
μ΄ μ μ§λ¨
β οΈ μΈλΆ μ€ν 리μ§κ° λ¨μΌ μ₯μ μ§μ (Single Point of Failure)μ΄ λ μ μμ
β οΈ μΆκ°μ μΈ μΈνλΌ κ΅¬μΆ λ° κ΄λ¦¬κ° νμν¨
@Configuration
@EnableRedisHttpSession
public class HttpSessionConfig {
// Redis μΈμ
μ μ₯ μ€μ
}
| ν΄κ²° λ°©λ² | μ₯μ | λ¨μ |
|---|---|---|
| μ€ν°ν€ μΈμ | ꡬνμ΄ κ°λ¨, μΆκ°μ μΈ μ μ₯μ λΆνμ | νΉμ μλ²λ‘ νΈλν½ μ§μ€, μλ² μ₯μ μ μΈμ μ μ€ |
| μΈμ ν΄λ¬μ€ν°λ§ | μλ² κ° μΈμ 곡μ κ°λ₯ | λ€νΈμν¬ λΆν, λκΈ°ν μ§μ° κ°λ₯ |
| μΈμ μ€ν λ¦¬μ§ λΆλ¦¬ | μ€μ μ μ₯μμμ μΈμ κ΄λ¦¬ | μΆκ°μ μΈ μΈνλΌ νμ, μ₯μ λ°μ μ μν |
λ€μ€ μλ² νκ²½μμμ μΈμ κ΄λ¦¬λ μμ€ν μ μμ μ±κ³Ό μ§κ²°λλ μ€μν λ¬Έμ μ λλ€. μμμ μκ°ν μΈ κ°μ§ λ°©λ² μ€ μμ€ν μ νΉμ±κ³Ό μꡬμ¬νμ λ§λ λ°©μμ μ ννμ¬ μ μ©νμκΈ° λ°λλλ€. κ° λ°©λ²μ μ₯λ¨μ μ΄ μμΌλ―λ‘, μΆ©λΆν κ²ν ν κ²°μ νλ κ²μ΄ μ€μν©λλ€.
μ¬λ¬λΆμ μλΉμ€ νκ²½μ λ§λ μ μ ν μΈμ κ΄λ¦¬ λ°©λ²μ μ ννμ¬, λμ± μμ μ μΈ μμ€ν μ ꡬμΆν΄λ³΄μΈμ! π
---