Mysql
Mysql 連接池類似於 PostgreSQL 的 PgBouncer
我正在尋找一種獨立於語言的 mysql 池解決方案。我以 PGBouncer 為例,因為它
- 駐留在數據庫所在的伺服器上
- 只需更改連接字元串以使用池連接器
- 無需修改程式碼
在 MySQL 中是否有類似的東西,我可以通過安裝 3rd 方連接器並通過該埠連接來使用池?
這開始是一個評論,但它有點長。
也許您可以更好地描述您真正想要的東西,而不是簡單地說它就像其他東西。
如果你想讓多個客戶端使用同一個連接,那麼它必須在 DBMS 中實現,否則你沒有會話管理。此外,您需要告知您打算如何處理跨越多個請求/響應(即事務)的狀態問題。
知道你為什麼想要它也會很有幫助。與 PostgreSQL 相比,MySQL 具有非常不同的設置成本和每個會話的成本成本 - 為什麼您認為它需要它,以及為什麼您認為它實際上會產生任何好處。
實際上 PGBouncer 擅長從數據庫伺服器本身池化和分配連接,但是有MySQL-Proxy和ProxySQL(未嵌入 MySQL 本身)可以為您完成連接池和其他功能。一些連接器雖然可以內置連接池,如 Java Connector ,請檢查此
此外,您應該注意這個問題或問題。假設您有 10 台應用程序伺服器和 1 台數據庫伺服器配置為最多 500 個連接。您將各個應用程序伺服器池的大小設置為 50。現在您需要添加一個新的應用程序伺服器。您必須調整所有 10 台舊伺服器,以減少它們的池大小,以便為新伺服器騰出空間。隨著您添加更多伺服器,此問題變得越來越嚴重。
此外,調整每個客戶端的單個池大小意味著有可能一台伺服器處於飢餓狀態,而其他伺服器的池連接處於空閒狀態——連接不共享