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

OSCHINA-MIRROR/mirren-VX-API-Gateway

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

Спецификации

Из-за большой занятости на работе, разработка версии 2.0 постоянно откладывается. Однако Vert.x и Netty сами по себе исправили множество ошибок, поэтому первоначальная зависимость от Vert.x была обновлена с 3.5.2 до 3.9.2.

2020/06/16

Обновление версии 2.0

VX-API работает в нашей компании уже 236 дней (с 23 ноября 2018 года), основной процессор обработал более 9 миллионов запросов, и для нашей компании с небольшим объёмом трафика шлюз не является проблемой. Однако производительность текущей версии 1.0 всё ещё имеет большой потенциал для оптимизации, а часть дизайна не очень удобна для пользователя. Поэтому я планирую организовать время для работы над версией 2.0. Версия 2.0 значительно улучшит производительность и будет более удобной для пользователей. Рекомендуется сначала присоединиться к группе или следить за проектом, а затем использовать версию 2.0 после её выхода. Версия 2.0 не будет совместима с версией 1.0, но будет выпущен инструмент для переноса интерфейса версии 1.0 на версию 2.0.

VX-API-Gateway

logo VX-API-Gateway — это API-шлюз, разработанный на основе Vert.x (Java), который представляет собой распределённый, полностью асинхронный, высокопроизводительный, расширяемый и лёгкий API-шлюз. Некоторые процессы и дизайн страниц были вдохновлены API-шлюзом Alibaba Cloud. QQ группа для общения: 440306757

Использование программного обеспечения

Документация по использованию VX-API Gateway

Процесс выполнения VX-API

flowchart Зелёные линии обозначают обязательные шаги, чёрные линии обозначают шаги, которые выполняются при наличии соответствующих условий. Когда пользователь делает запрос, полный процесс выполняется в порядке компонентов от 1 до 7. Если какой-либо компонент не удовлетворяет требованиям, запрос завершается и возвращается ответ (fail-end-response). Если в каком-либо компоненте возникает исключение, управление переходит к компоненту обработки исключений (Exception Handler), и запрос завершается с возвратом сообщения об ошибке. Для получения дополнительной информации о процессе выполнения API см. описание компонентов.

Описание компонентов

1. Чёрный список

Этот компонент всегда выполняется! При запросе пользователя первым шагом является проверка чёрного списка. VX-API считывает удалённый адрес из запроса и получает IP-адрес пользователя. Если IP-адрес находится в глобальном чёрном списке, запрос завершается, и возвращается статус 404 и сообщение «Вы не можете получить доступ к этой службе». В противном случае обработка продолжается.

2. Ограничение доступа

Если ограничение доступа включено при создании API, этот компонент будет выполняться! Ограничения доступа могут быть установлены для дней, часов или минут. Можно установить ограничения для API и IP, причём ограничение для IP не может превышать ограничение для API. Например, если ограничение для API составляет 1 минуту, можно получить доступ только 1000 раз в течение этой минуты. Если количество обращений превышает 1000 в течение минуты, запрос завершится, и вернётся ответ (ответ содержит результат, определённый при создании API: «Доступ ограничен»). В противном случае обработка продолжится.

3. Проверка параметров

Если при создании API включены параметры запроса, этот компонент будет выполнен! Компонент проверяет параметры запроса в соответствии с определённым форматом параметров. Если параметры не соответствуют определению параметров, запрос завершается, и возвращается сообщение об ошибке «Проверка параметров шлюза входа не удалась». В противном случае обработка продолжается.

4. Аутентификация безопасности

Когда при создании API включена аутентификация безопасности, этот компонент будет выполнен. Компонент передаёт обработку плагину аутентификации безопасности, который отвечает за соответствующую обработку и решает, передать ли обработку следующему компоненту или завершить запрос.

5. Предварительная обработка

При включении предварительной обработки при создании API этот компонент будет выполнен. Плагин предварительной обработки отвечает за обработку, связанную с предварительной обработкой, и решает, передавать ли обработку следующему компоненту или завершить запрос после завершения обработки.

6. Основной процессор (главный процессор)

Все предыдущие компоненты должны быть выполнены успешно. Этот компонент всегда будет выполнен! Главный процессор обрабатывает запросы в зависимости от типа службы. После завершения обработки главный процессор определяет, включён ли постпроцессор. Если постпроцессор включён, главный процессор передаёт управление постпроцессору и передаёт информацию о результате обработки главному процессору. В противном случае запрос завершается, и возвращаются результаты обслуживания.

7. Постпроцессор

При включении постпроцессора при создании API этот компонент будет выполнен. Постпроцессор является последним компонентом нормального процесса. Он получает результат обработки главного процессора и выполняет соответствующие операции перед ответом на запрос пользователя.

8. Обработка исключений

Если в любом из предыдущих компонентов возникает исключение, этот компонент будет выполнен. Исключение обрабатывается, и запрос завершается. Возвращается сообщение об ошибке, определённое при создании API («Произошла ошибка/сбой»).

Типы услуг

Типы услуг указывают, какие типы услуг должен обрабатывать главный процессор. Подробнее см. ниже.

HTTP/HTTPS

Указывает, что бэкенд-сервис является обычным HTTP/HTTPS. Шлюз будет отправлять запросы пользователей на целевые адреса. Сервис поддерживает балансировку нагрузки с весом и стратегии циклического перебора и хэширования (по умолчанию используется циклический перебор). Шлюз автоматически отключает и повторяет попытку подключения. Если попытка подключения к адресу бэкенда не удаётся, стратегия будет уведомлена. Если один и тот же адрес бэкенда выходит из строя дважды или более, он будет удалён из стратегии. Шлюз проверит, есть ли недоступные адреса в стратегии, и если да, то выполнит повторную попытку в соответствии с установленным временем повторной попытки. Если адрес бэкенда доступен после повторной попытки, он будет добавлен обратно в стратегию.

Перенаправление страницы

Эта услуга используется для перенаправления ссылок. Когда пользователи запрашивают эту услугу API, шлюз вернёт статус 302, чтобы сообщить браузеру перейти по указанному URL.

Пользовательский сервис

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

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

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

Введение

VX-API-Gateway — это API-шлюз, разработанный на основе Vert.x (Java). Он представляет собой полностью асинхронный, высокопроизводительный, расширяемый и легковесный API-шлюз. Развернуть Свернуть
MIT
Отмена

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

все

Участники

все

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

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