Электронный коммерческий проект
Проект электронной коммерции: введение
Проект электронной коммерции Taoshop. Код проекта передан сообществу Open Source China: https://www.oschina.net/p/taoshop.
Открытый коммерческий проект, реализованный на основе технологий SpringBoot и Dubbo, представляет собой микросервисную архитектуру для создания распределённой системы электронного магазина. (Разработка продолжается.)
Открытый протокол
Taoshop использует открытый протокол Apache 2.0.
Функции
Портал:
Платформа управления:
Стек технологий
Структура каталога платформы
├─taoshop---------------------------- родительский проект, общие зависимости
│ │
│ ├─taoshop-search-------------------------- глобальный поиск
│ │
│ ├─taoshop-quartz----------------------- система планирования задач
│ │
│ ├─taoshop-sso------------------------- система единого входа
│ │
│ ├─taoshop-portal-------------------------- портал сайта
│ │
│ ├─taoshop-cms-------------------------- платформа CMS
| |
| |─taoshop-order-------------------------- система заказов платформы
│ │
│ ├─paascloud-provider
│ │ │
│ │ │
│ │ ├─taoshop-provider-usc------------------ центр информации о пользователях
| | |
| | |-taoshop-provider-item------------------ информация о товарах
| | |
| | |-taoshop-provider-shop------------------ информация о магазине
│ │ │
│ │ └─taoshop-provider-order------------------ информация об заказах
│ │
│ ├─taoshop-provider-api
│ │ │
│ │ │-taoshop-provider-api-usc------------------ API центра информации о пользователях
| | |
| | |-taosho-provider-api-item------------------ API информации о товарах
| | |
| | |-taoshop-provider-api-shop------------------ API информации о магазине
| | |
│ │ └─taoshop-provider-api-order------------------ API информации об заказах
│ │
│ ├─taoshop-common
│ │ │
│ │ ├─taoshop-common-core------------------ основные зависимости платформы
│ │ │
│ │ ├─taoshop-common-zk------------------ конфигурация zookeeper
│ │ │
│ │ ├─taoshop-common-quartz------------------ система планирования задач
│ │ │
│ │ ├─taoshop-security-core------------------ ядро безопасности
│ │ │
│ │ └─taoshop-security-auth2------------------ аутентификация и авторизация API
│ │
Архитектура проекта

Демонстрация функций платформы
Вход в систему управления: 
Страница управления заказами: 
Приложение
Сначала приводится диаграмма из официальной документации Dubbo, которая иллюстрирует эволюцию архитектуры. Затем автор объясняет своё понимание этой эволюции.
Приложения изначально были монолитными, то есть включали в себя все модули приложения.
Затем появилась вертикальная архитектура приложений, когда система была разделена на несколько модулей приложений.
Далее возникла архитектура RPC, где ранее вертикальные приложения представляли собой обмен данными внутри одного процесса, а RPC — это обмен данными между процессами, то есть удалённый вызов процедур.
После появления RPC стало возможным осуществлять обмен данными между процессами. Однако при использовании серверов в кластере распределение ресурсов иногда может привести к их неэффективному использованию. Например, если есть система, обычно невозможно точно предсказать, сколько машин потребуется для её работы. В результате может возникнуть ситуация, когда часто используемые модули получают недостаточно машин, а редко используемые — слишком много. Это не позволяет эффективно использовать ресурсы, поэтому возникла SOA (Service Oriented Architecture), которая представляет собой центр регистрации служб и позволяет более рационально распределять ресурсы и повышать эффективность управления ими.
Понимая эволюцию архитектуры, можно лучше понять концепцию распределённости. Распределённость фактически представляет собой архитектурный подход, который позволяет различным процессам обмениваться данными. Обычно это реализуется через фреймворки RPC, такие как Dubbo или Spring Cloud.
RPC (Remote Procedure Call) — это способ взаимодействия между процессами, позволяющий вызывать процедуры на удалённом компьютере.
В RPC есть два ключевых компонента: коммуникация и сериализация.
Dubbo — это фреймворк Java RPC от Alibaba, который теперь открыт под лицензией Apache. Официальный сайт: http://dubbo.apache.org/.
a) Интеллектуальное обнаружение сбоев и балансировка нагрузки. b) Регистрация и обнаружение служб. c) Вызов методов интерфейса на расстоянии.
Приведённая выше диаграмма взята из официальной документации Dubbo. Она описывает роли и принципы работы в системе.
Роли:
Provider — поставщик услуг. Container — контейнер, в котором выполняется служба. Consumer — потребитель услуг, вызывающий удалённые службы. Registry — реестр служб, отвечающий за регистрацию и обнаружение сервисов. Monitor — компонент, отслеживающий количество вызовов и время выполнения служб.
Процесс вызова:
Согласно пониманию автора, процесс вызова происходит следующим образом:
Сообщение очереди
Поиск двигателя
Dubbo
Распределённая блокировка
SpringBoot
Mybatis
Кэш
Шаблоны проектирования Создание шаблонов
Структурные шаблоны
Поведенческие шаблоны
Oracle знания
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )