參考 https://my.oschina.net/u/4090830/blog/10087908
分庫分表方案:
① 單 mysql 實例不分庫只分表: 因爲分庫,一個程序啓動時需要創建多個數據源,而每個數據源都需要一個連接池,導致總連接數非常大。 如果不分庫只分表,則只需要一個數據源即可。
② 改用 TIDB等數據庫。
③ 使用 sharding-proxy:透明化的數據庫代理,我們可以在服務器上部署一套 Sharding-Proxy, 客戶端只需連接 proxy 服務,再由 proxy 服務器連接 MYSQL 集羣,這樣 MYSQL 集羣的連接數只與 proxy 服務器的數量有關。
理論上我們只要獲取數據庫實例上某個庫的連接,我們就可以通過 "庫名。表名" 的方式訪問這臺實例上其他庫中的數據 (當然前提是用戶要擁有要訪問庫的權限), 可以通過改造 sharding-jdbc 來實現。
222333333