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

OSCHINA-MIRROR/scgywx-fooking

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Fooking — это распределённый сервер-шлюз, который в основном используется для поддержки клиентских подключений. Он перенаправляет запросы от клиентов на логические серверы и передаёт результаты с логических серверов клиентам.

Он похож на Nginx. С помощью Nginx и FastCGI Server (например, FPM и т. д.) можно создать веб-сервер. Также можно использовать Fooking и FastCGI Server для создания сокет-сервера.

Особенности:

  1. Динамическое добавление шлюзов.
  2. Уникальный SessionID для каждого клиента.
  3. Групповая рассылка (похожа на pub/sub в Redis).
  4. Мониторинг состояния сервера.
  5. Уведомления о событиях клиентов (например, новое подключение или закрытие подключения).
  6. Отсутствие ограничений по языку для логических серверов (PHP, Python, Go, NodeJS и т.д.).
  7. Пользовательский протокол сообщений.
  8. Поддержка длительных соединений с логическими серверами.

Протокол для клиентов Это относится к протоколу связи между клиентами и Fooking. По умолчанию размер данных составляет 4 байта (в режиме с обратным порядком байтов), но вы также можете использовать Lua для настройки протокола.

Протокол для логических серверов Этот протокол относится к связи между Fooking и логическими серверами. Используется протокол FastCGI, и логический сервер может быть написан на любом языке для создания FastCGI-сервера. Этот протокол очень прост, подробности см. в описании протокола: http://www.fastcgi.com/drupal/node/6?q=node/22

Использование Ниже показано, как использовать Fooking на примере чата. Исходный код находится в каталоге example/chat.

  • Шаг 1 (загрузка и компиляция) git clone https://github.com/scgywx/fooking.git cd {$FOOKING_PATH} make
  • Шаг 2 (запуск Router) cd src ./fooking ../router.lua
  • Шаг 3 (запуск Gateway) ./fooking ../config.lua
  • Шаг 4 (запуск FastCGI сервера, например, fpm) service php-fpm start (если он уже запущен, пропустите этот шаг)
  • Шаг 5 (тестирование) Измените IP-адрес и порт сервера WebSocket в файле example/chat/index.html (найдите ws://). Затем откройте index.html в браузере.

Архитектура Изображение

Комментарии ( 0 )

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

Введение

Распределённый сервер шлюза (php-шлюз для игр, php-сервер для игр, fastcgi). Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/scgywx-fooking.git
git@api.gitlife.ru:oschina-mirror/scgywx-fooking.git
oschina-mirror
scgywx-fooking
scgywx-fooking
master