nginx tcp load balancing
tcp load balancing
db replication으로 구성한 n개의 db를 failover 를 사용하는법은 찾아보다가, 우연히 nginx에서 tcp load balancing을 사용할수있다는것을 알게되었다.
이전포스트 nginx load balancing 에서 http protocol의 load balancing을 살펴보았다면 이번 포스트에서는 tcp protocol 을 사용한 load balancing 을 소개하려한다.
nginx config
nginx http protocol load balancing을 구성해보았다면 무척이나 쉽게 느껴질것이다.
/etc/nginx/nginc.conf 를 다음과 같이 수정한다.
nginx를 설치하면 가장기본적으로 다음과 같이 설정되어있을것이다.
http protocol은 사용하지않을 것이므로 다음과같이 주석이나 삭제하고 stream 설정을 추가한다.
다음과 같이 설정을 마친후 nginx를 reload한다.
해당 설정방법은 nginx document
https://www.nginx.com/blog/mysql-high-availability-with-nginx-plus-and-galera-cluster/
를 보고 참고하였으며, 생각보다 tcp load balancing을 사용하여 db 이중화를 구성하는 개발자분들이 많은것 같다.
nginx 를 통해 mysql workbench나 기타 dbms tool로 접속하면 정상적으로 접속되는것을 확인할수있다.
참고
docker를 통한 nginx구성은
https://hub.docker.com/r/setyourmindpark/debian-nginx/
를 참고하자.