MySQL Router的工作流程如下:
接收客戶端連接:MySQL Router監(jiān)聽指定的端口,接收客戶端的連接請求。
解析連接請求:Router解析客戶端的連接請求,獲取客戶端想要連接的目標(biāo)MySQL服務(wù)器。
查詢元數(shù)據(jù):Router查詢配置的元數(shù)據(jù),獲取目標(biāo)MySQL服務(wù)器的相關(guān)信息,例如IP地址、端口號、用戶名、密碼等。
進行負載均衡:根據(jù)負載均衡策略,Router選擇一個合適的目標(biāo)MySQL服務(wù)器。
建立與目標(biāo)服務(wù)器的連接:Router使用獲取到的目標(biāo)MySQL服務(wù)器信息,建立與目標(biāo)服務(wù)器的連接。
轉(zhuǎn)發(fā)請求:Router將客戶端的查詢請求轉(zhuǎn)發(fā)給目標(biāo)MySQL服務(wù)器。
接收響應(yīng):Router接收目標(biāo)MySQL服務(wù)器的響應(yīng)。
將響應(yīng)返回給客戶端:Router將目標(biāo)MySQL服務(wù)器的響應(yīng)返回給客戶端。
保持連接:如果客戶端保持連接,Router會繼續(xù)接收客戶端的查詢請求,并重復(fù)以上步驟。
總結(jié)起來,MySQL Router的工作流程就是接收客戶端連接,解析連接請求,查詢元數(shù)據(jù),進行負載均衡,建立與目標(biāo)服務(wù)器的連接,轉(zhuǎn)發(fā)請求,接收響應(yīng),并將響應(yīng)返回給客戶端。