In this decade, technology disruption is happening so frequently. Just look at the e-Commerce platforms built on Java/.Net/PHP etc… each using traditional application servers backed up by RDBMS. When traffic is increased, you may come across issues with scalability, site responsiveness, etc. To overcome this you may try using techniques like increasing the amount of servers, hardware, load balancing, etc. In this article, we will discuss the technical architecture of an e-commerce system by using industry proven technologies like MongoDB, Node.js, and Elasticsearch. These tools will help enable us to scale horizontally, utilize less system resources, and take advantage of non-blocking I/O to handle more traffic.
The technical architecture of the system is provided below.
Microservices: Choose a microservices architecture by considering the below points:
- Easy to scale out horizontally based on the demand.
- System resilience. We can achieve high availability.
- There is a scope to extend/replace the functionality without a major impact on the entire system.
Based on the microservices architecture paradigm, the above system is divided into the following services.
- Product Catalog Search Service
- User Registration service
- User Login Service
- Shopping Cart Service
- Product Detail Page Service
- Checkout Service
The data flow of the above system is given below.
In the next article, we will discuss the technology stack required to build the above system.