1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/rpgmakervx-jproxy

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 10.03.2025 17:21 6599cec

jproxy

Введение в jproxy

jproxy — прокси HTTP, созданный с использованием Java и построенный на основе Netty v4.0. Вы можете обращаться к реальному серверу через адрес jproxy, как это делается в squid, zproxy и других.


###Структура директорий jproxy Директория jproxy аналогична структуре директорий Tomcat или JMeter.

  • bin: запуск jproxy с помощью скрипта startup. Вы также можете использовать команду startup /etc/jproxy/config.json для запуска приложения с пользовательским конфигурационным файлом (он должен называться config.json).
  • lib: эта директория содержит JAR-файлы, необходимые для работы jproxy. Вы не должны перемещать их.
  • conf: место хранения основных конфигурационных файлов jproxy.
  • docs: документация по jproxy (извините, но пока она ещё не завершена).

##Основные функции jproxy

####Кэширование памяти Jproxy использует память для хранения данных POST и GET запросов HTTP (особенно JSON, multipart forms и т.д.). Кэширующий модуль jproxy зависит от Redis. Он также может сохранять статические ресурсы, такие как HTML, CSS, JS и другие изображения. Однако сейчас я отключил хранение статических ресурсов из-за проблем с распознаванием типа контента. Возможно, когда-нибудь я решу эту проблему...#### Балансировка нагрузки

  • Poll Jproxy последовательно вызывает каждый хост, указанный вами в config.json. Вы можете установить поле proxy_pass следующим образом:
  "proxy_pass":[
    {
      "host":"localhost",
      "port":8080,
      "weight":1
    },
    {
      "host":"localhost",
      "port":8080,
      "weight":1
    }
  ]

Сначала можно игнорировать поле weight, так как оно связано с другим режимом. Поле host представляет собой имя или IP-адрес реального сервера. Поле port — это порт входа реального сервера, который ваш клиент хочет посетить через jproxy. Теперь давайте рассмотрим поле weight!

  • Weight Poll Как видно, это тоже режим Poll, но он не будет последовательно посещать реальный сервер. Jproxy будет выбирать хост реального сервера из контейнера на основе значения веса, которое вы установили.
  • Исходный IP Hash Этот режим пока не тестировался, но теоретически все должно работать правильно. Сначала jproxy получает IP клиента, затем вычисляет число с помощью хеш-функции, далее применяется метод модулирования к номерам реальных серверов, наконец мы получаем номер среди реальных серверов, что позволяет нам связать хеш IP клиента с определённым реальным сервером.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/rpgmakervx-jproxy.git
git@api.gitlife.ru:oschina-mirror/rpgmakervx-jproxy.git
oschina-mirror
rpgmakervx-jproxy
rpgmakervx-jproxy
master