JPower: платформа для быстрой разработки микросервисов
tip: после добавления в группу, вы можете бесплатно получить код генератора, отсканировав QR-код.
JPower был создан на основе правительственного коммерческого проекта.
Используя модель разделения переднего и заднего плана, передний план является открытым исходным кодом проекта: jpower-ui (на основе AVue, Vue, Element-UI), JPowerWeb(на основе Vue, Element-UI).
Версия загрузки: JPowerBoot
JPower — это платформа для быстрой разработки микросервисных приложений, основанная на SpringCloud(2020.0.1) + SpringBoot(2.4.2). Она обладает следующими функциями:
Основные технологии включают Spring Cloud Alibaba, SpringBoot, Mybatis, Seata, Sentinel, SkyWalking и другие основные рамки и промежуточные программы. Ожидается, что будет создана комплексная система, включающая базовую структуру, микросервисную архитектуру, интеграцию инструментов и мониторинг системы. Этот проект направлен на реализацию базовых возможностей и не связан с конкретными бизнес-функциями.
Используется JWT для аутентификации токенов, которая может быть расширена для интеграции с Redis и другими мелкозернистыми схемами управления.
Nacos используется в качестве центра регистрации и конфигурации, чтобы сделать проект более лёгким и усилить взаимодействие между модулями.
Sentinel обеспечивает защиту стабильности обслуживания с точки зрения контроля трафика, отключения и понижения уровня обслуживания.
MybatisPlus-generator используется для генерации кода.
ps: демонстрационная среда не имеет разрешения на запись.
На основе Nacos реализуется регистрация и обнаружение служб, а OpenFeign используется для реализации вызовов между службами, что позволяет разработчикам кодировать так же, как при локальном вызове методов, без ощущения того, что это HTTP-запрос.
Безопасность взаимодействия между службами обеспечивается с помощью JWT.
Чтобы избежать «лавинного эффекта» между службами, используется Sentinel в качестве механизма отключения, который предотвращает отключение служб друг от друга.
Spring Boot Admin используется для мониторинга состояния работы отдельных сервисов, а SkyWalking используется для просмотра цепочек вызовов, стеков и других аспектов между сервисами.
SkyWalking также используется в этом проекте в качестве полного мониторинга производительности всей цепочки, предоставляя информацию о показателях на уровне системы и уровне детализации, централизованно отображая всю информацию о вызовах между приложениями, облегчая измерение общей и локальной производительности, а также помогая быстро найти источник проблем, что значительно сокращает время устранения неполадок в производстве.
Основанный на перехватчике Mybatis контроль доступа к данным реализован.
Поскольку некоторые функции swagger-ui не являются дружественными, Knife4j используется в сочетании с национальным открытым исходным кодом, и был разработан стартер, который удобен для пользователей Springboot.
Seata от Alibaba используется для эффективного и ненавязчивого решения проблем распределённых транзакций в микросервисной среде.
Для решения проблемы отображения атрибутов или объектов с разбивкой на страницы в нескольких таблицах, библиотеках и сервисах используется автоматическое внедрение атрибутов статических данных (словарных данных).
Чтобы решить проблему частого обновления услуг, отката версий, быстрой итерации и внутреннего сотрудничества, этот проект использует изменение стратегии балансировки нагрузки Spring для достижения серого развёртывания.
Интерфейс всегда доступен для обеспечения бесперебойной работы, а также может осуществлять мониторинг других служб и настраивать некоторые параметры и т. д.
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.
## Снимки экрана проекта:
| Предварительный просмотр | Предварительный просмотр |
|---|---|
|  |  |
|  |  |
|  |  |
|  |  |
|  |  |
|  |  |
|  |  |
# Если этот проект вам хоть немного помог, пожалуйста, поставьте «Star» в правом верхнем углу, а также расскажите о нём своим друзьям и коллегам, спасибо!
# Обнаружение ошибок: [issues](https://gitee.com/gdzWork/JPower/issues).
# Участие и вклад:
1. Fork этого репозитория.
2. Создайте ветку feat_xxx.
3. Отправьте код.
4. Создайте Pull Request.
# Спасибо JetBrains за бесплатную лицензию с открытым исходным кодом:
[](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 )