xPlatform
Один из основанных на Springboot 2.X + Dubbo 2.6.x быстрый бэкенд-фреймворк.
Введение
С Platform_admin в паре (фронтенд и бэкенд разделены), поддерживает распределённое развёртывание.
Архитектура
Общая концепция дизайна:
- xPlatfrom — это основанный на SpringBoot + Dubbo + VUE бэкенд с разделением фронтенда и бэкенда, предназначенный для предоставления проекта стандартизированной, быстрой, эффективной и стабильной средой разработки, которая подходит для текущих задач быстрой итерации разработки.
- xPlatfrom предоставляет среду разработки для фронтенда на основе VUE, используя динамический маршрутизатор VUE для динамической загрузки функциональных модулей, определённых системой, для интеграции различных подсистем в единую операционную платформу управления. Бэкенд в основном использует режим разработки SpringBoot+Dubbo, и каждая подсистема полагается на базовую упаковку фреймворка, чтобы реализовать только конкретные бизнес-функции. Соответствующие базовые услуги, такие как постоянство, кэширование, безопасность, журналы, загрузка файлов и т. д., предоставляются фреймворком.
- xPlatfrom поддерживает разделение фронтенда и бэкенда и распределённое развёртывание, фронтенд может быть развёрнут на статическом сервере, таком как Nginx. Бэкенд разделяется на потребителей услуг и поставщиков услуг. Потребитель услуг является входом для запросов фронтенда, который можно развернуть несколько экземпляров через Nginx для балансировки нагрузки. Поставщик услуг реализует конкретную бизнес-логику, которая является ядром обработки бизнеса, предоставляя конкретные услуги потребителям услуг, которые могут быть развернуты несколько экземпляров и управляться Dubbo.
- На основе вышеупомянутого можно построить систему с разделением фронтенда и бэкенда, распределённым развёртыванием и динамическим расширением.
Структура проекта
-
platform_genenator — генератор;
- src:
- main:
- java:
- com.platform.genenator: PlatformGenerator — генератор.
-
platform_common — общие компоненты;
- src:
- main:
- java:
- com.platform.common:
- cache — конфигурация кэша,
- constant — определение констант,
- dto — общий объект передачи данных,
- enums — класс перечисления,
- exception — информация об исключениях,
- utils — служебный класс.
- test — тестирование.
-
platform_common_api — интерфейс общих компонентов сервиса;
- src:
- main:
- java:
- com.platform.common.api:
- dao — базовый класс DAO,
- entity — базовый класс сущности,
- service — базовый класс сервиса,
- vo — общий объект значения.
- test — тестирование.
-
platform_common_consumer — общие компоненты потребителя сервиса;
- src:
- main:
- java:
- com.platform.common.consumer:
- annotation — пользовательская аннотация,
- aspect — аспект,
- config — общая конфигурация,
- controller — контроллер,
- exception — связанные с потребителем исключения,
- filter — фильтр,
- interceptor — перехватчик,
- jwt — JWT.
- test — тестирование.
-
platform_common_provider — общие компоненты поставщика сервиса;
- src:
- main:
- java:
- com.platform.common.provider:
- config — конфигурация Druid и MyBatisPlus.
- test — тестирование.
-
platform_system_api — системный сервисный интерфейс;
- src:
- main:
- java:
- com.platform.system.api:
- entity — сущность,
- enums — перечисление,
- service — сервис,
- util — утилита,
- vo — объект значения.
- test — тестирование.
-
platform_system_consumer — системный потребитель сервиса;
- src:
- main:
- java:
- com.platform.system.consumer:
- config — конфигурация кеша,
- controller — контроллеры,
- shiro — Shiro,
- task — информация о задачах.
- resource:
- config:
- csrfWhite.txt — белый список CSRF,
- xssWhite.txt — белый список XSS,
- application-dev.properties — среда разработки,
- application.properties — конфигурация,
- fdfs.properties — FDFS,
- logback-spring.xml — LogBack,
- ValidationMessages.properties — правила проверки.
- test — тестирование.
-
platform_system_provider — системный поставщик сервиса;
- src:
- main:
- java:
- com.platform.system.provider:
- dao — интерфейс DAO,
- service — реализация интерфейса сервиса.
- resource:
- mapper — конфигурация Mapper,
- application-dev.properties — среда разработки,
- application.properties — конфигурация,
- logback-spring.xml — LogBack.
- test — тестирование.
Связанные технологии
- spring boot 2.0.6.RELEASE,
- dubbo 2.6.3,
- mybatis 3.4.4,
- mybatis-plus 2.1.0,
- druid 1.1.1,
- shiro 1.4.0,
- jjwt 0.9.0,
- hibernate validator 6.0.13,
- Redis 4.0.11,
- zookeeper 3.4.12.
Дизайн интерфейса
RESTful.
Аутентификация и авторизация
Shiro JWT.
Сборка проекта
Среда выполнения: JDK 1.8 + Maven + Redis + ZooKeeper.
Соглашение о кодировании
Соглашения об именах файлов
В папке страниц файлы страниц группируются по функциональным модулям. Например, страницы пользователя находятся в папке user, а страницы роли — в папке role.
- Если страница представляет собой список, имя файла — UserList.vue. Проектная информация
Дорога длинная и извилистая, я буду искать решение проблемы сверху донизу.
Код на Gitee: https://gitee.com/javacoo/xPlatform
QQ группа: 217690017
Автор: javacoo
Электронная почта: xihuady@126.com
Журнал обновлений
Комментарии ( 0 )