# Балансеры

> LeastLoad / leastPing, observatory, health-checks.

- DNS-балансировка: истекший TTL убивает игровые сессии; лучше nginx/haproxy с healthcheck; лучше балансировать на клиенте: xray client json leastLoad/leastPing + observatory; DNS-рандом — «хуйня» [id=165648..165701|12.01.2026](https://t.me/c/2941121338/165648).
- Практика: leastLoad/leastPing по локам (5 РФ, 5 DE, 5 SE, 5 FI); «в json прилетит, но отображаться не будет» (галочка в ремне) [id=166929..166941|13.01.2026](https://t.me/c/2941121338/166929).
- Клиентская leastLoad предпочтительнее DNS-балансировки: leastPing кидает всегда на минимальный пинг, даже если сервер перегружен [id=188369|R0xTaDDy|22.01.2026](https://t.me/c/2941121338/188369); «балансер будет скидывать людей на ту ноду, которая лучше отвечает, а не нагрузку распределять» [id=336269|Костя|07.04.2026](https://t.me/c/2941121338/336269); «балансер выбирает по пингу» [id=333738|Frist|07.04.2026](https://t.me/c/2941121338/333738).
- Round-robin без привязки к TTL: в одном хосте ремны несколько адресов через запятую + предопределение; работает только при обновлении подписки, не динамически [id=188955/188954|Евген|22.01.2026](https://t.me/c/2941121338/188955).
- burstObservatory + leastLoad: 3 замера с таймаутом 2с, повтор каждые 3 минуты; leastLoad исключает пинг >1с и нестабильные >30% tolerance [id=232512|Haxonate|~21.02.2026](https://t.me/c/2941121338/232512).
- remnawave-cloudflare-nodes: скрипт мониторит API панели, добавляет/удаляет IP в DNS Cloudflare для node.example.com — github.com/hteppl/remnawave-cloudflare-nodes [id=235271|Евген|~22.02.2026](https://t.me/c/2941121338/235271).
- Anycast: «юзаем anycast и не паримся» [id=236300|Егор|~22.02.2026](https://t.me/c/2941121338/236300).
- XBM (Xray Balancer Middleware) 3.1.0→3.1.1 (платный, $200): leastLoad (задержка+потери), фейловер <1 мин, LTE-логика с tier-системой (основа → резерв tier1 → tier2), фильтрация по CPU/RAM/онлайну, Rate limit по HWID/IP, кэш подписки, sticky-session [id=486010|10.05.2026, id=509443|14.05.2026](https://t.me/c/2941121338/486010).
- Базовый leastLoad-балансер [note_060:218-226|06.04.2026](https://github.com/Rxflex/BedolagaBD/blob/main/source/notes/note_060.md#L218):
```json
"balancers": [{
  "tag": "EU_Balancer", "selector": ["proxy-"],
  "strategy": {"type": "leastLoad",
    "settings": {"maxRTT": "8s", "expected": 2, "baselines": ["1s"], "tolerance": 0.01}},
  "fallbackTag": "proxy"}]
```
- fallbackTag — один outbound tag, не список; резервные хосты задаются высоким cost [id=584231|art vs|25.05.2026, id=726376|Руслан И.|20.06.2026](https://t.me/c/2941121338/584231):
```json
"balancers": [{
  "tag": "Super_Balancer", "selector": ["proxy","fallback"],
  "strategy": {"type": "leastLoad", "settings": {
    "costs": [{"match": "fallback", "value": 9999, "regexp": false}],
    "maxRTT": "1s", "expected": 2, "baselines": ["1s"], "tolerance": 0.01}}}],
"domainStrategy": "IPIfNonMatch"
```
- loopback = повторная отправка трафика обратно в routing; costs — выбор внутри одного балансировщика (cost:9999 = fallback участвует, но проигрывает живым) [id=587801|art vs|26.05.2026](https://t.me/c/2941121338/587801).
- Обсерватория с leastPing: переключает каждые 30с [id=587246|Иван Ф.|26.05.2026](https://t.me/c/2941121338/587246):
```json
"observatory": {"subjectSelector": ["VLESS_OUTBOUND_TO_FI","VLESS_OUTBOUND_TO_DE","VLESS_OUTBOUND_TO_NL"]},
"balancers": [{"tag": "EU_BALANCER",
  "selector": ["VLESS_OUTBOUND_TO_FI","VLESS_OUTBOUND_TO_DE","VLESS_OUTBOUND_TO_NL"],
  "fallbackTag": "BLOCK", "strategy": {"type": "leastPing"}}]
```
- leastPing vs leastLoad: leastPing — outbound с наименьшей задержкой на момент последней итерации обсерватории (одна проверка) [id=700857|Руслан И.|16.06.2026](https://t.me/c/2941121338/700857).
- leastPing + fallback + burstObservatory (HEAD, gstatic generate_204): balancer tag AUTO_FAST_EXIT, strategy leastPing, fallbackTag EXIT_SS_NETHERLANDS01; pingConfig timeout 3s, interval 30s, sampling 5, httpMethod HEAD, destination [gstatic.com/generate_204](https://www.gstatic.com/generate_204) [id=462150|Peter|06.05.2026](https://t.me/c/2941121338/462150).
- Вариант пинга: pingConfig timeout 1s, interval 5s, destination [msftconnecttest.com/connecttest.txt](http://www.msftconnecttest.com/connecttest.txt) [id=627739|Николай|03.06.2026](https://t.me/c/2941121338/627739); «не надо такой интервал — это слишком часто, 5сек» [id=629870|хеуклер|03.06.2026](https://t.me/c/2941121338/629870).
- remnawave injectHosts: selector type uuids (айди хостов не под БС), tagPrefix proxy, selectFrom ALL; БС-хост → tagPrefix reserve; DNS 1.1.1.1/1.0.0.1 queryStrategy UseIP [id=462987|06.05.2026](https://t.me/c/2941121338/462987).
- На iOS шаблон xray json балансера «затирает» конфиги одиночных хостов — проблема в hapе [id=646080|Илья|06.06.2026](https://t.me/c/2941121338/646080).
- Конфиг с балансером в INCY на iPhone не подключается (коннектит и обрывает), в Happ работает; в INCY балансерные хосты в одном проекте определяются как VLESS, в другом — как Shadowsocks и не пингуются (потом подтвердил автор) [id=749085..749210|26.06.2026, id=748107/748156, id=752154 «ждите фикса»](https://t.me/c/2941121338/749085).
- «Балансировка хостов с кучей edge-IP — нужно 30 хостов с одинаковыми настройками» [id=746613|26.06.2026](https://t.me/c/2941121338/746613).
- Лучший вариант: скрытый балансир «который сам кидает по разным протоколам подстать тому, что пользователю подходит в его сети» (дефолт leastLoad + инжект хоста) [id=782860|kataomi|~02.07.2026](https://t.me/c/2941121338/782860).
- Round-robin документация: [xtls.github.io/en](https://xtls.github.io/en/config/routing.html#balancerobject) (leastLoad, roundRobin) [id=761357|Руслан И.|17.06.2026](https://t.me/c/2941121338/761357).

---
Источник: https://host.pink/baza/transporty/balansery/
Оригинал: https://github.com/Rxflex/BedolagaBD/blob/main/docs/02-транспорты/балансеры.md
Лицензия: CC BY-SA 4.0
