Введение
В настоящее время:
HXAPIGate (китайское название: «Синьсинь API шлюз») — если вам нравится проект, пожалуйста, поставьте ему звезду.
HXAPIGate — это высокопроизводительный API-шлюз, разработанный на основе Netty и Shiro. Он предназначен для управления доступом к микросервисам RESTful с детализированным управлением правами доступа. Поддерживает протоколы HTTP, Dubbo и другие. Авторские права на данное программное обеспечение принадлежат первоначальному автору.
В настоящее время большинство систем авторизации ограничиваются контролем доступа к самим ресурсам API, не обеспечивая детального контроля над правами доступа. HXAPIGate решает эту проблему, комбинируя bootshiroPro и реализуя модель авторизации для «ресурса API + метода запроса». Например: Новые четыре интерфейса:
Интерфейс | Метод запроса |
---|---|
/user/list | GET |
/user/list | POST |
/user/list | DELETE |
/user/list | PUT |
В традиционной модели авторизации эти четыре интерфейса рассматриваются как один и тот же ресурс, и третьи стороны получают доступ ко всем методам. Однако с помощью HXAPIGate можно отдельно авторизовать каждый ресурс. Например, если авторизован только метод GET для /user/list, третьи стороны не смогут получить доступ к методам POST, DELETE и PUT для того же ресурса.
Синьсинь шлюз представляет собой реализацию концепции микросервисной архитектуры с использованием идеи MECHA. Как показано на рисунке, он описывает взаимосвязь между микросервисами и Синьсинь шлюзом. Зелёная зона внутри представляет область бизнес-ориентированных микросервисов, а область Синьсинь шлюза представляет внешнюю область распределённых функций. Из рисунка видно, что микросервисы не должны учитывать какие-либо распределённые функции и не должны внедрять в жизненный цикл сервисов какие-либо сторонние распределённые компоненты (например, Spring Cloud). После публикации нового бизнес-микросервиса Синьсинь шлюз автоматически предоставляет все необходимые распределённые функции. Конечно, те, кто знаком с Service Mesh, заметят сходство, и в будущем Синьсинь шлюз будет превращён в промышленный sidecar, что является одной из моих целей.
Документация проекта доступна в Wiki проекта, где вы найдёте информацию о том, как использовать проект и настраивать маршруты. Если вам понравился проект, не забудьте поставить ему звезду! Спасибо!
Отчёт о тестировании производительности при 2000 параллельных транзакциях (JDK 1.8, размер кучи JVM 512M)
HXAPIGate поддерживает кластерное развёртывание и обеспечивает распределённое ограничение потока, балансировку нагрузки и другие функции для проксируемых служб. При распределённом развёртывании рекомендуется развернуть кластер ZooKeeper для обнаружения узлов шлюза и платформы авторизации HXBootshiro. Распределённые функции, такие как распределённое ограничение потока и распределённая кэширование, полагаются на Ignite для обеспечения базовой функциональности.
Управление категориями интерфейсов — это способ группировки API-интерфейсов.
Управляет основной информацией об API-интерфейсах, такой как маршруты, стратегии балансировки нагрузки, типы протоколов и т. д.
Добавление интерфейса:
Авторизация основана на ролях и позволяет отдельно управлять пользователями и интерфейсами.
На данный момент управление API-интерфейсами в HXAPIGate в основном завершено, и основное внимание уделяется расширению поддержки протоколов прокси-серверов и исправлению ошибок шлюза. В то же время планируется расширить функции управления платформой и предоставить более разнообразные функции управления.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )