Звезда Github 25K+Star, фактический торговый центр электронной коммерции SpringBoot выпустил версию SpringCloud!

Spring Boot
Звезда Github 25K+Star, фактический торговый центр электронной коммерции SpringBoot выпустил версию SpringCloud!

В декабре прошлого года проект торгового центра был официально выпущен, как самый популярный проект электронной коммерции 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 -- 微服务远程调用测试服务

проектная документация

Демонстрация проекта

Технический отбор

Бэкэнд-технология

Технологии инструкция
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.

Показать результаты

  • Информация об услугах регистрационного центра:

  • Обзорная информация об услугах Центра мониторинга:

  • Детали единого приложения центра мониторинга:

Расширенные решения

адрес проекта

Открытый исходный код — это непросто, друзья, которые считают этот проект полезным, могут点个StarПоддержите меня!

GitHub.com/macro-positive/…

публика

проект торгового центраПолный набор учебных пособий сериализуется,Обратите внимание на публичный аккаунтПолучите это прямо сейчас.

公众号图片