# exrick/xmall

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/exrick-xmall).**

7,232 stars · 2,528 forks · Java · GPL-3.0

## Links

- GitHub: https://github.com/Exrick/xmall
- Homepage: http://xmall.exrick.cn
- awesome-repositories: https://awesome-repositories.com/repository/exrick-xmall.md

## Topics

`dubbo` `elasticsearch` `mq` `redis` `shiro` `soa` `ssm` `vue`

## Description

xmall is a distributed e-commerce platform based on a service-oriented architecture. It separates business logic into independent services that communicate over a network to ensure scalability and fault tolerance, utilizing a decoupled storefront interface for customer transactions.

The platform employs a distributed architecture using Dubbo for service orchestration and Zookeeper for cluster coordination and service discovery. It integrates a specialized set of components including an asynchronous message broker for background tasks, an indexed search system for product catalogs, and a centralized authentication system to manage user permissions and single sign-on.

The system covers a broad range of operational capabilities, including order fulfillment, user account management, and store administration. It also includes traffic management through reverse proxy load balancing and observability tools for monitoring service performance and analyzing user behavior.

## Tags

### Business & Productivity Software

- [Distributed E-commerce Platforms](https://awesome-repositories.com/f/business-productivity-software/distributed-e-commerce-platforms.md) — Provides a complete distributed e-commerce platform combining a Vue.js storefront with a Dubbo-based service architecture.
- [E-commerce Platforms](https://awesome-repositories.com/f/business-productivity-software/e-commerce-platforms.md) — Provides a scalable distributed e-commerce platform with separate frontend and backend systems for retail operations.
- [E-commerce Administration Interfaces](https://awesome-repositories.com/f/business-productivity-software/e-commerce-administration-interfaces.md) — Provides a centralized administrative interface for managing product catalogs, user permissions, and system logs.
- [Storefront Operations](https://awesome-repositories.com/f/business-productivity-software/online-shopping-experiences/storefront-operations.md) — Provides a comprehensive storefront for customers to browse products, manage accounts, and execute retail transactions. ([source](https://cdn.jsdelivr.net/gh/exrick/xmall@master/README.md))
- [Order Fulfillment](https://awesome-repositories.com/f/business-productivity-software/order-fulfillment.md) — Executes the full lifecycle of customer orders, including placement, status updates, and automated transaction processing. ([source](https://cdn.jsdelivr.net/gh/exrick/xmall@master/README.md))
- [Remote Store Operations](https://awesome-repositories.com/f/business-productivity-software/remote-store-operations.md) — Provides a centralized administrative interface to coordinate products, categories, user permissions, and system logs. ([source](https://cdn.jsdelivr.net/gh/exrick/xmall@master/README.md))

### Software Engineering & Architecture

- [Distributed Service Architectures](https://awesome-repositories.com/f/software-engineering-architecture/distributed-service-architectures.md) — Implements a service-oriented architecture that decomposes business logic into independent, scalable network services.
- [Backend-Frontend Decoupling](https://awesome-repositories.com/f/software-engineering-architecture/backend-frontend-decoupling.md) — Separates the Vue.js storefront interface from backend processing logic via a RESTful API.
- [Distributed Cluster Coordination](https://awesome-repositories.com/f/software-engineering-architecture/distributed-cluster-coordination.md) — Uses Zookeeper for synchronizing cluster state and coordinating service discovery across nodes.
- [Service Discovery Registries](https://awesome-repositories.com/f/software-engineering-architecture/service-discovery-registries.md) — Maintains a dynamic registry of service locations and health status for distributed discovery. ([source](https://github.com/Exrick/xmall/blob/master/study/Dubbo.md))

### Data & Databases

- [Full-Text Search Indexes](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/full-text-search-indexes.md) — Employs full-text search indexing to enable fast keyword retrieval of product catalogs.
- [Product Search Engines](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-and-indexing/product-search-engines.md) — Implements a high-performance indexed search system optimized for retrieving items from a large product catalog. ([source](https://cdn.jsdelivr.net/gh/exrick/xmall@master/README.md))
- [Distributed Caches](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/caching-performance/caching/distributed-caches.md) — Provides a shared memory layer to cache frequently accessed data across distributed nodes.
- [Distributed Memory Caches](https://awesome-repositories.com/f/data-databases/in-memory-caches/distributed-memory-caches.md) — Implements in-memory storage distributed across network nodes to reduce database load.

### Development Tools & Productivity

- [Search-Index-Based Retrieval](https://awesome-repositories.com/f/development-tools-productivity/search-indexing-tools/search-index-based-retrieval.md) — Uses an inverted index for high-performance retrieval of items based on user search queries.

### DevOps & Infrastructure

- [Service Registration Mechanisms](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure/cloud-computing-serverless/backend-as-a-service/service-registration-mechanisms.md) — Maps service addresses in a directory structure for provider and consumer discovery. ([source](https://github.com/Exrick/xmall/blob/master/study/Zookeeper.md))
- [Message Queues](https://awesome-repositories.com/f/devops-infrastructure/message-queues.md) — Utilizes an asynchronous message broker to decouple services and handle high-volume background tasks.
- [Service Orchestration](https://awesome-repositories.com/f/devops-infrastructure/service-orchestration.md) — Implements service lifecycle and discovery using Dubbo and Zookeeper to ensure high availability and load balancing.
- [Service Registries](https://awesome-repositories.com/f/devops-infrastructure/service-registries.md) — Uses a centralized coordinator to register service providers and facilitate network discovery.
- [Distributed Messaging](https://awesome-repositories.com/f/devops-infrastructure/distributed-messaging.md) — Employs a distributed messaging system to manage task queuing and asynchronous communication across the service architecture.
- [Load Balancing](https://awesome-repositories.com/f/devops-infrastructure/load-balancing.md) — Balances requests across available service providers using soft load balancing algorithms to ensure failover. ([source](https://github.com/Exrick/xmall/blob/master/study/Dubbo.md))

### Security & Cryptography

- [Identity Management Systems](https://awesome-repositories.com/f/security-cryptography/identity-management-systems.md) — Manages user authentication and permission mapping across services to enable single sign-on.
- [Single Sign-On](https://awesome-repositories.com/f/security-cryptography/single-sign-on.md) — Implements a unified authentication system to share identities and permissions across multiple interconnected store services.
- [Single Sign-On Solutions](https://awesome-repositories.com/f/security-cryptography/single-sign-on-solutions.md) — Implements a system that allows users to authenticate once for access to multiple interconnected store services. ([source](https://cdn.jsdelivr.net/gh/exrick/xmall@master/README.md))
- [User Authentication Systems](https://awesome-repositories.com/f/security-cryptography/user-authentication-systems.md) — Uses the Shiro framework to manage user authentication, session handling, and access control across services.

### System Administration & Monitoring

- [User Account Management](https://awesome-repositories.com/f/system-administration-monitoring/user-account-management.md) — Manages member profiles, digital coupons, and order history tracking through a dedicated user account system. ([source](https://cdn.jsdelivr.net/gh/exrick/xmall@master/README.md))
- [Metric and Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors.md) — Tracks call frequency and execution time across service providers and consumers to monitor overall system performance. ([source](https://github.com/Exrick/xmall/blob/master/study/Dubbo.md))

### Web Development

- [Vue 3 Storefronts](https://awesome-repositories.com/f/web-development/e-commerce-storefront-builders/vue-3-storefronts.md) — Ships a decoupled storefront interface built with Vue.js for customer product browsing and account management.

### Networking & Communication

- [Weighted Load Balancing](https://awesome-repositories.com/f/networking-communication/load-balancers/weighted-load-balancing.md) — Distributes incoming traffic across backend servers using weighted load balancing algorithms.
- [Message Brokers](https://awesome-repositories.com/f/networking-communication/message-brokers.md) — Utilizes an ActiveMQ message broker to handle asynchronous communication and background tasks between microservices.
- [Proxy Traffic Management](https://awesome-repositories.com/f/networking-communication/traffic-proxying/proxy-traffic-management.md) — Manages virtual host configurations and forwards incoming requests to specific backend servers via a reverse proxy. ([source](https://github.com/Exrick/xmall/blob/master/study/Nginx.md))
