Architectural Thinking Growth Series Tutorials (7) - Large E-commerce System Architecture Design

background

Large-scale e-commerce websites refer to websites with millions of daily user visits and tens of millions or even hundreds of millions of daily page views. There are not many e-commerce websites of this scale in China.

content

Architecture design is divided into two parts: application architecture design and infrastructure design

  • Application architecture design: refers to the business system architecture design that is most closely integrated with the business, such as e-commerce website architecture, supply chain system architecture, personalized recommendation engine architecture, and e-commerce search engine architecture
  • Infrastructure design: refers to the architecture design of the underlying system supporting middleware. The application system is built on the infrastructure, such as big data platform architecture design, cloud platform architecture design, service governance platform architecture design, distributed file storage architecture design

Large-scale e-commerce system architecture design

The goals and principles of system architecture design are: high availability, easy scalability, and low cost.

Based on such architecture design goals and principles, service-oriented and distributed are the main ideas of this architecture design.

  • Servitization: All core businesses are deposited to form various services for sharing by various business systems, and infrastructure-related resources are also provided in the form of services, including messages, file storage, and cache.
  • Distributed: Each layer and all resources in the system architecture are distributed, supporting smooth horizontal expansion.

From the perspective of technical architecture, the e-commerce website system can be divided into five layers: application layer, core service layer, basic service layer, data access layer, and data source. as the picture shows

E-commerce system architecture

Introduce the role of each layer and the main modules it contains:

  1. Application layer: It is a user-oriented application system that provides platforms for customers, merchants, employees and other roles, such as website pages, shopping carts, settlement centers, member centers, online customer service, merchant platforms, supplier platforms, and operation backgrounds. The application system implements specific business logic by invoking core services.
  2. Core service layer: encapsulate the core business logic and provide it in the form of service for calling by various application systems. Core services include transaction, payment, promotion, category maintenance, commodity management, store decoration, inventory operation, etc.
  3. Basic service layer: Encapsulate the atomic business and provide it in the form of service for calling by the core service layer. It should be noted here that in general, the application layer cannot directly call the basic service layer, that is to say, it cannot call services across layers. When the core service layer encapsulates a certain business logic, it often calls multiple interfaces of the basic service layer. The basic service layer includes orders, inventory, prices, users, products, points, etc.
  4. Data access layer: It is the middleware layer that realizes data access, and its functional modules include persistence components, transaction processing, connection pool, NoSQL client, SQL management toolbox, etc. Any data access must go through the data access layer, and it is not allowed to bypass the data access layer and directly access the database.
  5. Data source: Refers to database clusters, including Oralce, MySQL, Hadoop, Hbase, MangoDB, etc. Databases are generally deployed in clusters to implement active-standby mechanisms and read-write separation.

The above describes the things to be done at each layer. SOA is widely used in this architecture, so a service governance platform is required to manage services, such as supporting fault isolation, graceful degradation, and tracking the complete request life cycle. Quickly respond and locate problems, and can manage dependencies of all services.

In addition, the reading of data also requires caching middleware to reduce the number of requests to the data source, relieve the pressure on the database, and use multi-level caching and local caching reasonably according to the scenario. The caching must have active and passive update mechanisms to prevent Generation and misuse of dirty data.

At the same time, there must be a complete monitoring and early warning mechanism to monitor and warn hardware, databases, services, applications, containers, and middleware. The normal operation of the shopping process.

Finally, the overall website must be able to implement the deployment of multiple data centers to achieve performance improvement, access speed optimization, and disaster recovery.

 

Previous Chapter Tutorial

Architectural Thinking Growth Series Tutorials (6) - A Preliminary Study on Serverless Architecture

The series of tutorials

Architectural Thinking Growth Series Tutorials

my column

 

 

At this point, all the introductions are over

 

 

-------------------------------

-------------------------------

 

My CSDN homepage

About me (personal domain name, more information about me)

My open source project collection Github

 

I look forward to learning, growing and encouraging together with everyone , O(∩_∩)O Thank you

Welcome to exchange questions, you can add personal QQ 469580884,

Or, add my group number  751925591 to discuss communication issues together

Don't talk about falsehood, just be a doer

Talk is cheap,show me the code

Guess you like

Origin blog.csdn.net/hemin1003/article/details/114928578