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

OSCHINA-MIRROR/deathearth-wormhole

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

WormHole: сервис, платформа и управление через шлюз

Быстрые ссылки

После настройки можно запускать.

Адреса на GitHub: https://github.com/deathearth/wormhole
Адрес на Gitee: https://gitee.com/deathearth/wormhole

Содержание

Платформа и её история

В компании было несколько бизнес-сервисов, которые были разделены на несколько веб-проектов и проектов Dubbo.
Для C-терминала: при вызове необходимо настроить соответствующее окружение IP/домен и т. д., а если есть новый сервис, то нужно дополнительно добавить конфигурацию.
Что касается S-терминала, то необходимо не только сосредоточиться на написании бизнес-услуг, но и поддерживать тесный контакт с C-терминалом. Слой web и слой сервиса Dubbo слишком сложны, что не способствует последующему разделению или настройке.
На основе этой ситуации мы начали проект шлюза, который предоставляет единый интерфейс доступа и управление интерфейсом. Это эффективно изолирует C-терминал от S-терминала.
Спасибо за поддержку и помощь коллегам!

Описание платформы

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

    WormHole — это простая и удобная в использовании платформа управления API. Цель состоит в том, чтобы снизить связанность между разработкой серверных сервисов и клиентскими вызовами. Через WormHole этот уровень делает разработку всего проекта более совершенной. Разработчики на стороне клиента могут искать необходимые интерфейсные данные из панели управления для вызова, а разработчики на стороне сервера могут определять интерфейсы после завершения разработки и синхронизировать их с панелью управления.

У WormHole есть две версии: одна основана на SpringMVC, другая — на SpringBoot, которая является версией оригинальной модификации.

Характеристики платформы

  • Поддержка сервисов Dubbo
  • Комплексное управление полномочиями (полномочия интерфейса, полномочия операций в сети и т.д.)
  • Безопасность (проверка подписи, настройка белого и чёрного списков IP-адресов)
  • Управление потоками (ограничение потока sentinel, изоляция, разрыв цепи)
  • Обработка процессов и механизм замены (конфигурация компонентов)
  • Поддерживает функцию mock, устанавливает ожидаемые результаты для ускорения процесса отладки
  • Поддерживает быструю регистрацию и тестирование интерфейсов
  • Имеет полное управление пользователями и ролями, использует рамки shiro
  • Эффективное управление интерфейсами, стратегия для нескольких сред
  • Масштабируемость платформы, настраивается в соответствии с потребностями

Техническая структура платформы

Примечание: слой сервера относится к конкретному поставщику услуг dubbo, а компоненты, такие как SpringMVC, Shiro, JSP, Velocity, Servlet и т. д., интегрируются с SpringBoot в соответствии с фактическими потребностями. Часть конфигурации всё ещё имеет пространство для оптимизации и может быть настроена в соответствии с требованиями.

Версия SpringBoot WormHole объединяет SpringMVC, Shiro, JSP, Velocity и Servlet и другие компоненты с SpringBoot. Некоторые конфигурации также имеют пространство для оптимизации, которое можно настроить в соответствии с конкретными потребностями.

Логика компонентов платформы

  • contextProcessor хранит информацию о контексте
  • ipProcessor устанавливает белый и чёрный списки IP-адресов
  • userAgentProcessor обрабатывает пользовательские агенты браузера
  • paramProcessor проверяет и подтверждает параметры
  • callbackParamProcessor проверяет и утверждает параметры обратного вызова
  • loginProcessor проверяет информацию токена
  • flowControlProcessor управляет потоками
  • signProcessor проверяет подпись
  • authProcessor проверяет полномочия
  • mockProcessor обрабатывает логику mock
  • dubboProcessor обобщает вызовы сервисов dubbo

## Структура проекта платформы

1、maven проект

wormehole

    / — wormehole-api         【определение управления панелью, определение сущности, передача объекта, исключение и т. д.】

    / — wormehole-domain      【определение информации клиента, токен пользователя, объект результата и т. д.】

    / — wormehole-web         【реализация панели управления, реализация бизнес-логики интерфейса】

2、структура каталога проекта

wormehole-api

/ — com.kaistart.gateway

    / — api.service         【все определения интерфейсов шлюза】

    / — domain              【объекты сущностей, связанные со шлюзом】

    / — dto                 【объект передачи бизнеса】

    / — exception           【определяет пользовательское исключение, код возврата】

    / — support             【определяет общедоступные объекты】

        / — json            【определяет общедоступный объект ответа】

        / — page            【определяет общедоступный объект разбивки на страницы】

        / — proto           【определяет общедоступный интерфейс】

    / — tool                【определяет инструменты преобразования даты】

wormehole-domain

| — com.kaistart.gateway.domain

    | — pojo                【объекты клиентов шлюза, информация о токене】

    | — response            【исключения шлюза, определения структуры】

wormehole-web 【JAVA класс, часть конфигурации】

src/main/java

| — com.kaistart            【имя основного пакета】

    | — auth                【основная часть панели управления】

        | — controller      【управление пользователями, ролями, разрешениями, ресурсами и т. д. на панели управления】

        | — domain          【связанные с панелью управления объекты сущностей】

        | — interceptor     【обработка панели управления url, разрешение и т. д.】

        | — mapper          【объекты сопоставления, связанные с панелью управления】

        | — service         【объекты служб, связанные с панелью управления, и реализация】

    | — gateway             【основная часть шлюза】

        | — common          【общедоступная часть бизнеса шлюза】

            | — cache       【определяет инструмент кэширования】

            | — exception   【определяет исключения шлюза】 

            | — http        【определяет инструменты HTTP-запроса, поддерживает запросы get с телом】

            | — util        【определяет инструменты, zk, md5, executor】

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

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

Введение

WormHole — это простая и удобная в использовании платформа для управления API, поддерживающая вызовы сервисов Dubbo. Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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