# Architecture

## Notification Service **Architecture**

<div data-full-width="true"><figure><img src="https://308610995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4ZKyfmmhMWpPkD6iYvKF%2Fuploads%2FRys6jScTg7jV09ns5GzU%2FLMS-ServiceFlowDiagram-Notification%20Service.drawio.png?alt=media&#x26;token=2ae114d7-148c-483e-91b1-c5498d6092ab" alt=""><figcaption><p>Notification Service Architecture</p></figcaption></figure></div>

## Flow Diagram

<div data-full-width="true"><figure><img src="https://308610995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4ZKyfmmhMWpPkD6iYvKF%2Fuploads%2FhgOXNd8yQvz0Z5IL2ePp%2FNotificationFlowDiagram-Overall-FlowDiagram.drawio.png?alt=media&#x26;token=162d82c3-b23f-4571-ad9a-caddd7df6ff1" alt=""><figcaption><p>Notification Service Flow Diagram</p></figcaption></figure></div>

1. From Notification Service **Sync AP**I call is sent to the **SMS/email** provider and **Async API** call is sent to the **Kafka cluster**.
2. If processing the notification is failed then the same message is pushed to the topic **Kafka** and then it is processed by the notification flink job in Lern data-pipeline.
