Posts

Showing posts with the label Kafka

Deploy Scalable E-Commerce Application on Azure with Spring Boot, Kafka, Okta, and ELK

Image
This architecture diagram represents a high-level deployment of a Spring Boot-based eCommerce platform on Azure Cloud , incorporating microservices, authentication, logging, and monitoring. Key Components: 1️⃣ Frontend (Angular) Deployed on Azure App Service . Uses Azure Front Door as a load balancer for routing user requests. Routes API requests through Azure API Management . 2️⃣ Authentication (Okta) Uses OAuth2 via Okta for authentication and securing APIs. Ensures secure access to backend services. 3️⃣ Backend (Spring Boot Microservices) Hosted on Azure Kubernetes Service (AKS) for scalability. Handles business logic and API calls. Consumes & publishes events via Kafka (Azure Event Hubs) . 4️⃣ Data Storage PostgreSQL (Azure DB) for structured data (e.g., orders, users). MongoDB (Azure Cosmos DB) for NoSQL data (e.g., product catalogs). Redis (Azure Cache) for caching to improve performance. 5️⃣ Monitoring & Logging Prometheus & Grafana for performance monitori...

Spring Boot + Kafka - Producer and Consumer Example

Image
  In this section, we will learn how to do asynchronous communication using  Kafka  in  Spring Boot  application. We will develop two Spring Boot applications, one  producer  and one  consumer  application, then  we will learn how to use  Kafka  in the Spring boot application to send and receive messages between the Producer and the Consumer. In the digital world, different systems are constantly sending or receiving messages. This must be carried out in a controlled manner so that messages do not block each other, end up creating a jam and processes cannot function optimally. In order for applications to be able to communicate with each other easily, it makes sense to create an intermediary, that is, a service that is responsible for managing the distribution of messages: this is what is known as a  messaging broker .  Kafka , one of the best known. 1.  What we will build? We will develop two Spring Boot ap...