![Varnish 中「.port」後端與「.host」後端的優缺點](https://rvso.com/image/776292/Varnish%20%E4%B8%AD%E3%80%8C.port%E3%80%8D%E5%BE%8C%E7%AB%AF%E8%88%87%E3%80%8C.host%E3%80%8D%E5%BE%8C%E7%AB%AF%E7%9A%84%E5%84%AA%E7%BC%BA%E9%BB%9E.png)
在工作中我們有一個清漆集群。所有遠端後端都使用該.host
值(我認為這是必需的),但本地後端的所有配置(即在 config/varnishd 所在的伺服器上運行的後端)都使用該.path
值。今天早上,我的一台清漆伺服器出現了問題,基本上,所引用的套接字.path
不存在,因此它無法啟動。我嘗試了各種方法來恢復套接字,但都不起作用,我將清漆配置切換為使用該.backend
值。我認為這是一個好處,因為我現在可以輕鬆維護集中式清漆配置,而不必擔心在每個伺服器的基礎上編譯每個配置(即.host
從後端刪除與特定伺服器相對應的行)。
使用套接字連接到本地 varnish 叢集是否有顯著的好處(如果這是一個因素,則使用掛鉤進行 SSL 終止)?如果所有條件都相同,我認為使用價值.host
是更好的選擇,因為它使推送配置更新變得更加簡單。
答案1
使用Unix 域套接字比使用和TCP/IP 連線.path
快得多。.host
.port
如果擔心吞吐量,請使用 Unix 網域套接字,因為您將獲得更高的吞吐量(透過 TLS >100 Gbps)。
如果海量吞吐量不是那麼重要,您可以使用不需要 UDS 的 TCP/IP。
對於 UDS 權限很重要,因此請確保 Varnish 和 Hitch 都具有存取套接字的正確權限。 Varnish 將創建套接字,Hitch 將使用它。