В декабре прошлого года проект торгового центра был официально выпущен, как самый популярный проект электронной коммерции SpringBoot на Github, он собрал более 25 000 звезд. В этом году еще декабрь, версия микросервиса проекта торгового центра
mall-swarm
Официально выпущен с полной документацией и полным набором руководств по SpringCloud.
Введение в проект
mall-swarm
Это набор микросервисных торговых центров, использующих базовые технологии, такие как Spring Cloud Greenwich, Spring Boot 2, MyBatis, Docker, Elasticsearch и т. д., и предоставляет фон управления на основе Vue для облегчения и быстрого создания системы.mall-swarm
На основе бизнеса электронной коммерции интегрированы системные функции, такие как центр регистрации, центр конфигурации, центр мониторинга и шлюз.
Диаграмма архитектуры системы
организационная структура
mall
├── mall-common -- 工具类及通用代码模块
├── mall-mbg -- MyBatisGenerator生成的数据库操作代码模块
├── mall-security -- 封装SpringSecurity+JWT的安全认证的模块
├── mall-registry -- 基于Eureka的微服务注册中心
├── mall-config -- 基于Spring Cloud Config的微服务配置中心
├── mall-gateway -- 基于Spring Cloud Gateway的微服务API网关服务
├── mall-monitor -- 基于Spring Boot Admin的微服务监控中心
├── mall-admin -- 后台管理系统服务
├── mall-search -- 基于Elasticsearch的商品搜索系统服务
├── mall-portal -- 移动端商城系统服务
└── mall-demo -- 微服务远程调用测试服务
проектная документация
- проектная документация
mall
Серия уроков:www.macrozheng.com - Упаковка
Spring Cloud
Серия уроков:GitHub.com/macro-positive/…
Демонстрация проекта
- Система управления фоном:woohoo.macrozheng.com/admin/index…
- Мобильная торговая система:woohoo.macrozheng.com/app/index. Также…
Технический отбор
Бэкэнд-технология
Технологии | инструкция |
---|---|
Spring Cloud | Микросервисная структура |
Spring Boot | Контейнер + MVC-фреймворк |
Spring Security | Платформа аутентификации и авторизации |
MyBatis | структура ORM |
MyBatisGenerator | Генерация кода уровня данных |
PageHelper | Плагин физического пейджинга MyBatis |
Swagger-UI | инструмент для производства документов |
Elasticsearch | поисковый движок |
RabbitMq | очередь сообщений |
Redis | Распределенный кеш |
MongoDb | База данных NoSql |
Docker | Механизм контейнера приложений |
Druid | пул соединений с базой данных |
OSS | хранилище объектов |
JWT | Поддержка входа в JWT |
LogStash | сбор журналов |
Lombok | Упрощенный инструмент инкапсуляции объектов |
Seata | Глобальная структура управления транзакциями |
Передовая технология
Технологии | инструкция |
---|---|
Vue | внешний фреймворк |
Vue-router | структура маршрутизации |
Vuex | Глобальная структура управления состоянием |
Element | Интерфейсный фреймворк пользовательского интерфейса |
Axios | Внешний HTTP-фреймворк |
v-charts | Платформа построения диаграмм на основе Echarts |
Строительство окружающей среды
Настройка среды разработки
mall-swarm
среда, используемая в иmall
В проекте примерно так же, подробности можно посмотретьРазвертывание торгового центра в среде Windows.
Простой процесс построения окружения:
- Установите IDEA и импортируйте исходный код проекта;
- Установите MySql, создайте
mall
базу данных и импорт/document/sql/mall.sql
документ; - Установите Redis, Elasticsearch, MongoDB, RabbitMQ и другие среды.
Развертывание проекта
mall-swarm
Существует порядок, в котором запускается проект, и каждый должен запускать его в следующем порядке.
Запустите реестрmall-registry
- Просто запустите основную функцию com.macro.mall.MallRegistryApplication напрямую;
- После завершения операции вы можете просмотреть ее через консоль реестра:http://localhost:8001
Запустить Центр конфигурацииmall-config
- Просто запустите основную функцию com.macro.mall.MallConfigApplication напрямую;
- Получите доступ к следующим интерфейсам, чтобы получить информацию о конфигурации mall-admin в среде разработки:http://localhost:8301/master/admin-dev.yml
Запустить Центр мониторингаmall-monitor
- Просто запустите основную функцию com.macro.mall.MallMonitorApplication напрямую;
- После завершения операции вы можете просмотреть ее через консоль центра мониторинга:http://localhost:8101
- Введите пароль учетной записи
macro:123456
Вы можете авторизоваться для просмотра.
Запустите службу шлюзаmall-gateway
- Просто запустите основную функцию com.macro.mall.MallGatewayApplication напрямую;
- Получите доступ к следующим интерфейсам для получения правил динамической маршрутизации:http://localhost:8201/actuator/gateway/routes
Запустите службу управления фономmall-admin
- Просто запустите основную функцию com.macro.mall.MallAdminApplication напрямую;
- пройти через
mall-gateway
Документация по интерфейсу доступа к сервису шлюза:http://localhost:8201/mall-admin/swagger-ui.html
- Адрес интерфейса входа:http://localhost:8201/mall-admin/admin/login
- Получите доступ к интерфейсу входа в систему, чтобы получить токен, и поместите информацию заголовка аутентификации для доступа к другим интерфейсам, которые должны быть зарегистрированы в обычном режиме:
Запустить службу переднего планаmall-portal
- Просто запустите основную функцию com.macro.mall.portal.MallPortalApplication напрямую;
- пройти через
mall-gateway
Документация по интерфейсу доступа к сервису шлюза:http://localhost:8201/mall-portal/swagger-ui.html
- Адрес интерфейса входа:http://localhost:8201/mall-portal/sso/login
- Метод вызова интерфейса, который необходимо авторизовать, такой же, как
mall-admin
.
Запустить службу поискаmall-search
- Просто запустите основную функцию com.macro.mall.search.MallSearchApplication напрямую;
- пройти через
mall-gateway
Документация по интерфейсу доступа к сервису шлюза:http://localhost:8201/mall-search/swagger-ui.html
Запустить тестовую службуmall-demo
- Просто запустите основную функцию com.macro.mall.MallAdminApplication напрямую;
- пройти через
mall-gateway
Документация по интерфейсу доступа к сервису шлюза:http://localhost:8201/mall-demo/swagger-ui.html
- Вы можете протестировать функцию удаленного вызова с помощью Feign, вызвав FeignAdminController, FeignPortalController и FeignSearchController.
Показать результаты
- Информация об услугах регистрационного центра:
- Обзорная информация об услугах Центра мониторинга:
- Детали единого приложения центра мониторинга:
Расширенные решения
- Если вы хотите использовать
Consul
В качестве центра регистрации и настройки см.:Spring Cloud Consul: Центр управления и настройки служб - Если вы хотите использовать
Nacos
В качестве центра регистрации и настройки см.:Spring Cloud Alibaba: Nacos используется как центр регистрации и настройки -
分布式事务
Для решения, пожалуйста, обратитесь к:Используйте Seata для полного решения проблем с распределенными транзакциями в Spring Cloud! -
ELK
Для построения системы сбора логов см.:Приложение SpringBoot интегрирует ELK для сбора журналов.
адрес проекта
Открытый исходный код — это непросто, друзья, которые считают этот проект полезным, могут
点个Star
Поддержите меня!
публика
проект торгового центраПолный набор учебных пособий сериализуется,Обратите внимание на публичный аккаунтПолучите это прямо сейчас.