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

OSCHINA-MIRROR/cabbage-z-CRMD

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

Проект Spring Cloud

Архитектура

Spring Cloud + Spring Boot + Sharding-jdbc + Maven многоуровневое управление модулями

MAVEN модули

  • crmd-server: (8761) Сервер регистрации сервисов
  • crmd-gateway: (8080) Веб-шлюз (валидация, распределение нагрузки)
  • crmd-web: (8081) API-интерфейсы
  • crmd-goods-service: (8082) Модуль товаров (интегрирован с Sharding-jdbc от Dangdang.com)
  • crmd-order-service: (8083) Модуль заказов (интегрирован с Sharding-jdbc от Dangdang.com)
  • crmd-user-service: (8084) Модуль пользователей (интегрирован с Sharding-jdbc от Dangdang.com)
  • crmd-model: Все модули сущностей
  • crmd-common: Общий модуль (классы-помощники, ресурсы и т.д.)
  • crmd-config: Центр конфигураций (концентрирование проектной конфигурации для удобства управления)### Информация о базах данных (разделение на базы данных и таблицы, динамическое масштабирование в процессе решения)
  1. Модуль товаров
    • База данных: crmd_goods_{1~2}
    • Таблица: goods_{0~1}
    • SQL:
    CREATE TABLE `goods_{0~1}` (
      `id` bigint(20) NOT NULL COMMENT 'Идентификатор товара',
      `goods_name` varchar(255) NOT NULL COMMENT 'Название товара',
      `stock` int(11) NOT NULL COMMENT 'Запас товара',
      `create_time` datetime NOT NULL COMMENT 'Дата создания',
      `price` decimal(11,2) NOT NULL COMMENT 'Цена товара',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Таблица товаров';
  2. Модуль заказов
    • База данных: crmd_order_{1~2}
    • Таблица: order_{0~1}
    • SQL:
    CREATE TABLE `order_{0~1}` (
      `id` bigint(20) NOT NULL,
      `goods_id` bigint(20) NOT NULL COMMENT 'Идентификатор товара',
      `quantity` int(11) NOT NULL COMMENT 'Количество товара',
      `total_money` decimal(11,2) NOT NULL COMMENT 'Общая сумма заказа',
      `create_time` datetime NOT NULL COMMENT 'Дата создания',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Таблица заказов';
    ```**Стратегия разделения на базы данных и таблицы:**
  • Разделение на базы данных: (ID / 100) % 2
  • Разделение на таблицы: (ID / 10) % 2

SQL-файлы баз данных находятся в архиве database.zip

Схема текущего архитектурного дизайна (в процессе доработки)

Сервисный центр

Два сервера регистрации сервисов (взаимная регистрация):

  • ip239: 192.168.1.239:8761
  • ip251: 192.168.1.251:8761

Панель мониторинга отказоустойчивости (Hystrix Dashboard)

Запустите standalone-hystrix-dashboard-1.5.6-all.jar, откройте страницу мониторинга по адресу http://localhost:7979/hystrix-dashboard, введите адрес мониторинга: http://localhost:8080/hystrix.stream, нажмите кнопку "Добавить поток" и затем "Мониторировать потоки".### Панель документации API (Swagger2) Функционал: просмотр и тестирование открытых API-интерфейсов Адрес: http://localhost:8080/swagger-ui.html#Проверка JWT (ROUGH VERSION, TO BE IMPROVED)

1: Сначала запросите адрес входа: http://localhost:8080/api/test/login с параметрами: account: admin password: admin Получите токен доступа:

{
    "data": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. eyJpc3MiOiJBa3VtYSIsImF1ZCI6IjEwMDAwIiwiZXhwIjoxNDc3MjkxNDU0LCJpYXQiOjE0NzcyODQyNTR9. 1h1q6ZYHOZIMjIXP28s8kiptn8XuJMzu0memcgZ2vR4",
    "errCode": "00",
    "errMsg": "Успешный вход"
}

2: Кроме точки входа, в заголовках всех остальных запросов добавьте Authorization со значением "Bearer [полученного ранее токена]".

Тестирование распределённых транзакций (НЕЗАВЕРШЕННО)

Моделирование бизнес-сценария: покупатель делает заказ, модуль заказов добавляет запись, одновременно изменяется количество закупленных товаров в модуле товаров.

Недавно начал использовать Spring Cloud для разработки корпоративных проектов, этот Demo временно не будет обновлён.

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

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

Введение

Спринг Клауд + Спринг Бут + Шардинг-ДжейСиБи + Мейвен Развернуть Свернуть
Отмена

Обновления

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

Участники

все

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

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