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

OSCHINA-MIRROR/gdzWork-jpower-ui

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 18 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 12:11 589eb58

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

Gitter License Gitter

QQ группа:

tip: после добавления в группу, вы можете бесплатно получить код генератора, отсканировав QR-код.

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, SpringBoot, Mybatis, Seata, Sentinel, SkyWalking и другие основные рамки и промежуточные программы. Ожидается, что будет создана комплексная система, включающая базовую структуру, микросервисную архитектуру, интеграцию инструментов и мониторинг системы. Этот проект направлен на реализацию базовых возможностей и не связан с конкретными бизнес-функциями.

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

Nacos используется в качестве центра регистрации и конфигурации, чтобы сделать проект более лёгким и усилить взаимодействие между модулями.

Sentinel обеспечивает защиту стабильности обслуживания с точки зрения контроля трафика, отключения и понижения уровня обслуживания.

MybatisPlus-generator используется для генерации кода.

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

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

Техническая документация

Демонстрационный адрес проекта

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

ps: демонстрационная среда не имеет разрешения на запись.

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

  1. Управление арендаторами: суперпользователь может создавать всех арендаторов.
  2. Управление организацией: управление отделами, данными пользователей, сброс паролей и т. д.
  3. Настройка разрешений: настройка разрешений данных, ролей, назначение ролей пользователям, предоставление ролей и ресурсов меню.
  4. Системная настройка: настройка меню функций, управление вложениями, словарь, административные районы, системные параметры, управление приложениями и т. д.
  5. Управление шлюзом: ограничение доступа и управление доступом, регистрация центра.
  6. Мониторинг системы: документация по интерфейсу, мониторинг услуг, мониторинг SkyWalking, журнал ELK и т. д.

Основные функции:

  1. Регистрация и обнаружение услуг:

На основе Nacos реализуется регистрация и обнаружение служб, а OpenFeign используется для реализации вызовов между службами, что позволяет разработчикам кодировать так же, как при локальном вызове методов, без ощущения того, что это HTTP-запрос.

  1. Аутентификация службы:

Безопасность взаимодействия между службами обеспечивается с помощью JWT.

  1. Механизм отключения:

Чтобы избежать «лавинного эффекта» между службами, используется Sentinel в качестве механизма отключения, который предотвращает отключение служб друг от друга.

  1. Мониторинг:

Spring Boot Admin используется для мониторинга состояния работы отдельных сервисов, а SkyWalking используется для просмотра цепочек вызовов, стеков и других аспектов между сервисами.

  1. Цепочка вызовов мониторинга:

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

  1. Контроль доступа к данным

Основанный на перехватчике Mybatis контроль доступа к данным реализован.

  1. Защита от межсайтовых сценариев атак (XSS)
  • Все запросы фильтруются через фильтры для фильтрации параметров формы.
  1. Онлайн API

Поскольку некоторые функции swagger-ui не являются дружественными, Knife4j используется в сочетании с национальным открытым исходным кодом, и был разработан стартер, который удобен для пользователей Springboot.

  1. Распределённые транзакции

Seata от Alibaba используется для эффективного и ненавязчивого решения проблем распределённых транзакций в микросервисной среде.

  1. Перекрёстные таблицы, перекрёстные библиотеки, перекрёстные сервисы, автоматическое сопоставление данных словаря

Для решения проблемы отображения атрибутов или объектов с разбивкой на страницы в нескольких таблицах, библиотеках и сервисах используется автоматическое внедрение атрибутов статических данных (словарных данных).

  1. Серое развёртывание

Чтобы решить проблему частого обновления услуг, отката версий, быстрой итерации и внутреннего сотрудничества, этот проект использует изменение стратегии балансировки нагрузки Spring для достижения серого развёртывания.

  1. Мониторинг интерфейса

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

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

JPower
├── config -- файл конфигурации
├── jpower-core-login -- модуль авторизации и входа
├── jpower-core-server -- основной модуль бизнес-логики
├    ├── jpower-file -- файловый модуль
├    ├── jpower-user -- пользовательский модуль
├    ├── jpower-system -- системный модуль
├── jpower-feign-api -- модуль Feign API
├    ├── jpower-file-api -- файловый API-модуль
├    ├── jpower-system-api -- системный API-модуль управления
├    ├── jpower-user-api -- пользовательский API-модуль
├── jpower-module-common -- общий модуль инструментов
├    ├── common-auth -- инструменты авторизации
├    ├── common-dbs -- инструменты базы данных
├    ├── common-deploy -- базовый инструмент запуска
├    ├── common-exception -- инструменты обработки исключений
├    ├── common-log -- инструменты ведения журнала
├    ├── common-nacos -- инструменты Nacos
├    ├── common-redis -- инструменты кэширования
├    ├── common-feign -- инструменты Feign, включая Sentinel
├    ├── common-swagger -- инструменты Swagger
├    ├── common-tool -- базовые инструменты конфигурации
├    ├── common-transaction -- инструменты распределённых транзакций
├    └── common-utils -- общие инструменты
├── jpower-module-gateway -- модуль шлюза
├── jpower-op-server -- модуль управления операциями
├    ├── jpower-doc -- агрегация документов Swagger
├    ├── jpower-log -- служба ведения журналов
└──  └── jpower-admin -- SpringBootAdmin
~~~ **Сервис регистрации и обнаружения: Nacos**
* Сервис потребления: OpenFeign.
* Балансировка нагрузки: Spring Load Balancing.
* Центр конфигурации: Nacos.
* Отказоустойчивость сервисов: Sentinel.
* Сборка проекта: Maven 3.3.
* Распределённые транзакции: Seata.
* Защита трафика распределённой системы: Sentinel.
* Мониторинг: Spring-Boot-Admin.
* Трассировка вызовов в цепочке и мониторинг APM: Skywalking.
* Nginx.

**В части развёртывания:**
* Сервер: CentOS.
* Docker 18.
* Nginx.
## Снимки экрана проекта:
| Предварительный просмотр | Предварительный просмотр |
|---|---|
| ![Предварительный просмотр.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 этого репозитория.
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).
* SpringBlade: [https://gitee.com/CodeGI/chat](https://gitee.com/smallc/SpringBlade).

Опубликовать ( 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