nginx學習彙總

背景介紹

公司要求將數據庫遷移到國外,但是國外的網絡一直不穩定。我準備嘗試多家香港雲服務器,選了一臺阿里雲的,一臺恆創雲的。
經過測試後,恆創雲在連接新加坡節點的時候的確速度要好多了,但是穩定性相對弱一些,有時會出現他們所說的網路波動,要人工提交一個工單優化。
阿里雲的比較穩定,但是他們要從美國那邊繞一下,這個應該是主要的延遲高的原因。

環境搭建

在阿里雲上搭建一個nginx,然後做一個負載均衡,一臺是恆創雲,一臺是阿里雲。

負載均衡

nginx與上游交互的模塊統稱爲upstream模塊。用戶在下游,上游是供應方,就是我們的服務。

round-robin輪詢算法

依次交替的去請求服務的節點,其中可以設置keepalive指定在wp進程裏最多空閒的keep_alive連接數。下面是官網的解釋:
> directive :指令 exceeded:超過
> The connections parameter sets the maximum number of idle keepalive connections to upstream servers that are preserved in the cache of each worker process. When this number is exceeded, the least recently used connections are closed.

  1. 測試keepalive我們需要使用linux的tcpdump抓包,這裏主要的是備註一下tcpdump裏面的lo可以抓本地包。

ip_hash和hash負載

  1. ip_hash 主要根據客戶端的ip來選擇響應的服務節點
  2. hash可以根據url請求的變量來選擇響應的節點

將server移除或者擴容的的時候,會引發大量的路由變更,導致緩存大範圍的失效,造成嚴重的結果。

  1. 一致性哈希算法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章