Назад | Перейти на главную страницу

Использование балансировщика нагрузки перед SQL Server

Мы настраиваем SQL Server 2014 AG с несколькими вторичными экземплярами только для чтения, так как у нас есть некоторые важные запросы, которые убивают наш первичный. Что мы хотели бы сделать, так это поставить перед читателями балансировщик нагрузки, чтобы облегчить горизонтальное масштабирование.

Веб-приложение - это .NET / IIS. Есть ли настройки, которые SqlConnection, SQL Server или LB, например, липкие сеансы или настройки пула подключений)? Или любые другие сюрпризы, с которыми мы можем столкнуться?

Вам нужно убедиться, что слушатель правильно настроен. Там, где экземпляр будет в строке подключения, вы будете использовать имя слушателя. Таким образом, вам не нужно знать, кто является основным или второстепенным. Во-вторых, как часть строки подключения вам нужно будет добавить «applicationintent = readonly». Это сообщает слушателю, как маршрутизировать запрос на соединение, когда все, что делает запрос, выполняет запрос.

Кроме того, вам нужно знать о маршрутизации. Последующий ссылка на сайт проведет вас через это, но в основном вам нужно настроить каждый сервер в AG, а затем настроить маршрутизацию для каждого.

ALTER AVAILABILITY GROUP [AG1]
 MODIFY REPLICA ON
N'COMPUTER01' WITH 
(SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));
ALTER AVAILABILITY GROUP [AG1]
 MODIFY REPLICA ON
N'COMPUTER01' WITH 
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER01.contoso.com:1433'));

ALTER AVAILABILITY GROUP [AG1]
 MODIFY REPLICA ON
N'COMPUTER02' WITH 
(SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));
ALTER AVAILABILITY GROUP [AG1]
 MODIFY REPLICA ON
N'COMPUTER02' WITH 
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER02.contoso.com:1433'));

ALTER AVAILABILITY GROUP [AG1] 
MODIFY REPLICA ON
N'COMPUTER01' WITH 
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER02','COMPUTER01')));

ALTER AVAILABILITY GROUP [AG1] 
MODIFY REPLICA ON
N'COMPUTER02' WITH 
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER01','COMPUTER02')));
GO

Измените и добавьте по мере необходимости