Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/selfdriventeam/kata into main
Browse files Browse the repository at this point in the history
  • Loading branch information
iamshawxu committed Nov 3, 2020
2 parents dc433d4 + 5644666 commit 1550553
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions doc/arc/components/notification_engine.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ Notification engine contains 4 major subcompoents and 2 major databases. It prov

The **Public API** provides APIs such as <code>create_topic, subscribe_topic</code> and <code>publish_message</code>, for other services to interact with Notification engine. The topics and subscribers are added to the **Topics and Subscribers Databases**

The **Message Retriever** is responsible of interaction with the queue.
The **Message Retriever** is responsible of interaction with the queue.

The **Retry Mechanism** ensures each client receives message at least once. It has in-memory database to retry the message for a predefined number of time, and when all these attempts fail, it persistents the message into **Short Term Message Database** for retry later.
The **Retry Mechanism** ensures each client receives message at least once. It has in-memory database to retry the message for a predefined number of time, and when all these attempts fail, it persistents the message into **Short Term Message Database** for retry later.

The **Sender** encapsulates all the details of interfacing with SMS, Email Push Notification libraries.
The **Sender** encapsulates all the details of interfacing with SMS, Email Push Notification libraries.

## Communicates With:
* [Order Domain](/doc/arc/components/order_domain.md) Receive internal order status updates.
* [Billing Domain](/doc/arc/components/billing_domain.md) Receive billing confirmations.
* [Customer Domain](/doc/arc/components/customer_domain.md) for customer preferences/information used in model building
* [Inventory Domain](/doc/arc/components/inventory_domain.md) Receive restock notifications.
* [Order Domain](/doc/arc/components/order_domain.md) Receive internal order status updates.
* [Recommendation Engine](/doc/arc/components/recommendation_engine.md) for notifying customers of new recommendations.

0 comments on commit 1550553

Please sign in to comment.