Это командное перо, которое можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
pen - балансировщик нагрузки для протоколов на основе udp и tcp
СИНТАКСИС
ручка [-b sec] [-c N] [-e хост: порт] [-t sec] [-x N] [-j dir] [-u user] [-F cfgfile] [-l
файл журнала] [-p файл] [-w файл] [-C порт | / путь / к / сокету] [-T сек] [-UHWXadfhrs] [-o параметр]
[-E certfile] [-K keyfile] [-G cacertfile] [-A cacertdir] [-Z] [-R] [-L протокол]
[host:]port|/path/to/socket h1[:p1[:maxc1[:hard1[:weight1[:prio1]]]]]
[h2[:p2[:maxc2[:hard2[:weight2[:prio2]]]]]] ...
Только Windows:
ручка -i имя_службы
ручка -u имя_службы
ПРИМЕР
перо 80 www1: 8000: 10 www2: 80: 10 www3
Здесь три сервера взаимодействуют в ферме веб-серверов. Хост www1 запускает свой веб-сервер на порту
8000 и принимает до 10 одновременных подключений. Хост www2 работает на порту 80 и
принимает 10 подключений. Наконец, www3 запускает свой веб-сервер на порту 80 и позволяет
неограниченное количество одновременных подключений.
ОПИСАНИЕ
Пен это балансировщик нагрузки для протоколов на основе tcp, таких как http или smtp. Это позволяет нескольким
серверы должны выглядеть как один снаружи и автоматически обнаруживать серверы, которые не работают
и распределяет клиентов по доступным серверам. Это обеспечивает высокую доступность и
масштабируемая производительность.
Алгоритм балансировки нагрузки отслеживает клиентов и пытается отправить их обратно в
сервер, который они посетили в последний раз. В клиентской таблице есть несколько слотов (по умолчанию 2048,
устанавливается с помощью аргументов командной строки). Когда стол заполнен, последний использованный
один будет выброшен, чтобы освободить место для нового.
Это превосходит простой алгоритм циклического перебора, который отправляет клиенту, который подключается
повторно на разные серверы. Это нарушит работу приложений, которые поддерживают состояние между
соединения на сервере, включая большинство современных веб-приложений.
Когда перо обнаруживает, что сервер недоступен, оно ищет другой, начиная с
сервер после последнего использованного. Таким образом мы получаем балансировку нагрузки и "справедливую"
отказоустойчивость бесплатно.
Правильно настроенное перо гарантирует, что ферма серверов всегда доступна, даже если
отдельные серверы отключаются для обслуживания или реконфигурации. Финальный сингл
точку отказа, само перо, можно устранить, запустив перо на нескольких серверах, используя
vrrp, чтобы решить, какой из них активен.
Отправка пера сигнала USR1 заставит его распечатать полезную статистику на stderr, даже если
отладка отключена. Если перо работает в фоновом режиме (т.е. без опции -f),
syslog используется, а не stderr. Если используется опция -w, статистика сохраняется в
Формат HTML в данном файле.
Отправка пера сигнала HUP закроет и снова откроет файл журнала, если ведение журнала включено,
и перезагрузите файл конфигурации.
Поверните журнал следующим образом (при условии, что pen.log - это имя файла журнала):
mv pen.log pen.log.1 kill -HUP `cat `
куда - это файл, содержащий идентификатор процесса пера, указанный в параметре -p.
Отправка пера сигнала TERM приведет к тому, что он завершится без ошибок, закрыв файл журнала и все откроется.
розетки.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-C порт | / путь / к / сокету
Задает порт управления, на котором балансировщик нагрузки прослушивает команды. См. Penctl.1
для списка доступных команд. Протокол не аутентифицирован, и
ожидается, что администратор ограничит доступ с помощью списка контроля доступа (для
подключения по сети) или разрешения файла Unix (для сокета домена Unix).
Pen обычно отказывается открывать порт управления, если работает от имени пользователя root; увидимся
вариант. Если вы по-прежнему настаиваете на том, что хотите запустить перо от имени root с портом управления,
используйте "-u root".
-F cfgfile
Называет файл конфигурации с командами в формате penctl (см. Penctl.1). Файл
читается после обработки всех аргументов командной строки, а также после получения HUP
сигнал.
-H Добавляет заголовок X-Forwarded-For к HTTP-запросам.
-U Использовать поддержку протокола udp
-O команда
Позволяет использовать большинство команд penctl в командной строке Pen.
-P Использовать poll () для уведомления о событии.
-Q Использовать kqueue () для уведомления о событиях (BSD).
-W Использовать вес для выбора сервера.
-X Добавляет команду выхода в интерфейс управления.
-a Используется вместе с -dd для получения дампа сообщений в формате ascii, а не
шестнадцатеричный формат.
-b сек Серверы, которые не отвечают, заносятся в черный список, т. Е. Исключаются с сервера.
алгоритм выбора на указанное количество секунд (по умолчанию 30).
-T сек Клиенты отслеживаются в течение указанного количества секунд, поэтому их можно отправлять на
тот же сервер, что и в прошлый раз (по умолчанию 0 = клиенты никогда не истекают).
-c N Максимальное количество клиентов (по умолчанию 2048).
-d Отладка (повторите -d, чтобы узнать больше). Вывод поступает в stderr, если мы работаем в
на переднем плане (см. -f) и в системный журнал (пользователь объекта, приоритетная отладка) в противном случае.
-e хост: порт
host: port указывает аварийный сервер, с которым нужно связаться, если все обычные серверы станут
недоступен.
-f Оставаться на переднем плане.
-h Использовать хэш на IP-адресе клиента для первоначального выбора сервера. Это делает
это более предсказуемо, где будут подключены клиенты.
-i наименование услуги
Только Windows. Установите перо как услугу.
-j директория Запускать в среде chroot.
-l файл
Включите ведение журнала.
-m multi_accept
Принять до multi_accept входящие соединения за раз.
-p файл
Запишите pid запущенного демона в файл.
-q отставание
Разрешить очереди ожидающих входящих подключений увеличиться до максимума отставание
записей.
-r Перейти к выбору серверов с циклическим перебором, не выясняя, какой сервер
клиент использовал последний раз.
-s Упрямый выбор сервера: если первоначальный выбор недоступен, клиент
соединение закрывается без попытки другого сервера.
-t сек Таймаут подключения в секундах (по умолчанию 5).
-u пользователь
Только Posix. Запускаем от имени другого пользователя.
-u наименование услуги
Только Windows. Удалите службу.
-x N Максимальное количество одновременных подключений (по умолчанию 500).
-w файл
Файл отчетов о состоянии в формате HTML.
-o вариант
Используйте вариант в формате Penctl.
-E файл сертификата
Используйте данный сертификат в формате PEM.
-K ключевой файл
Используйте данный ключ в формате PEM (может содержаться в сертификате).
-G файл сертификата
Файл, содержащий сертификат ЦС.
-A Cacertdir
Каталог, содержащий сертификаты CA в хешированном формате.
-Z Использовать режим совместимости с SSL.
-R Требовать действующий одноранговый сертификат.
-L протокол
ssl23 (по умолчанию), ssl3 или tls1.
[хост:] порт ИЛИ / путь / к / сокету
Перо локального адреса и порта слушает. По умолчанию перо слушает все локальные
адреса. Pen также может использовать сокет домена Unix в качестве локального адреса прослушивания.
h1: p1: soft: hard: weight: prio
Адрес, порт и максимальное количество одновременных подключений для удаленного
сервер. По умолчанию порт такой же, как и локальный порт, и мягкое ограничение на
количество подключений не ограничено. Жесткий лимит используется для клиентов, которые
ранее обращались к серверу. Вес и приоритет используются для веса и
алгоритмы выбора сервера на основе приоритета.
ОГРАНИЧЕНИЯ
Pen работает в одном процессе и открывает два сокета для каждого соединения. В зависимости от
конфигурации ядра, ручка может исчерпать файловые дескрипторы.
Поддержка SSL доступна, если перо было создано с параметром --with-ssl.
Поддержка GeoIP доступна, если перо было создано с параметром --with-geoip.
Используйте перо в Интернете с помощью сервисов onworks.net