HAProxy
μΌλ°μ μΌλ‘ μ ν리μΌμ΄μ
μλ²μ λν HTTP νλ‘μλ μμ§μμ€(Nginx)λ₯Ό λ§μ΄ μ¬μ©νκ³ μμ§λ§ L4 λ 벨μ TCP νλ‘μ
κ° νμν κ²½μ° stream λͺ¨λμ λ³λλ‘ μ€μΉν΄μΌνλ κ³Όμ μ΄ νμνλ―λ‘ HAProxy
κ° λ μ’μ μ νμΌ μ μλ€. μ¬λ΄ κ°λ° νκ²½μμ μ°κ²°ν μ μλ λ°°μ€μ² νΈμ€νΈμ HAProxyλ₯Ό ꡬμ±νκ³ νλΌμ΄λΉ λ€νΈμν¬ νκ²½μΌλ‘ ꡬμ±λμ΄μλ ν
μ€νΈ νκ²½μ TCP ν΅μ μ΄ νμν μΈμ€ν΄μ€μ μ°κ²°ν μ μλλ‘ ν¬νΈ ν¬μλ©
μ ꡬμ±ν΄λ³΄λλ‘ νμ.
TCP νλ‘μ
TCP νλ‘μλ TCP μ°κ²°μ λν 리λ²μ€ νλ‘μμ ν΄λΉλλ€. μΌλ°μ μΌλ‘ TCP μ°κ²°μ μνν΄μΌνλ μΈμ€ν΄μ€μλ Redis λλ PostgreSQLμ΄ μλλ° νμ¬ μ‘°μ§μμ νμ©νκ³ μλ μκ³μ΄ λ°μ΄ν°λ² μ΄μ€μΈ KDB+μ λν΄ νλ‘μλ₯Ό ꡬμ±ν΄λ³΄λ €κ³ νλ€. λ€μμ KDBμμ μ¬μ©ν΄μΌνλ ν¬νΈ λ²μλ₯Ό μμ νλλ‘ μ€μ ν μμμ΄λ€.
listen kdb_proxy_for_dev
mode tcp
bind *:5010-5013
server kdb_dev 192.168.149.88
HAProxy κ΅¬μ± ν μ€νΈ
νμ¬ μ€μ νμΌμ λ¬Έλ²μ μΈ λ¬Έμ κ° μλμ§ check mode(-c)
μ΅μ
μ μ¬μ©ν΄μ νμ¬ μ€μ μ λν΄ κ²μ¦μ μνν΄λ³Ό μ μλ€.
[ec2-user@ip-192-169-14-62 ~]$ haproxy -c -f /etc/haproxy/haproxy.cfg
Configuration file is valid
TCP νλ‘μ ν μ€νΈ
NetCat(nc) λͺ λ Ήμ΄λ₯Ό μ¬μ©ν΄μ HAProxyμμ μμ νκ³ μλ ν¬νΈλ₯Ό ν΅ν΄ ν μ€νΈ νκ²½μ μ€νλ μΈμ€ν΄μ€μ μ°κ²°ν μ μλμ§ ν μ€νΈλ₯Ό ν΄λ³΄μ.
[ec2-user@ip-192-169-14-62 ~]$ nc -znv 127.0.0.1 5013
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 127.0.0.1:5013.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
λ°°μ€μ² νΈμ€νΈμ TCP νλ‘μλ₯Ό ꡬμ±νκΈ° μ κΉμ§λ λ°°μ€μ² νΈμ€νΈμ λν SSH ν°λλ§μ νμν λλ§λ€ μνν΄μΌ νμ΅λλ€.
κΈ°λ³Έμ μΌλ‘ SSH ν°λλ§μ ꡬμ±νλκ² μΌλ°μ μ΄μ§λ§ 보μ μμ€μ κ²ν νκ³ TCP νλ‘μλ₯Ό ꡬμ±ν΄λ³΄λλ‘ νμΈμ.