Introduction to the mall

  • Github micro service

  • Github Mall front-end project -Vue

  • Project consists of business cluster system + background management system, through the development of distributed development skills, and whole stack contains both before and after the separation of the whole development of stack, Restful interface, data validation, gateway, registered found, allocation center, fusing, current limiting, demotion, link tracking, performance monitoring, pressure test, early warning system, cluster deployment, continuous integration, continuous deployment…

  • A complete e-commerce project, using the current popular technology to achieve, is a very good training project, work or daily accumulation of technology a perfect fusion

  • Ongoing update

Distributed Foundation – Full stack Development

  • SpringBoot+Vue+ Elder-UI + reverse engineering was used to build a full set of background management system. Based on the Docker environment, full-stack development was carried out by the way of front and back separation, taking the commodity system as an example

Distributed Advanced microservices Architecture

  • Develop the whole mall system, master the full set of micro services. Using SpringBoot+SpringCloud and supporting SpringCloud Alibaba series, introduce a full set of micro-service governance solutions: Nacos Registry/Configuration Center, Sentinel Traffic Protection System, Seata Distributed transaction &RabbitMQ flexible transaction scheme, SpringCloud-Gateway, Feign Remote Call, Sleuth+Zipkin link Tracking system, Spring Cache caching, SpringSession cross-subdomain Session synchronization scheme, ElasticSearch7 based full text retrieval, asynchronous choreography and thread pooling, stress test tuning, Redisson distributed locks, distributed semaphores, etc

Ha Cluster _ Architecture Enhancement

  • Based on Kubernetes cluster, integrate Kubesphere visual interface, build a full set of system environment. Use clustered deployment, including Redis Cluster Cluster, MySQL master/slave/sub table Cluster (using ShardingSphere) Cluster, RabbitMQ mirror queue Cluster, ElasticSearch high availability Cluster. Based on Kubesphere integration Jenkins full visualization CICD, complete Pipeline Pipeline preparation, parameterized construction + manual confirmation mode guarantee

Organizational structure

Project organization

Touch - air - mall ├ ─ ─ doc project related information ├ ─ ─ img - photo sample ├ ─ ─ markdown - project notes ├ ─ ─ nacos - nacos related configuration export ├ ─ ─ nginx, nginx configuration related ├ ─ ─ SQL - Database File ├─ Tool - Development Of Common Tools ├─ Mall - Auth-Server - Certification Services ├─ mall- Cart - Shopping Cart Service ├─ Mall - Common Tools and Code ├─ Mall coupon ├─ Mall Gateway ├─ Mall Member Service ├─ mall Order Service ├─ mall product Service ├── Mall-Search search Service ├─ Mall-SecKill Service ├─ Mall-test-Sso-Client ├─ Mall-test-Sso-Client2 Sso Client 2 ├─ Mall - Test - SSO-Server - SSO Server ├─ Mall - Third - Part - Third-party Service ├─ Mall - Ware - Warehouse Service ├─ Renren-Generator - All open source project code generator ├ ─ ─ renren - fast - all admin management background ├ ─ ─ Jenkinsfile - Jenkins configuration file └ ─ ─ renren - fast - all admin management backgroundCopy the code

Partial function demonstration

Goods and services

Level 3 classification

  • The tree display

  • Tree drag save

Brand management

  • Integration of the oss

Grouping attributes

  • Parent-child component interaction

  • Cascade selector

New Product release

  • Add new products, save spU, SKU and other basic information, release products, synchronize data to Es, and use subsequent retrieval services

    Check whether the ES was successfully written

Mall business

Mall homepage

  • Nginx domain name access – load balancing to gateway

  • Static separation – Static resources are stored directly in Nginx

  • Cache – Optimizes tertiary category fetching

Mall to retrieve

  • There are two ways to enter

    • The first: enter the mall home page click classification – mobile phone
    • The second: browser input address: search.mall.com/list.html
  • Retrieval condition

    • SkuTitle -> keyword

    • 2, ranking: saleCount (sales), hotScore (popularity), skuPrice (price)

    • 3, filtering: hasStock (available or not), skuPrice (price range), brandId (brandId can be selected), catalogId

    • 4. Aggregation: attrs (attributes)

    • Breadcrumb navigation

    • 6. Linkage between condition deletion and condition filtering

Goods details

  • Goods details

Social login

  • Social login

Single sign-on (sso)

  • Single sign-on effect demonstration

The shopping cart

  • Shopping cart Demo

Order business

  • Order creation, token verification, price verification, inventory lock

Distributed transaction

  • Reliable message pattern

pay

  • Sandbox environment demo:
    • Submit order, wait one minute without payment, message expired, close order, unlock inventory

      • Expected result: Alipay automatically receives orders, and cannot pay due to transaction timeout
    • The payment will be made immediately after the order is submitted, and the payment will be notified asynchronously

      • Expected Result: Order Status: Paid, inventory locked

Seconds kill service

  • Commodity kill demo: validation validity, semaphore reduction, idempotent Settings, MQ peak clipping

Sleuth+Zipkin service link tracing

  • Results demonstrate

Pipelining builds microservices

  • Pipeline demonstration

Technology selection

The back-end technology

technology instructions website
SpringBoot Container +MVC framework Spring. IO/projects/sp…
SpringCloud Microservices Architecture Spring. IO/projects/sp…
SpringCloudAlibaba A series of components Spring. IO/projects/sp…
MyBatis-Plus ORM framework mp.baomidou.com
Elasticsearch Search engine Github.com/elastic/ela…
RabbitMQ The message queue www.rabbitmq.com
Springsession Distributed cache The projects. Spring. IO/spring – sess…
Redisson A distributed lock Github.com/redisson/re…
Docker Application container engine www.docker.com
OSS Object Cloud Storage Github.com/aliyun/aliy…

Architecture diagram

System Architecture Diagram

Business Architecture Diagram