Gateway — это RESTful API-шлюз, основанный на протоколе HTTP. Он может использоваться в качестве единой точки входа для API.
Если вы новичок, то этот детальный учебник будет полезен вам. В данный момент доступна только английская версия.
Убедитесь, что ваша версия Go находится на уровне OnClickListener 1.10 или выше. При компиляции с помощью более ранней версии Go возникает ошибка undefined "math/rand".Shuffle. Ссылка на StackOverflow
Для использования этого руководства требуется базовое понимание работы с Docker. Вы можете прочитать эту [книгу][2] или обратиться к [официальной документации][1].
Используйте команду docker pull fagongzi/gateway
, чтобы скачать образ Docker. Запустите его с помощью команды docker run -d -p 9093:9093 -p 80:80 -p 9092:9092 fagongzi/gateway
. После запуска образа экспортируются три порта:
80
Прокси-сервер для HTTP, который используется непосредственно для обслуживания конечных пользователей.
9092
Порт GRPC внешнего сервера API.
9093
Порт HTTP RESTful внешнего сервера API. Для доступа к WEBUI используйте адрес http://127.0.0.1:9093/ui/index.html
.
Чтобы изменить параметры выполнения, установите следующие переменные окружения. При одинаковых параметрах конфигурационные параметры будут переопределять параметры по умолчанию.
GW_PROXY_OPTS
Поддерживает все параметры, доступные через proxy --help
;
API_SERVER_OPTS
Поддерживает все параметры, доступные через apiserver --help
;
ETCD_OPTS
Поддерживает все параметры из etcd --help
;
fagongzi/gateway
Этот образ является быстрозапускающим, содержащим три компонента: etcd, proxy, apiserver. Используется только для быстрой проверки, не предназначен для использования в продакшне.
fagongzi/proxy
Компонент proxy, готов к использованию в продакшне.
* fagongzi/apiserver
Компонент apiserver
, который готов к использованию в продакшн.
Доступные проекты WebUI для Gateway:
Gateway состоит из компонентов proxy
и apiserver
Proxy — это компонент Gateway, предоставляющий услуги конечному пользователю. Proxy представляет собой бессостоятельную ноду, которую можно развернуть несколько раз для поддержки большего объема трафика, Подробнее.
ApiServer предоставляет GRPC и RESTful для управления метаданными. ApiServer также интегрирован с официальным WebUI, Подробнее.
Сервер — это реальный backend сервис, Подробнее.
Кластер — это логическая концепция, представляющая собой набор серверов, предоставляющих одинаковый сервис. Выбор доступного сервера осуществляется согласно политике балансировки нагрузки, Подробнее.
API — это ключевое понятие Gateway, где мы можем поддерживать внешние API, а также правила распределения, агрегации и соответствия URL, Подробнее.### Роутинг Роутинг — это стратегия маршрутизации, которая распределяет трафик на основе информации из HTTP-запроса (cookies, query string, headers, path) на указанный кластер. Эта функциональность позволяет реализовать A/B тестирование и привлечение трафика онлайн, Подробнее.## Участие в разработке Подробнее
Открытый исходный код требует усилий, если этот проект помог вам, вы можете угостить меня чашкой кофе, спасибо!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )