1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/itxinfei-gmall

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Высокая производительность и тестирование под нагрузкой, кластеры MySQL/чтение и запись, распределенные кластеры поиска Elasticsearch, кластеры кэширования Redis, Nginx+Lua распределенное ограничение скорости, Redis+Lua распределенные блокировки, интерфейсы Alipay, виртуализация контейнеров Docker, решения для высокопроизводительных распродаж, промежуточное программное обеспечение RabbitMQ для обмена сообщениями, MyCat для разделения баз данных, Canal для извлечения binlog MySQL, Servlet 3.0 для асинхронного изоляции потоков и асинхронного планирования.

🛒 Gmall电商平台

Одностраничное решение для электронной коммерции | Поддерживает управление товарами, обработку заказов, интеграцию платежей, систему пользователей

JDK Maven Spring Boot Spring Cloud MyBatis Plus MySQL Nacos Seata Swagger Lombok Druid Shiro Hutool Aliyun OSS Kaptcha Joda-Time

## 📌 Введение в проект **Gmall** — это открытая платформа электронной коммерции для малых и средних предприятий, поддерживающая весь процесс управления, начиная с загрузки товаров, обработки заказов и заканчивая расчетами. Цели проектирования: - **Высокая доступность** : микросервисная архитектура для горизонтального масштабирования - **Гибкость бизнеса** : модульное проектирование для поддержки различных моделей электронной коммерции (B2C/B2B/групповые покупки) - **Оптимизация производительности** : кэши Redis, асинхронные очереди сообщений, распределенные транзакции для обеспечения надежности### 🎯 Основные ценности - **Готовое к использованию** : предоставляет полный набор модулей электронной коммерции, снижая затраты на вторичное развитие - **Фронтовые технологии** : использует современные технологии, такие как Spring Cloud Alibaba, RocketMQ, Seata - **Данные в центре** : интеграция ECharts для визуализации отчетов, поддержка реального времени анализа продаж

🧩 Пользовательские порты

Тип порта Описание функций Техническая реализация
Административный интерфейс Управление товарами, проверка заказов, мониторинг запасов, настройка акций Vue3 + Element Plus
Приложение пользователя Обзор товаров, оформление заказа, оплата, отслеживание заказа, подача заявки на обслуживание Weex + WebSocket для реального времени уведомлений
Порт регистрации продавцов Управление магазином, публикация товаров, расчеты React + Ant Design

---## 📐 Архитектура проекта

Обзор архитектуры

Архитектура системы Основные принципы проектирования :

  • Микросервисная архитектура : разделение на 8 бизнес-доменов с использованием Spring Cloud Alibaba
  • Слои данных : разделение OLTP (MySQL) и OLAP (ClickHouse)
  • Множественные уровни кэширования : кэши Redis для горячих данных + Caffeine для локального кэширования### Подробное описание микросервисной архитектуры
    Микросервисная архитектура Разделение сервисов :
  1. gmall-auth : центральное управление аутентификацией (JWT + OAuth2)
  2. gmall-gateway : API-шлюз (маршрутизация/ограничение трафика/отключение)
  3. gmall-product : сервис управления товарами (Elasticsearch для полнотекстового поиска)
  4. gmall-order : сервис управления заказами (Seata для распределенных транзакций)
  5. gmall-payment : сервис управления платежами (песочная площадка Alipay/SDK WeChat Pay)
  6. gmall-wms : сервис управления складом (уменьшение/блокировка запасов)
  7. gmall-report : сервис отчетов (ECharts для визуализации)
  8. gmall-config : сервис управления конфигурациями (динамическое управление конфигурациями с помощью Nacos)---

🧱 Техническая архитектура

Основные технологии

Уровень Технологический выбор
Передний конец Vue3 + React + Weex + ECharts + Vant
Шлюз Spring Cloud Gateway + Sentinel
Уровень сервисов Spring Boot 2.7 + MyBatis Plus + MapStruct
Очереди сообщений RocketMQ 4.9 + Kafka 3.0
Уровень данных MySQL 8.0 + Redis 6.2 + ClickHouse 22.3
Средние слои Nacos 2.1 + Seata 1.6 + XXL-JOB
Мониторинг Prometheus + Grafana + SkyWalking

📊 Общая бизнес-логика

