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
abbc915
commit 18eacd3
Showing
1 changed file
with
6 additions
and
6 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,24 +1,24 @@ | ||
== The story behind this solution pattern | ||
|
||
This solution pattern extends Globex, a fictitious retail store which started the journey to event-driven architecture and has already adopted Kafka as an event broker and 3scale as an API management solution for REST APIs. | ||
This solution pattern extends Globex, a fictitious retail store that started the journey to event-driven architecture and has already adopted Kafka as an event broker and 3scale as an API management solution for REST APIs. | ||
|
||
Globex wants to extend their eCommerce system to allow async real-time APIs and avoid the current pains of polling REST APIs (request-response communication pattern) for events. | ||
Globex wants to extend its eCommerce system to allow async real-time APIs and avoid the current pains of polling REST APIs (request-response communication pattern) for events. | ||
|
||
image::polling.png[width=70%] | ||
|
||
Globex would like to: | ||
|
||
- Manage an event-driven API product in the API Management for the event message occurred in a kafka topic. e.g. When the order has been created in the system a new record will be placed in the order-created topic to represent the new order. | ||
- Manage an event-driven API product in the API Management for the event message that occurred in a Kafka topic. e.g. When the order has been created in the system a new record will be placed in the order-created topic to represent the new order. | ||
- To allow discoverability and self-service access to the order event with a schema based on the OpenAPI specification through the developer portal. | ||
== The Solution | ||
|
||
Globex’s architecture team has decided to leverage the API Management solution for real-time event-driven asynchronous APIs by exposing internal events in the existing event broker (kafka) to consumers through webhook callbacks. | ||
Globex’s architecture team has decided to leverage the API Management solution for real-time event-driven asynchronous APIs by exposing internal events in the existing event broker (Kafka) to consumers through webhook callbacks. | ||
|
||
https://www.redhat.com/en/topics/automation/what-is-a-webhook[A webhook] is an HTTP request that sends data to the API Consumers through the registered endpoints, where no data is expected in the response. It is a one-way push of data to notify them of the event that has occurred. A webhook is usually an HTTP POST with a JSON payload that expects a 2xx response to acknowledge receipt of the payload. | ||
https://www.redhat.com/en/topics/automation/what-is-a-webhook[A webhook^] is an HTTP request that sends data to the API Consumers through the registered endpoints, where no data is expected in the response. It is a one-way push of data to notify them of the event that has occurred. A webhook is usually an HTTP POST with a JSON payload that expects a 2xx response to acknowledge receipt of the payload. | ||
|
||
image::webhook.png[width=70%] | ||
|
||
In this pattern, you will learn how to design and build a reliable, secure and scalable webhook delivery system. | ||
In this pattern, you will learn how to design and build a reliable, secure and scalable webhook delivery system. |