Ecommerce Microservices
Ecommerce Microservices
js E-commerce
Google Microservice Demo
Micro Marketplace
Product Microservice
The Product microservice is responsible for managing product-related
information, such as details, inventory, and pricing. It provides APIs for
retrieving product information, adding new products, and updating
existing ones.
Inter-Service gRPC for Inter-Service Communication
In this project, gRPC is the chosen protocol for inter-service
communication. Developed by Google, gRPC is an open-source Remote
Communication queue in RabbitMQ. This step ensures that the Order microservice
can consume and process the order.
2.The Order microservice listens for messages from the Order queue.
Upon receiving a message, it consumes the order details,
consolidates prices and products, and creates a new order in the
database.
3.Once the order is created, the Order microservice publishes the
products associated with the order to the Products queue. This step
validates the successful order and allows the Products microservice
to retrieve the order details.
4.The Products microservice listens for messages from the Products
queue. When a message is consumed, it retrieves the order details
and returns them as a response body to the /products/buy
endpoint call.
Micro
Marketplace
Micro Marketplace is a robust e-commerce
application built on a microservices architecture
using Spring technologies and other open-
source tools.
This platform leverages the power of Spring
Boot, Netflix Eureka, Spring Cloud Gateway, and
KeyCloak for service development, discovery,
gateway management, and security,
respectively.It incorporates Resilience4j for
resilient synchronous communication, and
Apache Kafka for seamless event-driven
asynchronous communication between
services.It offers extensive observability into the
application using Micrometer and Zipkin for
distributed tracing, and Prometheus and Grafana
for monitoring and visualization.With a focus on
scalability, resilience, and real-time interaction,
Micro Marketplace provides a robust foundation
for creating feature-rich online marketplaces.
Services Product Service
Responsible for managing product information, including creation,
retrieval, and updates. It uses a MongoDB database.
Order Service
Handles order management, including creating and retrieving orders. It
uses a MySQL database.
Inventory Service
Manages products inventory. It also uses a MySQL database.
Notification Service
A stateless service responsible for sending notifications to users
regarding their orders or other relevant updates.
Major Discovery Server: Netflix Eureka is employed for service registration
and discovery, allowing microservices to locate and interact with
each other dynamically.
Components
API Gateway: Spring Cloud Gateway is deployed to serve as the entry
point for all external requests, effectively routing traffic to the
appropriate microservices.
Auth Server: For robust authentication and authorization
mechanisms, KeyCloak is used to secure the microservices and
protect sensitive data.
Circuit Breaker: Resilience4j is used to maintain system reliability by
preventing cascading failures in microservices through circuit-
breaking mechanisms.
Message Broker: Apache Kafka forms the backbone of Micro
Marketplace's event-driven architecture, facilitating asynchronous
notification for orders.
Observability Stack: Distributed tracing is implemented to monitor
and troubleshoot requests as they traverse different microservices,
using Micrometer for metrics and Zipkin for tracing. Moreover,
Prometheus is used for collecting metrics, and Grafana for providing
a rich dashboard for visualizing and analyzing application
performance data.
Kaynak
Sayfası
Node.js E-commerce
https://github.com/nicholas-gcc/nodejs-ecommerce-microservice
https://medium.com/@nicholasgcc/building-scalable-e-commerce-
backend-with-microservices-exploring-design-decisions-node-js-
b5228080403b
Micro Marketplace
https://github.com/ibatulanandjp/ecommerce-microservices