Jump to content

elchako

Forum Members
  • Posts

    4
  • Joined

  • Last visited

Everything posted by elchako

  1. Отвечу на свой вопрос, если вдруг кто-то будет искать стратегии для балансировщика (router strategy). Посмотрел в исходный код xray-core и обнаружил там 4 стратегии "random", "leastping", "roundrobin", "leastload" Но в последней версии xkeen стоит xray версии 1.8.4 в ней работает только random стратегия. Скачал xray версии 1.8.10 (заменяем файл xray /opt/sbin/xray) но в ней работают только "random", "roundrobin" Может @Skrill0 знает почему могут не работать стратегии "leastping", "leastload" ? При запуске xkeen с одной из них получаю ошибку (panic: runtime error: invalid memory address or nil pointer dereference) (ошибка времени выполнения: неверный адрес памяти или разыменование нулевого указателя) panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x6d2d60] goroutine 12 [running]: github.com/xtls/xray-core/app/router.(*LeastLoadStrategy).getNodes(0x4000373ce0, {0x4000386220, 0x2, 0x6c95b8?}, 0x0) github.com/xtls/xray-core/app/router/strategy_leastload.go:143 +0xa0 github.com/xtls/xray-core/app/router.(*LeastLoadStrategy).pickOutbounds(0x4000373ce0, {0x4000386220?, 0x0?, 0x6ca330?}) github.com/xtls/xray-core/app/router/strategy_leastload.go:75 +0x2c github.com/xtls/xray-core/app/router.(*LeastLoadStrategy).PickOutbound(0x400035afc0?, {0x4000386220?, 0x0?, 0x2?}) github.com/xtls/xray-core/app/router/strategy_leastload.go:65 +0x20 github.com/xtls/xray-core/app/router.(*Balancer).PickOutbound(0x400035afc0) github.com/xtls/xray-core/app/router/balancing.go:60 +0x1fc github.com/xtls/xray-core/app/router.(*Rule).GetTag(...) github.com/xtls/xray-core/app/router/config.go:21 github.com/xtls/xray-core/app/router.(*Router).PickRoute(0x10788a8?, {0x1081eb0?, 0x400034e5d0?}) github.com/xtls/xray-core/app/router/router.go:87 +0x54 github.com/xtls/xray-core/app/dispatcher.(*DefaultDispatcher).routedDispatch(0x4000362c00, {0x10788a8, 0x4000388450}, 0x40003861a0, {{0x1078678, 0x40003584a0}, 0x1bb, 0x2}) github.com/xtls/xray-core/app/dispatcher/default.go:403 +0x26c github.com/xtls/xray-core/app/dispatcher.(*DefaultDispatcher).Dispatch.func1() github.com/xtls/xray-core/app/dispatcher/default.go:266 +0x340 created by github.com/xtls/xray-core/app/dispatcher.(*DefaultDispatcher).Dispatch in goroutine 11 github.com/xtls/xray-core/app/dispatcher/default.go:239 +0x378 Описание стратегий: Random: Описание: Стратегия случайным образом выбирает один из узлов из доступного списка без учёта их текущей загрузки или доступности. Применение: Подходит для простых сценариев, где требуется равномерное распределение трафика между узлами без учёта их состояния. LeastPing: Описание: Эта стратегия выбирает узел с наименьшим временем отклика (ping) в момент запроса. Применение: Используется в сетевых условиях, где важно минимизировать задержки и максимизировать производительность путём выбора узла с наилучшими сетевыми характеристиками. RoundRobin: Описание: Стратегия поочерёдно выбирает каждый узел из списка, начиная с первого, и циклически возвращается к началу после достижения последнего узла. Применение: Подходит для равномерного распределения нагрузки между узлами в общей сети, обеспечивая справедливую и эффективную балансировку. LeastLoad: Описание: Данная стратегия выбирает узел с наименьшей текущей загрузкой (количеством активных соединений или другими метриками загрузки). Применение: Полезна в ситуациях, где требуется минимизировать нагрузку на узлы и обеспечить равномерное распределение трафика с учётом текущей загрузки каждого узла.
  2. На этот счет есть статья https://habr.com/ru/articles/774838/ Если получится по ней, отпишись пожалуйста.
  3. @jameszero @k0steg спасибо! Резервирование канала реализовал через балансировщик. Теперь при падении одного сервера xray переключается на другой. Но в стратегии балансировщика (05_routing.json) стоит "type": "Random". И бывает в рандомном режиме трафик идет через разные сервера ) Ищу другие стратегии, но в документации не нашел, или не там смотрю https://xtls.github.io/en/config/routing.html 04_outbounds.json 05_routing.json
  4. Добрый день! Подскажите пожалуйста, можно ли в конфиге xray добавить подключение к другому серверу? Или можно ли это сделать через keenetic Суть в том чтобы резервировать xray канал либо назначать разным сетям политику с разными серверами xray
×
×
  • Create New...