Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / AlwaysOn - Балансировка нагрузки ReadOnly / 2 сообщений из 2, страница 1 из 1
07.11.2021, 12:43
    #40109786
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AlwaysOn - Балансировка нагрузки ReadOnly
Всем привет!

Версия Microsoft SQL Server 2017 (RTM-CU26)

Есть три реплики:
1. Первичная
2. Вторичная синхронная фиксация

Маршрутизация ReadOnly сейчас настроена без балансировки, вот скрипт

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
ALTER AVAILABILITY GROUP [MyAON]  
 MODIFY REPLICA ON  
N'Srv1' WITH   
(SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));  

ALTER AVAILABILITY GROUP [MyAON]  
 MODIFY REPLICA ON  
N'Srv1' WITH   
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://Srv1:1433'));  
  
ALTER AVAILABILITY GROUP [MyAON]  
 MODIFY REPLICA ON  
N'Srv2' WITH   
(SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));  

ALTER AVAILABILITY GROUP [MyAON]  
 MODIFY REPLICA ON  
N'Srv2' WITH   
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://Srv2:1433'));  
  
ALTER AVAILABILITY GROUP [MyAON]   
MODIFY REPLICA ON  
N'Srv1' WITH   
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('Srv2','Srv1')));  
  
ALTER AVAILABILITY GROUP [MyAON]   
MODIFY REPLICA ON  
N'Srv2' WITH   
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('Srv1','Srv2')));  
GO 



В приложении указываю ApplicationIntent=ReadOnly; DataBase=MyDataBase и запросы по чтению выполняются на вторичной реплике, всё хорошо.

Строка соединения "jdbc:sqlserver://Mylistner;DataBaseName=MyDataBase;ApplicationIntent=readOnly;MultiSubnetFailover=true;"

Добавляю третью реплику с асинхронной фиксацией - Srv3, хочу сделать балансировку по чтению между Srv2 и Srv3.
Выполняю вот такой скрипт
Код: sql
1.
2.
3.
4.
5.
6.
USE [master]
GO
-- адреса вторичных реплик в скобках
ALTER AVAILABILITY GROUP [MyAON]
MODIFY REPLICA ON N'Srv1' WITH (PRIMARY_ROLE(READ_ONLY_ROUTING_LIST = ((N'Srv2',N'Srv3'))))
GO



Перезапускаю своё приложение, начинаю выполнять запросы, вижу что ReadOnly запросы выполняются как на Srv2 так и на Srv3, радуюсь! Но не долго... потому, что через некоторое время, буквально 2-3 минуты все RedOnly запросы начинают выполнятся на первичной реплике Srv1, почему не понятно.

Кто-нибудь сталкивался с такой ситуацией, можете подсказать исправить?
...
Рейтинг: 0 / 0
07.11.2021, 13:14
    #40109788
Mandarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AlwaysOn - Балансировка нагрузки ReadOnly
Пока писал разобрался сам. Нужно было ещё прав для пользователя добавить на Srv3.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / AlwaysOn - Балансировка нагрузки ReadOnly / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]