Введение

Тип записи ресурса в системе доменных имен

SRV-запись (Service record) – это спецификация данных в системе доменных имен, определяющая местоположение серверов для указанных служб, то есть имя хоста и номер порта. Она определена в RFC 2782, и её код типа равен 33. Некоторые интернет-протоколы, такие как протокол инициирования сеансов (SIP) и протокол расширяемой передачи сообщений и присутствия (XMPP), часто требуют поддержки SRV сетевыми элементами.

Обеспечение высокой доступности услуг

Поле приоритета определяет порядок использования данных записи. Клиенты должны сначала использовать записи SRV с наименьшим числовым значением приоритета и переходить к записям с более высоким значением, если соединение не установлено. Если для службы существует несколько записей SRV с одинаковым значением приоритета, клиенты должны распределять нагрузку между ними пропорционально значениям их полей веса. В следующем примере поля приоритета и веса используются для обеспечения комбинации балансировки нагрузки и резервного обслуживания. Первые три записи имеют приоритет 10, поэтому клиенты будут использовать значение поля веса для определения, к какому серверу (комбинации хоста и порта) обращаться. Сумма всех трех значений равна 100, поэтому bigbox.example.com будет использоваться в 60% случаев. Два хоста, smallbox1 и smallbox2, будут использоваться для 40% всех запросов, при этом половина запросов будет направлена на smallbox1, а другая половина – на smallbox2. Если bigbox недоступен, эти два оставшихся сервера будут разделять нагрузку поровну, поскольку каждый из них будет выбран в 50% случаев. Если все три сервера с приоритетом 10 недоступны, будет выбрана запись со следующим наименьшим значением приоритета, то есть backupbox.example.com. Это может быть машина в другом физическом местоположении, предположительно не подверженная воздействию факторов, которые могли бы привести к недоступности первых трех хостов. Балансировка нагрузки, предоставляемая записями SRV, по своей сути ограничена, поскольку информация практически статична. Текущая нагрузка на серверы не учитывается, если значения TTL недостаточно малы (около минуты или меньше), чтобы значения приоритета (или веса) могли быть быстро обновлены.