Build an Online Store With MongoDB, Node.js, and Elasticsearch
Check out the following infographics and brief break-down to help you visualize and understand the decisions involved in choosing a microservice architecture.
Join the DZone community and get the full member experience.Join For Free
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.
Published at DZone with permission of Siva Prasad Rao Janapati, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.