EF Core2.0中提供了鏈接池ContextPool功能。以此來優化初始化連接的效率?,F在有個疑問。鏈接池中的鏈接是被隨機分配的。那么數據可能會被隨機寫到任意一臺數據服務器中。此時就需要數據服務器之間做數據同步工作。這似乎是讀寫分離或者負載分壓的解決方案,但是做讀寫分離或負載分壓一般應該是“一主多從”的狀態,可是從鏈接池中無法區分出主從狀態。似乎無法滿足普通的“一主多從”的設計另外,我印象中(如果是錯的請糾正),“一主多從”的讀寫分離策略一般是采用硬件或軟件手段,讓應用服務器可以從一個端口或者IP訪問多個從服務器。也就是說,對于應用服務器來說,有一個讀的地址就可以了。那我要地址池做什么?剛接觸服務集群等這方面的知識,望大神指點。
1 回答

慕虎7371278
TA貢獻1802條經驗 獲得超4個贊
不太清楚ContextPool,僅就連接池說下,連接池的出現本身就是為了緩解建立連接認證的一系列開銷,針對讀寫分離你可以在程序中顯式指定使用某個連接池以達到目的,也可以使用aop或者直接攔截最底層的語句進行分離。
你說的從一個端口訪問多個地址這個是用ha proxy等方式做的,這個和連接池關系不太大,這塊建立db集群的方式很多,可以自行再搜索下。
添加回答
舉報
0/150
提交
取消