generated from redhat-solution-patterns/solution-pattern-website-template
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
196274e
commit 85cdf6d
Showing
2 changed files
with
20 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +0,0 @@ | ||
[#story] | ||
== The story behind this solution pattern | ||
|
||
This solution pattern extends *Globex* a fictitious retail store which has undergone modernization journey and has already adopted Kafka as a streaming platform. Globex wants to now extend their eCommerce website to allow customers to leave their reviews of the product catalogue. | ||
|
||
Globex would like to | ||
|
||
* Moderate the language comments to ensure foul language is appropriately filtered out | ||
* Build a Sentiment Analysis system to gain business intelligence based on the product reviews | ||
[#pattern] | ||
== The Solution | ||
|
||
The solution based on an Event Driven Architecture which based on Apache Kafka as the data streaming platform for product reviews. The Product Reviews submitted by a customer is pushed in a Kafka topic, which is then consumed by both a *Review Moderation Service* (moderate for foul/abusive language) and *Sentiment Analysis Service* (scores the sentiment as positive or negative). | ||
|
||
The data flows in and out of different systems through the OpenShift Serverless Eventing architecture which uses brokers, sources and triggers to build a scalable, fully decoupled system. | ||
|
||
Once a review is moderated and marked as suitable, this is persisted in the Globex Product Review DB (PostgreSql) to be then show on the Products page. The Sentimenet Analysis score is persisted within a Time Series DB (InfluxDB in this case) then used to build a Dashboard (Grafana) to view how well a particular category of products is performing over different time period | ||
|
||
image::solution-overview.png[] | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters