最近在學習一些關於軟體架構相關的東西順手記錄一下一些知識點方便以後檢視,裡面的內容有些是摘抄下來的,需要的拿走。
1、正向**和反向**的區別?
正向**:**的是客戶端,是乙個客戶端和原始服務端之間的伺服器,客戶端會向**傳送乙個請求並指定目標(原始服務端)。正向**遮蔽或者隱藏了真實客戶端資訊;
反向**:**的是服務端,用於伺服器集群分布式部署的情況下。客戶端向**傳送乙個請求,**會根據配置分發到各個被**物件進行處理。反向**遮蔽或隱藏了服務端資訊;
區別:**的主體不同,正向****的是客戶端,反向****的是服務端。
2、負載均衡的作用是什麼?
反向**伺服器接收到的請求數量,就是我們說的負載量。請求數量按照一定的規則進行分發,到不同的伺服器處理的規則,就是一種均衡規則。所以將伺服器接收到的請求按照規則分發的過程,稱為負載均衡。
負載均衡的作用就是根據不同的負載規則將反向**接收到的請求數量(負載量)分發到不同的伺服器進行處理。
軟體負載均衡實現的是一種訊息佇列分發的機制
3、負載均衡與反向**的區別?
負載均衡是負責排程客戶端請求,是請求均衡的分發到各個應用伺服器上,避免伺服器過載;反向**是客戶端向伺服器發起的請求都是先經過反向**,然後分發到伺服器上,然後伺服器將返回結果交給反向**,反向**在交給客戶端。反向**一共有兩次請求。
區別:最大的區別就是負載均衡只有在伺服器大於2臺的時候才有意義,其主要側重於將負載均衡到各個伺服器上。
4、nginx支援的負載均衡演算法有哪些?
①weight 輪詢(預設):接收到的請求按照順序逐一分配到不同的後端伺服器,即使在使用過程中,某一台後端伺服器宕機,nginx 會自動將該伺服器剔除出佇列,請求受理情況不會受到任何影響。這種方式下,可以給不同的後端伺服器設定乙個權重值(weight),用於調整不同的伺服器上請求的分配率。權重資料越大,被分配到請求的機率越大;該權重值,主要是針對實際工作環境中不同的後端伺服器硬體配置進行調整的。
②ip_hash:每個請求按照發起客戶端的 ip 的 hash 結果進行匹配,這樣的演算法下乙個固定 ip 位址的客戶端總會訪問到同乙個後端伺服器,這也在一定程度上解決了集群部署環境下 session 共享的問題。
③fair:智慧型調整排程演算法,動態的根據後端伺服器的請求處理到響應的時間進行均衡分配。響應時間短處理效率高的伺服器分配到請求的概率高,響應時間長處理效率低的伺服器分配到的請求少,它是結合了前兩者的優點的一種排程演算法。但是需要注意的是 nginx 預設不支援 fair 演算法,如果要使用這種排程演算法,請安裝 upstream_fair 模組。
④url_hash:按照訪問的 url 的 hash 結果分配請求,每個請求的 url 會指向後端固定的某個伺服器,可以在 nginx 作為靜態伺服器的情況下提高快取效率。同樣要注意 nginx 預設不支援這種排程演算法,要使用的話需要安裝 nginx 的 hash 軟體包。
vue知識點散記
2 v cloak 防止雙括號的閃爍 在style裡 v cloak 3 computed和watch都有快取機制 差值表示式 4 計算屬性的set和get方法 computed set function value vm.fullname gello world 5 vue中的樣式 1 class...
工作中知識點散記二三
1 text indent 首航縮排,text align justify 兩端對齊 1 首航縮排 font size 14px text indent 28px 如果要縮排兩個字的寬度,就設成現在字型大小的二倍 2 兩端對齊 text align justify text align last j...
Object c學習知識點零散記錄
1 object c不是嚴格的過載 int counter int x int counter float x 錯誤,和第乙個方法衝突!int counter int x int y int counter int x float y 錯誤,與上乙個方法衝突,因為兩者都是匿名標籤的函式 counte...