Dokumentace MySQL říká, že více hostitelů lze oddělit čárkami:
Bohužel toto chování bylo narušeno v Connector/NET 8.0.18 a dřívějších (bylo opraveno v 8.0.19 ).
Connector/NET 8.0.19 vyzkouší více hostitelů náhodně
pokud neurčíte priority
atribut pro každého hostitele. Například:
// hosts will be tried at random
host=10.10.10.10:3306,192.101.10.2:3305,localhost:3306;uid=test;password=xxxx;
// hosts will be tried in descending priority order
server=(address=192.10.1.52:3305,priority=60),(address=localhost:3306,priority=100);
Pokud nemůžete aktualizovat na 8.0.19, existuje alternativní poskytovatel OSS MySQL ADO.NET, který podporuje více hostitelů oddělených čárkami:MySqlConnector na GitHubu
, NuGet
. Navíc má Load Balance
možnost připojovacího řetězce
což vám umožní určit přesný druh vyrovnávání zátěže, který chcete:RoundRobin
, FailOver
, Random
, LeastConnections
.