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

OSCHINA-MIRROR/gdzWork-jpower-ui

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

JPower: платформа быстрой разработки для микросервисов

Gitter License Gitter

QQ Number : 860452768

tip: После присоединения к группе вы можете получить бесплатный генератор кода со скриншотом Star.


JPower только начинает развиваться, многие функции всё ещё находятся в разработке, поэтому следите за обновлениями...

Резюме JPower

JPower — это обновлённая и оптимизированная версия коммерческого проекта правительства.

Используя модель разделения фронтенда и бэкенда, фронтенд-проекты с открытым исходным кодом: jpower-ui (на основе AVue, Vue, Element-UI), JPowerWeb (на основе Vue, Element-UI).

Версия загрузки: JPowerBoot.

JPower, основанный на SpringCloud(2020.0.1) + SpringBoot(2.4.2), представляет собой платформу быстрой разработки для микрослужб. Он имеет несколько модулей, таких как унифицированная аутентификация шлюза, защита от XSS и распределённых атак, а также поддержка параллельной разработки мультисервисных систем.

Поддерживает параллельную разработку нескольких сервисов и может использоваться в качестве каркаса для разработки бэкенд-сервисов. Код лаконичен, комментарии полны, структура ясна. Очень подходит для изучения и использования в качестве базовой структуры. JPower планирует создать среду разработки, которая будет включать в себя различные инструменты, такие как настройка различных отчётов на странице, интеграция echarts для быстрой генерации страниц, передача данных в различных сценариях и т. д. В настоящее время разработана только базовая архитектура, и в будущем различные инструменты будут постепенно интегрированы в структуру.

Основные технологии включают Spring Cloud Alibaba, Spring Boot, Mybatis, Seata, Sentinel и SkyWalking. Я надеюсь приложить усилия для создания набора решений, которые объединяют базовую структуру —>распределённую архитектуру микрослужб —> интеграцию инструментов —> мониторинг системы. Этот проект направлен на достижение основных возможностей и не включает конкретные бизнес-процессы.

Использование JWT для аутентификации токенов позволяет расширить и интегрировать Redis и другие схемы точного контроля.

Центр регистрации и центр конфигурации выбирают Nacos для усиления связи между модулями при одновременном снижении веса проекта.

Интеграция Sentinel защищает стабильность служб с разных сторон, таких как управление потоком и деградирование предохранителей.

Генератор кода реализован на основе MybatisPlus-generator.

Введение в ветки

  1. master — это последняя стабильная версия, и каждый коммит будет обновляться с номером версии.
  2. dev — это ветка разработки автора. Последний код, разработанный автором, будет отправлен в реальном времени. Те, кто любит ранних последователей, могут переключиться на dev. Но могут быть ошибки, упущения и т.д. Если вы не знакомы с проектом, пожалуйста, не пытайтесь его использовать.
  3. tag — каждая фиксированная версия будет помечена тегом для облегчения последующего переключения на любую версию.

Технические документы

Адрес демонстрации проекта

  • Адрес демонстрации проекта: http://jpower.top:81
  • Логин суперпользователя (код арендатора: 000000):
  • администратор: root/123456
  • Логин пользователя арендатора (код арендатора: LXD0DP):
  • Обычный аккаунт: admin/123456

ps: В демонстрационной среде нет прав на запись.

Описание бизнес-функций:

  1. Управление арендаторами: роль суперпользователя управляет созданием всех арендаторов.

  2. Управление организацией: обслуживание данных отдела и пользователей, сброс пароля пользователя и т.д.

  3. Настройки разрешений: разрешения на данные, управление ролями, привязка пользователей к ролям, авторизация меню и ресурсов для ролей. Системные настройки: функция меню, управление вложениями, словарь, административная область, системные параметры, управление приложениями и т. д.

  4. Управление шлюзом: ограничение тока и блокировка доступа, регистрационный центр.

  5. Мониторинг системы: документация интерфейса, мониторинг сервисов, мониторинг SkyWalking и т.д.

Введение в особенности проекта:

  1. Регистрация, обнаружение и вызов сервисов: регистрация и обнаружение сервисов на основе Nacos, использование OpenFeign для реализации взаимодействия между сервисами, что позволяет достичь того же опыта кодирования, как при вызове локального метода, когда используются HTTP-запросы для удалённых вызовов. Разработчики полностью не осознают, что это удалённый метод, не говоря уже об HTTP-запросе.
  2. Аутентификация сервисов: JWT используется для усиления проверки авторизации при планировании между сервисами для обеспечения безопасности внутренних сервисов.
  3. Механизм предохранителей: из-за распределения сервисов, чтобы избежать «лавины» вызовов между сервисами, Sentinel используется в качестве предохранителя, чтобы предотвратить «лавину» между сервисами.
  4. Мониторинг: использование Spring Boot Admin для мониторинга состояния работы каждого независимого сервиса; использование SkyWalking для просмотра цепочки вызовов между каждым сервисом и т. д.
  5. Мониторинг связанных вызовов: одновременно реализуется SkyWalking как полный мониторинг производительности ссылок этого проекта. Различные показатели отображаются от общего измерения до частичного измерения, и информация о производительности всех цепочек вызовов через приложения отображается централизованно, что может облегчить измерение общей и частичной производительности и помочь определить источник сбоя, что значительно сокращает время устранения неполадок в производстве.
  6. Разрешение данных: функция разрешения данных реализуется с помощью перехватчика на основе Mybatis.
  7. Защита от межсайтовых сценариев (XSS):
    • фильтр для всех запросов, фильтр параметров формы.
  8. Онлайн API: поскольку некоторые функции нативного swagger-ui недостаточно удобны, используется отечественный open source knife4j, и был создан статусер, который удобен для пользователей springboot.
  9. Распределённые транзакции: интеграция распределённого транзакционного промежуточного ПО Ali: seata, с эффективным и для бизнеса без вмешательства способом, решение проблем распределённых транзакций, возникающих в сценарии микросервисов.
  10. Автоматический запрос словарных данных по таблицам, базам данных и сервисам: используется для решения свойств постраничных данных кросс-таблицы, кросс-базы данных, кросс-сервиса или свойств одного объекта, эхо боли словарных данных, поддержка статических атрибутов данных (словарь данных) автоматическое внедрение.
  11. Серое развёртывание: чтобы решить проблемы частых обновлений и запусков сервисов, откатов версий, быстрой итерации и совместной разработки внутри компании, в этом проекте используется модифицированная стратегия балансировки нагрузки spring-load-balancing для достижения серого развёртывания.
  12. Мониторинг интерфейсов: специально разработан для обеспечения того, чтобы интерфейс всегда оставался открытым, также можно реализовать мониторинг интерфейсов любых других сервисов, а также реализовать некоторые пользовательские настройки параметров.

