!['.port' 백엔드와 Varnish의 '.host' 백엔드의 장단점](https://rvso.com/image/776292/'.port'%20%EB%B0%B1%EC%97%94%EB%93%9C%EC%99%80%20Varnish%EC%9D%98%20'.host'%20%EB%B0%B1%EC%97%94%EB%93%9C%EC%9D%98%20%EC%9E%A5%EB%8B%A8%EC%A0%90.png)
직장에는 바니시 클러스터가 있습니다. 모든 원격 백엔드는 우리에게 .host
값(필수라고 가정)을 제공하지만 로컬 백엔드에 대한 모든 구성, 즉 config/varnishd가 있는 서버에서 실행되는 백엔드는 이 .path
값을 사용합니다. 오늘 아침에 광택 서버 중 하나에 문제가 발생했습니다. 기본적으로 에서 참조한 소켓이 .path
존재하지 않아 시작되지 않았습니다. 소켓을 다시 가져오기 위해 다양한 방법을 시도했지만 아무 것도 작동하지 않은 후 .backend
대신 값을 사용하도록 광택 구성을 전환했습니다. 이제 서버별로 각 구성을 컴파일하는 것에 대해 걱정할 필요(예: .host
특정 서버에 해당하는 백엔드에서 라인 제거) 없이 중앙 집중식 바니시 구성을 쉽게 유지할 수 있으므로 이것이 이점이라고 생각합니다.
소켓을 사용하여 로컬 바니시 클러스터에 연결하면 상당한 이점이 있습니까(SSL 종료에 히치를 사용하는 것이 중요한 경우)? 모든 것이 동일하다면 .host
구성 업데이트를 훨씬 더 간단하게 수행할 수 있기 때문에 값을 사용하는 것이 더 나은 옵션이라고 생각합니다.
답변1
Unix 도메인 소켓을 사용하는 것은 TCP/IP 연결을 사용하는 것 .path
보다 훨씬 빠릅니다 ..host
.port
처리량이 중요한 경우 더 높은 처리량(TLS를 통해 100Gbps 이상)을 얻을 수 있는 Unix 도메인 소켓을 사용하십시오.
대규모 처리량이 그다지 중요하지 않은 경우 UDS가 필요하지 않은 TCP/IP를 사용할 수 있습니다.
UDS 권한 문제의 경우 Varnish와 Hitch 모두 소켓에 액세스할 수 있는 올바른 권한이 있는지 확인하십시오. Varnish는 소켓을 생성하고 Hitch는 이를 사용합니다.