λΆν λΆμ°μ μν λ‘λ λ°Έλ°μ± μκ³ λ¦¬μ¦(load balancing algorithm)
μλΉμ€κ° μ¬μ©λμ΄ λ§μλ 견λκΈ° μν΄μλ μ¬λ¬ μλ²λ₯Ό ꡬμ±νκ³ μ΄λ€κ°μ λΆν λΆμ°μ ν΄μ£Όμ΄μΌ ν©λλ€
μ΄λ₯Ό μ²λ¦¬νλ μ νμ Load balancer λΌκ³ νλ©° μ μ νκ² λΆνλ₯Ό λΆμ°νκΈ° μν΄ μ¬λ¬κ°μ§ λΆν λΆμ° λ°©μμ μ 곡ν©λλ€.
λΆν λΆμ° μκ³ λ¦¬μ¦
Round Robin(RR)
λΌμ΄λ λ‘λΉ μκ³ λ¦¬μ¦μ μΌλ°μ μΌλ‘ κΈ°λ³Έ λ‘λ λ°Έλ°μ± μ€μ μ΄λ©° ν΄λ¬μ€ν°λ΄μ Server λ₯Ό μννλ©΄μ μλΉμ€ν©λλ€.Β
μ¦ ν΄λ¬μ€ν°μ A, B, C μλ²κ° μμ κ²½μ° A β B β C β A μμΌλ‘ μννμ¬ λΆνλ₯Ό λΆμ°ν©λλ€.
μ²λ¦¬ μλ²κ° λ°λμ μμΌλ―λ‘ μ΄ λ°©μμ μ¬μ©νλ €λ©΄ session clustering μ΄ κ΅¬μ±λμ΄ μμ΄μΌ ν©λλ€.
κ°μ₯ κ°λ¨νκ³ μ΄ν΄λ μ¬μμ λ§μ΄ μ¬μ©νμ§λ§ μλ²κ° μ²λ¦¬ μ©λμ΄ λ€λ₯Έ κ²½μ° μ ν©νμ§ μμ΅λλ€.
least connection
κ°μ₯ ν΄λΌμ΄μΈνΈ μ°κ²° κ°―μκ° μ μ μλ²λ‘ λΆνλ₯Ό λΆμ°νμ¬ κ· λ±νκ² μ λ¬νλ λ°©μμ λλ€.
RR κ³Ό λ§μ°¬κ°μ§λ‘ μ΄ λ°©μμ μ¬μ©νλ €λ©΄ session clustering μ΄ κ΅¬μ±λμ΄ μμ΄μΌ ν©λλ€.
ip hash
ν΄λΌμ΄μΈνΈ IP λ₯Ό hash ν΄μ νΉμ ν΄λΌμ΄μΈνΈλ νΉμ μλ²λ‘ μ°κ²°νλλ‘ νλ μ€μ μ λλ€.
Session clustering μ΄ κ΅¬μ±λμ§ μμ κ²½μ° μ μ©νμ§λ§ λΆνκ° κ³¨κ³ λ£¨ λΆμ°λμ§ μκ³ νΉμ μλ²μ λͺ°λ¦΄ μ μλ μνμ΄ μμ΅λλ€.
Server Weights RR
μλ²μ κ°μ€μΉλ₯Ό μ£Όμ΄μ κ°μ€μΉκ° λμ μλ²κ° λ λ§μ μΌμ μ²λ¦¬νκ² ν©λλ€.
μλ²κ° λμμ λ€μ΄μμ κ°μ μ¬μμ΄ μλκ³ νΉμ μλ²μ μ€νμ΄ λ μ’μ κ²½μ° μ€ν μ’μ μλ²μ κ°μ€μΉλ₯Ό λκ² μ£Όμ΄ μ²λ¦¬λμ λ릴μ μμ΅λλ€.
nginx μΉ μλ²λ λ‘λ λ°Έλ°μ κΈ°λ₯μ΄ μμΌλ©° λ€μκ³Ό κ°μ΄ Upstream μ κ°μ€μΉλ₯Ό μ€ μ μμ΅λλ€.
upstream phpserver { server was1-ip:1234 weight=5; server was2-ip:1234 ; server 192.0.0.1 backup; }
μ μ€μ μ was1 μλ²μ 5λ² μμ²ν νμ was2 μλ²μ μμ²νλ©°Β backup μΌλ‘ μ§μ λ μλ²λ λ©μΈ μλ²κ° λ€ fault μΌ κ²½μ°μλ§ μλΉμ€νλ μ€μ μ λλ€.
Server Slow Start
λ³λμ λΆν λΆμ° μκ³ λ¦¬μ¦λ³΄λ€λ 볡ꡬλ μλ²μ μ¬μ₯μ λ₯Ό λ°©μ§νκΈ° μν κΈ°λ²μ λλ€.
μλ‘ ν΄λ¬μ€ν°λ΄ νΉμ μλ²κ° μ₯μ μμ 볡ꡬλμ΄μ λ€μ ν΄λ¬μ€ν°μ μ°Έμ¬νμ κ²½μ° μ΅κ·Όμ μμ²μ΄ λͺ°λ €μ λ€μ μ₯μ κ° λμ§ μλλ‘ slow_start μ μκ°μ μ€μ νλ©΄ μ£Όμ΄μ§ μκ°λ§νΌ κΈ°λ€λ € μ€λλ€.
μ¦ slow_start λ₯Ό μ€μ ν μλ²μλ μ ν΄μ§ μκ°λμ λΆνλ₯Ό λΆμ°νμ§ μμ΅λλ€.
μΌλ°μ μΈ Load Balancer κΈ°λ₯μ μ리며 μ νμ λ°λΌ κΈ°λ₯μ΄ μ‘΄μ¬νμ§ μμμ μμ΅λλ€.
κ°μ΄ 보기
- CDN, Cache Server, L4, SSL κ°μκΈ°,Load Balancer κ° μ°¨μ΄μ μ 무μμΈκ°μ?
- Forward Proxy(ν¬μλ νλ‘μ)μ Reverse Proxy(리λ²μ€ νλ‘μ)μ μ°¨μ΄μ
- nginx λ‘λ λ°Έλ°μ± μ€μ (load balancing)