Open Parkerhiphop opened 2 years ago
一:Round-Robin 是 Backend 打資料時,一個個去打 node,轉發的發現就是打過去的 node 可能有提供資訊轉過去。
三:可能先談好 Partition 可以怎麼切,就大概知道怎麼解,像是根據 TimeStamp 切就能知道打哪個時間區段的。
實務上應該就是用第一種或第二種,第三種除非 Backend 跟 DB 是同一個人,或一些特定分配。
延伸: SQL 指令可以直接指定要拿哪個 Partition?
第二種作法挺常見,就是有一個 Routing Layer 再處理 Request
但第一種跟第三種都有點疑惑
第一種雖說是使用 Round-Robin Balancer 的方式找節點,但照理來說 Round-Robin 應該就是一個個跑 Node,但圖跟文字的說明都是沒有在第一個 Node 找到時,就轉發到適當的 Node,不太確定是透過 Round-Robin 的迴圈形式,還是真的能直接知道適當的 Node 是哪個? Round-Robin Balancer 我的理解就是當每個 Server 都一樣去平均地打請求,也因此有一些變體,但這邊用的應該是基本款?
參考資料:
第三種則是不知道怎樣的情境 Client-Side(對應於 DB 的話就是 Backend) 會知道 Partition 跟 Node 的分配?
因為都可以算是 Request Routing 就都列在這了 ><!