在工作中,我们有一个 varnish 集群。所有远程后端都向我们提供该.host
值(我认为这是必需的),但本地后端(即在 config/varnishd 所在的服务器上运行的后端)的所有配置都使用该.path
值。今天早上,我遇到了一个 varnish 服务器问题,基本上是引用的套接字.path
不存在,因此无法启动。我尝试了各种方法来恢复套接字,但都不起作用,我切换了 varnish 配置以使用该.backend
值。我认为这是有好处的,因为我现在可以轻松维护集中式 varnish 配置,而不必担心在每个服务器上编译每个配置(即.host
从后端删除与特定服务器相对应的行)。
使用套接字连接到本地 varnish 集群是否有显著的好处(如果这是一个因素,则使用 hitch 进行 SSL 终止)?如果所有条件都相同,我认为使用.host
值是一个更好的选择,因为它使推送配置更新变得更加简单。
答案1
用于Unix 域套接字比使用和用于 TCP/IP 连接.path
要快得多。.host
.port
如果担心吞吐量,请使用 Unix 域套接字,因为您将获得更高的吞吐量(通过 TLS >100 Gbps)。
如果大规模吞吐量不是那么重要,您可以使用不需要 UDS 的 TCP/IP。
对于 UDS 权限问题,请确保 Varnish 和 Hitch 都具有访问套接字的正确权限。Varnish 将创建套接字,而 Hitch 将使用它。