MLSQL Cluster 路由策略
前言
MLSQL Cluster 具備多MLSQL Engine 例項管理功能,實現負載均衡,多業務切分等等功能。
負載均衡
MLSQL Cluster 有一個和MLSQL Engine完全一致的 /run/script 介面,引數也是保持一致的。
如何檢視該介面詳細引數以及MLSQL
Cluster 有什麼介面,可以參看MLSQL初學者常見問題QA(持續更新) 中【哪裡有MLSQL三套件的http介面文件】部分內容。
我們可以把多個例項打上同一個標籤,這樣就可以實現負載均衡了。
在MLSQL Engine的基礎上,多出了兩個引數:
tags proxyStrategy
tags決定訪問哪些engine, proxyStrategy 決定如何訪問這些Engine. proxyStrategy 的可選引數有:
- ResourceAwareStrategy 資源剩餘最多的Engine將獲得本次請求
- JobNumAwareStrategy任務數最少的Engine將獲得本次請求
- AllBackendsStrategy所有節都將獲得本次請求
預設是ResourceAwareStrategy策略。
一個簡單的請求如下:
curl -XPOST http://127.0.0.1:8080 -d 'sql=....& tags=...& proxyStrategy=JobNumAwareStrategy'