Основные процессы:

  1. Загрузка товаров: Продавец загружает товары → Elasticsearch синхронизирует индексы
  2. Процесс оформления заказа: Предварительное снятие запасов → Создание заказа → Асинхронное сообщение для оповещения о платеже
  3. Обратный вызов платежа: Возврат от Alipay/WeChat → Асинхронная обработка RocketMQ для изменения статуса заказа
  4. Процесс после продажи: Пользователь подает заявку на возврат → При одобрении запускается распределенная транзакция Seata для отката

📁 Подробное описание модулей

Основные бизнес-модули

1. Сервис товаров (gmall-product)

  • Поддержка управления несколькими вариантами SKU (цвет/размер/запас)
  • Elasticsearch для поиска товаров (токенизация/агрегация запросов)
  • Интеграция загрузки файлов с MinIO (поддержка хранения изображений/видео)

2. Сервис заказов (gmall-order)

  • Seata для обеспечения согласованности транзакций при оформлении заказа, снятии запасов и платеже
  • Стратегия распределения заказов (хеширование по ID пользователя)
  • Автоматическое закрытие заказа при превышении времени (задержка RabbitMQ)

3. Сервис платежей (gmall-payment)

  • Интеграция сandbox Alipay/SDK WeChat платежа
  • Постоянное хранение записей платежей (MySQL + Redis двойное написание)
  • Система сверки платежей (регулярные задачи для проверки различий заказов)#### 4. Сервис управления запасами (gmall-wms)
  • Стратегия снятия запасов (оптимистическая блокировка для предотвращения перепродажи)
  • Механизм предупреждения запасов (уведомление по пороговым значениям)
  • Управление складами (поддержка синхронизации запасов в нескольких местах)

💾 Дизайн баз данных

Имя базы данных Объем данных Основные таблицы
gmall_product 5 миллионов+ Таблица товаров (содержит поля SPU/SKU, категории, атрибуты)
gmall_order 1 миллиард+ Основная таблица заказов + дочерние таблицы (разделены по месяцам, реализовано ShardingSphere)
gmall_payment Временная запись Таблица записей о платежах (индексация номеров транзакций Alipay/WeChat)
clickhouse_log 10 миллиардов+ Таблица логов поведения пользователей (реальное время анализа данных)

🧰 Развертывание и зависимости

Быстрое руководство по развертыванию

# 1. Установка зависимых компонентов
docker-compose up -d

# 2. Инициализация базы данных
mysql -u root -p gmall_product < sql/init_product.sql

# 3. Запуск микросервисов
mvn clean install && java -jar gmall-gateway.jar

Пользовательские зависимости Maven

<!-- Модуль поиска товаров -->
<dependency>
  <groupId>com.gmall</groupId>
  <artifactId>gmall-es-sdk</artifactId>
  <version>1.0.0</version>
</dependency>
```<!-- Инструменты для оплаты -->
<dependency>
  <groupId>com.gmall</groupId>
  <artifactId>gmall-payment-utils</artifactId>
  <version>1.0.0</version>
</dependency>

📦 Связанные репозитории

  1. Gmall-Общие права доступа

    • Предоставляет реализацию модели RBAC
    • Поддерживает изоляцию прав доступа для продавцов
  2. Gmall-Платформа анализа данных

    • Основана на реальном времени вычисления пользовательского поведения с использованием Flink
    • ClickHouse обеспечивает визуализацию на больших экранах

📝 Важные замечания

  1. Зависимости для развертывания

    • Необходимо установить JDK 1.8+, Maven 3.3+, Docker
    • Зависимые компоненты: Nacos, Redis, RocketMQ
  2. Инициализация данных

    # Инициализация базовых данных
    mysql -u root -p gmall_product < sql/init_base.sql
  3. Проверка логов

    • Директория логов: logs/gmall/*.log
    • Ключевые метрики для мониторинга: /actuator/prometheus

📱 Подписывайтесь на официальный WeChat

QR-код WeChat
🚀 Адрес проекта: https://gitee.com/itxinfei/gmall
👥 QQ-чат: 661543188
📧 Электронная почта для поддержки: 747011882@qq.com

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Шаньпиньхуай, также известный как Гули шоп, разработан с участием нескольких экспертов с платформы JD.com. Это интернет-проект B2C электронной коммерции, который служит в качестве прототипа JD.com, и включает полный набор функций, включая управление товарами, поиск товаров, детали товаров, корзину покупок, единую систему входа, заказы, оплату, р... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/itxinfei-gmall.git
git@api.gitlife.ru:oschina-mirror/itxinfei-gmall.git
oschina-mirror
itxinfei-gmall
itxinfei-gmall
master