Hash演算法系列 具體演算法(url hash)

2021-05-28 06:50:16 字數 586 閱讀 4403

url hash架構對url進行一次hash演算法,然後通過hash結果找到對應的伺服器。因為針對單乙個url的hash結果是一樣的,所以理論上這個url會被永久分配到固定的一台伺服器上。另外因為經過了hash演算法,所以分配url就很均勻,同時訪問量也可以達到均衡。

基於dns的hash架構

基於haproxy的自動hash架構

基於nginx的手動hash架構

使用了dns分流,成本較低,而且dns效能高,不用維護。

可突破ie預設每主機2個執行緒的限制。 缺點

可用性方面,如果有一台機器宕機,則指向這台機器的請求無法讀取。

分流方面,只能全部同步,成本較高

只適用於面向使用者的系統

優點高效能

使用方便,後台是什麼樣關係不大

有很高的可用性

快取架構,分流方便

可直接在nginx**快取部分鏈結 缺點

url分流可控性弱,增減快取機器都會引起快取重新分配,意味著快取全部失效。

優點基本可以繼承自動架構的優點

避免增減機器的問題

精確知道鏈結儲存在哪台快取上 缺點

配置較複雜,要分配均勻配置不易。

java演算法系列

棧的概念 棧是一種特殊的線性表,堆疊的資料元素以及資料元素之間的關係和線性表是完全一樣的。差別是線性表是在任意位置進行插入和刪除操作,棧是只允許在固定的一端進行插入和刪除,棧的插入和刪除只允許在棧頂,棧的插入和刪除通常稱為進棧和出棧。資料集合 每個資料元素的資料型別可以是任意的型別 操作的集合 進棧...

演算法系列 Move Zeroes

given an array nums,write a function to move all 0 s to the end of it while maintaining the relative order of the non zero elements.for example,given ...

演算法系列 Missing Number

given an array containing n distinct numbers taken from 0,1,2,n,find the one that is missing from the array.for example,given nums 0,1,3 return 2.note...