Структура проекта:

JPower
├── config -- Каталог файлов конфигурации
├── jpower-core-login -- Авторизованный модуль входа
├── jpower-core-server -- Основной бизнес-модуль
├    ├── jpower-file -- Файловый модуль
├    ├── jpower-user -- Пользовательский модуль
├    ├── jpower-system -- Системный модуль
├── jpower-feign-api -- feign api
├    ├── jpower-file-api -- File Api
├    ├── jpower-system-api -- System Api
├    ├── jpower-user-api -- User Api
├── jpower-module-common -- Модуль инструментария
├    ├── common-auth -- Инструментарий авторизации 
├    ├── common-dbs -- Инструментарий базы данных 
├    ├── common-deploy -- Базовый набор для запуска 
├    ├── common-exception -- Инструментарий аномалий 
├    ├── common-log -- Инструментарий журналов 
├    ├── common-nacos -- Инструментарий Nacos 
├    └── common-redis -- Кэш **Технологический стек:**
* Используемые технологии:
    * Кэш: Redis.
    * База данных: MySQL 5.7.
    * Фреймворк персистентности: Mybatis-plus.
    * API Gateway: Gateway.
    * Регистрация и обнаружение сервисов: Nacos.
    * Потребление сервисов: OpenFeign.
    * Балансировка нагрузки: spring load balancing.
    * Центр конфигурации: Nacos.
    * Слияние сервисов: Sentinel.
    * Построение проекта: Maven 3.3.
    * Распределённая транзакция: seata.
    * Защита трафика распределённой системы: Sentinel.
    * Мониторинг: spring-boot-admin.
    * Отслеживание вызовов и мониторинг APM: skywalking.
    * Nginx.

* Аспект развёртывания:
    * Сервер: CentOS.
    * Docker 18.
    * Nginx.

**Скриншоты проекта:**
| Preview | Preview |
|---|---|
| ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606371365570.png) | ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606372161878.png) |
| ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606371469176.png) | ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606371969088.png) |
| ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606372018753.png) | ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606372215188.png) |
| ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606372253016.png) | ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606372274084.png) |
| ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606372312058.png) | ![Предварительный просмотр.png](docs/image/проектные скриншоты/1606372363368.png) |
| ![Предварительный просмотр.png](docs/image/проектные скриншоты/20210307214844.png) | ![Предварительный просмотр.png](docs/image/проектные скриншоты/20210307214944.png)  |
| ![Предварительный просмотр.png](docs/image/проектные скриншоты/20210307215009.png) | ![Предварительный просмотр.png](docs/image/проектные скриншоты/20210307215029.png) |

# Если вы считаете, что этот проект может быть вам полезен, пожалуйста, нажмите «Star» в правом верхнем углу, чтобы поддержать его и порекомендовать своим друзьям и коллегам, спасибо!

# Пожалуйста, отправьте сообщение, если вы обнаружите ошибку [issues](https://gitee.com/gdzWork/JPower/issues).

# Участвуйте в разработке:
1. Fork This репозиторий.
2. Создайте ветку feat_xxx.
3. Отправьте код.
4. Создайте Pull Request.

# Спасибо за бесплатную лицензию с открытым исходным кодом от JetBrains:
[![JetBrains](docs/image/jetbrains.png)](https://www.jetbrains.com/?from=lamp-cloud)

# Дружеские ссылки и особая благодарность:
* Платформа для быстрой разработки микросервисов: [https://gitee.com/gdzWork/JPower](https://gitee.com/gdzWork/JPower).
* JPowerWeb [https://gitee.com/deep_letters/jpower](https://gitee.com/deep_letters/jpower).
* jpower-ui: [https://gitee.com/gdzWork/jpower-ui](https://gitee.com/gdzWork/jpower-ui).
* Avue: [https://gitee.com/smallweigit/avue](https://www.avuejs.com/).
* JWchat: [https://gitee.com/CodeGI/chat](https://gitee.com/CodeGI/chat).

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

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

Введение

Фронтенд UI проект JPower разрабатывается на основе библиотек avue2.x и element-ui с использованием конфигурации модулей на основе json. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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