document資料路由原理

2021-10-01 21:26:32 字數 766 閱讀 3445

舉個例子,乙個index有3個primary shard,p0,p1,p2

每次增刪改查乙個document的時候,都會帶過來乙個routing number,預設就是這個document的_id(可能是手動指定,也可能是自動生成)

routing = _id,假設_id=1

會將這個routing值,傳入乙個hash函式中,產出乙個routing值的hash值,hash(routing) = 21

然後將hash函式產出的值對這個index的primary shard的數量求餘數,21 % 3 = 0

就決定了,這個document就放在p0上。

決定乙個document在哪個shard上,最重要的乙個值就是routing值,預設是_id,也可以手動指定,相同的routing值,每次過來,從hash函式中,產出的hash值一定是相同的

無論hash值是幾,無論是什麼數字,對number_of_primary_shards求餘數,結果一定是在0~number_of_primary_shards-1之間這個範圍內的。0,1,2。

(3)_id or custom routing value

預設的routing就是_id

也可以在傳送請求的時候,手動指定乙個routing value,比如說put /index/type/id?routing=user_id

手動指定routing value是很有用的,可以保證說,某一類document一定被路由到乙個shard上去,那麼在後續進行應用級別的負載均衡,以及提公升批量讀取的效能的時候,是很有幫助的

php路由原理 PHP路由設定原理

0x00 路由實現原理 使用者通過指定的url正規化對後台進行訪問,url路由處理類進行處理後,到邏輯處理類,邏輯處理類將請求結果返回給使用者。約定url正規化和規則 約定一套自己喜歡的,對搜尋引擎友好,對使用者友好的url規則 url處理類 對使用者請求的url進行解析處理,獲取到使用者請求的類,...

sip路由原理

sip是voip業務中,最為重要的協議之一,那麼對於這個協議,我們在之前的一些文章中個,也闡述過與之相關的一些基礎內容。這裡我們不在贅述。那麼今天的重點,就是講解一下sip路由機制的相關知識。總的來說,sip路由機制包括兩個場景 1,請求訊息的路由 2,響應訊息的路由 其中,響應訊息的路由非常簡單,...

phpcms URL路由原理

phpcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口。引數名稱 描述 位置 備註 m 模型 模組名稱 phpcms modules中模組目錄名稱 必須 c 控制器名稱 phpcms modules 模...