FW-Cloud-Framework
На основе Spring Cloud разработана распределённая структура (поддерживает аутентификацию OAuth2, агрегацию заказов, услуги публичного аккаунта, ShardingDBC — сегментирование базы данных, общие сервисы мониторинга, мониторинг каналов и асинхронный журнал, Redis-кэш и другие функции), реализован проект с разделением на передний и задний конец на базе Vue.
Особенности проекта:
- Независимость модулей структуры: модули Feign API независимы, что упрощает их вызов; сторонние сервисные модули могут быть легко интегрированы.
- Сервисы проходят через шлюз для доступа, обеспечивая независимость авторизации, мониторинга, журналов и кэширования.
- Распределённая архитектура обеспечивает удобство развёртывания и расширения.
- Поддерживается агрегация заказов (в настоящее время только для WeChat, в будущем планируется поддержка Alipay и других каналов).
- Доступны публичные аккаунты WeChat (предоставляются конфигурации для нескольких публичных аккаунтов, вызовы для нескольких подпроектов и интерфейсы для публичных аккаунтов).
- Используется распределённая архитектура, обеспечивающая удобство развёртывания с помощью Docker.
- Передний конец может быть реализован на основе Element UI, Vue, React или других популярных фреймворков, обеспечивая разделение переднего и заднего конца.
Технические модули и описание:
-
FW-Cloud-System модуль:
- FW-Cloud-System-Eureka: [порт 1001] сервисный центр регистрации (доступен онлайн по адресу http://47.106.144.24:1001/).
- FW-Cloud-System-Config: [порт 1002] сервис конфигурации и обнаружения (руководство по удалённой конфигурации доступно по ссылке).
- FW-Cloud-System-Gateway: [порт 1003] сервис шлюза Zuul (интерфейс внешнего доступа).
- FW-Cloud-System-Auth: [порт 1004] сервис авторизации (поддержка OAuth2 и единого входа) (подробное руководство доступно по ссылке).
-
FW-Cloud-Core базовый общий модуль:
- Cloud-Commons: извлечение базовых зависимостей нижнего уровня (руководство доступно по ссылке).
- FW-Cloud-Core-Beans: общие глобальные компоненты.
- FW-Cloud-Core-Commons: константы, аспекты и т. д.
- FW-Cloud-Core-Configuration: базовая конфигурация.
- FW-Cloud-Core-Exception: определение исключений.
- FW-Cloud-Core-Utils: общие инструменты.
-
FW-Cloud-Business бизнес-модуль:
- FW-Cloud-Business-Commons: бизнес-компоненты общего назначения.
- FW-Cloud-Business-Admin: [порт 2002] интерфейс управления авторизацией.
- FW-Cloud-Business-SSO: [порт 3001] демо-версия модуля единого входа.
- FW-Cloud-Business-Pay: [порт 2003] модуль агрегации заказов WeChat и других платёжных систем.
- FW-Cloud-Business-Pay-Demo: [порт не определён] демо-версии для WeChat, Alipay и других платёжных систем (разработка в процессе).
- FW-Cloud-Business-Wechat: [порт 2004] модуль публичных аккаунтов WeChat.
- FW-Cloud-Business-Wechat-Demo: [порт не определён] демо-версии публичных аккаунтов WeChat (разработка в процессе).
-
FW-Cloud-API: Feign API для вызова другими проектами.
-
Модуль мониторинга системы:
- FW-Cloud-Monitor-Monitor: [порт 1010] мониторинг состояния сервисов (доступен онлайн по адресу http://47.106.144.24:1010/).
- FW-Cloud-Monitor-Zipkin-DB: [порт 1011] мониторинг базы данных (доступен онлайн по адресу http://47.106.144.24:1011/).
- FW-Cloud-Monitor-Zipkin-ELK: [порт не определён] мониторинг ELK (в разработке).
- FW-Cloud-System-XXX: [порт не определён] мониторинг кэша.
- FW-Cloud-System-XXX: [порт не определён] логический мониторинг и другое.
-
Передний модуль (Vue2-Admin):
- На основе Element UI и Vue.
- Webpack3.
- Axios.
- Nodejs.
- Начальное обучение проекту Vue, рекомендуется обратиться к Vue2-All.
Среда разработки и развёртывания:
- Redis.
- MySQL.
- RabbitMQ.
- Java8.
- Lombok.
- Feign.
- Docker.
- Nginx.
- Git.
Описание проекта:
- Получите код с GitHub или Gitee.
- Некоторые модули находятся в стадии разработки и требуют доработки.
- Для входа используйте следующие учётные данные: superAdmin\test1234, admin\test1234 или test\test1234.
- Часть технического описания проекта доступна по ссылке.
- Описание процесса шифрования конфигурационных файлов доступно по ссылке.
- Руководство по запуску сервисов доступно по ссылке.
- Подробное руководство по запуску модуля Auth доступно по ссылке.
- Подробные инструкции по использованию модуля SSO доступны по ссылке.
- Зависимости модуля pay для расширения агрегации доступны по ссылке.
Общение и обучение:
Проект предоставляет изображение для демонстрации архитектуры.
Часто задаваемые вопросы:
- Не удаётся найти классы, начинающиеся с Q.
- Установка Lombok.
- Проблемы с импортом проекта в среду разработки с использованием Maven.
- Решение этих проблем доступно по ссылке.
Изображения, связанные со службами:
Изображение сервиса Eureka доступно для просмотра по адресу: http://47.106.144.24:1001/.
Комментарии ( 0 )