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

OSCHINA-MIRROR/fagongzi-gateway

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

Gitter Статус сборки Отчет Go Report Card

Gateway/Китайский язык

Gateway — это веб-шлюз на основе HTTP, который может использоваться как унифицированный слой доступа к API.

Учебник

Очень подробный учебник для начинающих. Ссылка
Ниже представлены видео-уроки.
Основы:

Урок конфигурации маршрутизации:

Метод:

Внимание

Пожалуйста, убедитесь, что ваша версия Go составляет 1.10 или выше. В противном случае при компиляции произойдет ошибка неопределенного "math/rand".Shuffle. Ссылка StackOverflow## Возможности

  • Контроль трафика (на сервере или API)
  • Отключение цепи (на сервере или API)
  • Балансировка нагрузки
  • Обнаружение сервиса
  • Плагины
  • Маршрутизация (перенаправление трафика, дублирование трафика)
  • Агрегация API
  • Проверка аргументов API
  • Управление доступом к API (белый список и черный список)
  • По умолчанию значение возврата API
  • Пользовательское значение возврата API
  • Кэширование результата API
  • Авторизация JWT
  • Импорт метрик API с помощью Prometheus
  • Повторное выполнение API после ошибки
  • Проверка состояния сервера
  • Открытое управление API (GRPC, RESTful)
  • Поддержка WebSocket
  • Поддержка миграции данных онлайн## Docker

Дальнейший контент требует от читателя некоторых знаний о Docker. Вы можете обратиться к [этой книге][2] или проверьте [официальную документацию][1].

Быстрое начало

Используйте команду docker pull fagongzi/gateway, чтобы скачать образ Gateway Docker. Команда docker run -d -p 9093:9093 -p 80:80 -p 9092:9092 fagongzi/gateway запускает контейнер. Определяются три порта:

  • 80

    Прокси-порт HTTP, этот порт используется для клиентского доступа.

  • 9092

    Внешний порт GRPC сервера APIServer.

  • 9093

    Внешний порт HTTP REST сервера APIServer. Для доступа к веб-интерфейсу используйте адрес http://127.0.0.1:9093/ui/index.html.

Параметры запуска могут быть установлены с помощью следующих переменных окружения. Настройки переопределяют значения по умолчанию.

  • GW_PROXY_OPTS

    Поддерживаются все опции команды proxy --help.

  • API_SERVER_OPTS

    Поддерживаются все опции команды apiserver --help.

  • ETCD_OPTS

    Поддерживаются все опции команды etcd --help.

Доступные образы Docker

  • fagongzi/gateway

    Быстрый стартовый образ, содержащий три компонента: etcd, proxy, apiserver, только для быстрого старта, не использовать в продакшне.

  • fagongzi/proxy

    Компонент proxy, готов к использованию в продакшне.

  • fagongzi/apiserver

    Компонент apiserver, готов к использованию в продакшне.

Архитектура

Веб-интерфейс

Доступные проекты веб-интерфейса для шлюза:

Proxy

Proxy — это компонент, предоставляющий услуги клиентам. Proxy является бессостоятельным узлом. Множество экземпляров proxy можно развернуть для обслуживания большого объёма трафика. Подробнее.

ApiServer

ApiServer предоставляет GRPC и REST для управления метаданными пользователями. ApiServer интегрирован с официальным веб-интерфейсом. Подробнее.

Концепции шлюза

Сервер

Сервер — это реальное сервисное приложение. Подробнее.

Кластер

Кластер состоит из серверов, предоставляющих одни и те же услуги. Один из серверов выбирается для обработки конкретного запроса на основе стратегии балансировки нагрузки. Подробнее.

API

API — ключевая концепция шлюза. Мы можем управлять внешними API через шлюз и их правилами распределения, агрегации и соответствия URL. Подробнее.

Роутинг

Роутинг — это стратегия маршрутизации. Cookies, query-string, headers и path в HTTP-запросах определяют распределение трафика и его дублирование на конкретный кластер. Эта функциональность позволяет проводить A/B тестирование и перенаправление трафика онлайн. Подробнее.

Участие

Подробнее

WeChat

Спонсорство

Открытый исходный код — это трудная работа. Если этот проект помогает вам, вы можете купить мне кофе, спасибо!

WeChat

AliPay

[1]: https://docs.docker.com/ "Документация Docker" [2]: https://github.com/yeasy/docker_practice "docker практика"

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

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

Введение

Gateway — это restful API-шлюз, основанный на протоколе HTTP. Может использоваться в качестве унифицированного слоя для доступа к API. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (1)

все

Участники

все

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

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