JavaD-коннектор MariaDB имеет специальную реализацию для Aurora. Там нет ничего, что я знаю для .net.
Тем не менее, нормальным решением является использование кластера DNS: Аврора предоставляет другую ссылку DNS:
- по одному на каждый экземпляр
- конечная точка кластера (например, xxx.cluster-yyy.zzz.rds.amazonaws.com)
- конечная точка считывателя (с балансировкой нагрузки) (например, xxx.cluster-ro-yyy.zzz.rds.amazonaws.com)
Используя конечную точку кластера, вы используете текущий экземпляр модуля записи. Когда происходит аварийное переключение, этот DNS будет указывать на нового мастера, но это изменение займет некоторое время (<60 с), поэтому в течение этого интервала вы можете в конечном итоге указать на предыдущий мастер, который, если он будет доступен, теперь будет подчиненным, указывающим на новый пастер. </p>
Лучшим решением является запрос «показать глобальные переменные, такие как« innodb_read_only »», проверяя, что результат отключен для проверки соединения.