traefik - 클라우드 네이티브 어플리케이션 프록시
(github.com)- k8s,docker 와 마이크로서비스에 잘 어울리는 오픈소스 HTTP 리버스 프록시
- 재시작 없이 설정 변경
- 여러 로드밸런싱 알고리즘 지원
- Let's Encrypt 자동 인증
- 써킷브레이커/Retry
- 깔끔한 웹UI와 REST API
- Websocker, HTTP/2, GRPC 지원
- Prometheus, Datadog, Statsd, InfluxDB등 메트릭 지원
- Go로 만든 싱글 바이너리
댓글과 토론
예전에 토이프로젝트로 좀 만져봤는데, 한번 설정한 뒤 기존 및 새로 만드는 도커 컴포즈 파일에 몇라인만 넣으면 알아서 리버스 프록싱하여 쓰기가 좋습니다.
공식 홈페이지에 1.4버전때 nginx와 벤치마크한 결과가 있습니다.
https://doc.traefik.io/traefik/v1.4/benchmarks/
nginx 대비 85%의 성능을 발휘합니다.
보통 nginx를 리버스프록시로 많이 씁니다만, 클라우드에서 컨테이너로 구성된 환경에서는 traefik이 nginx보다 훨씬 편합니다.
- 스타트업에 traefik + docker-swarm을 추천하는 이유 https://gist.github.com/rabelais88/a458c1f45eea7d28240c64621853bb64