Skip to content

Commit c4e513a

Browse files
committed
document forwarding backend events to RIG directly without a message broker
1 parent aba6d13 commit c4e513a

File tree

4 files changed

+15
-2
lines changed

4 files changed

+15
-2
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ Makes frontend<->backend communication reactive and event-driven.
1111

1212
The Reactive Interaction Gateway (RIG) is the glue between your client (frontend) and your backend. It makes communication between them easier by (click the links to learn more)
1313

14-
- [picking up backend events and forwarding them to clients based on subscriptions](https://accenture.github.io/reactive-interaction-gateway/docs/features.html#picking-up-backend-events-and-forwarding-them-to-clients-based-on-subscriptions): this makes your frontend apps **reactive and eliminates the need for polling**.
14+
- picking up backend events and forwarding them to clients based on subscriptions: this makes your frontend apps **reactive and eliminates the need for polling**. You can do this
15+
- [asynchronously](https://accenture.github.io/reactive-interaction-gateway/docs/features.html#picking-up-backend-events-and-forwarding-them-to-clients-based-on-subscriptions#asynchronously) using Kafka, Nats or Kinesis.
16+
- [synchronously](https://accenture.github.io/reactive-interaction-gateway/docs/features.html#picking-up-backend-events-and-forwarding-them-to-clients-based-on-subscriptions#synchronously) if you don't want to manage a (potentially complex) message broker system like Kafka.
1517
- forwarding client requests to backend services either synchronously, asynchronously or a mix of both:
1618
- [synchronously](https://accenture.github.io/reactive-interaction-gateway/docs/features.html#synchronously): if requests are being sent synchronously, RIG acts as a reverse proxy: RIG forwards the request to an HTTP endpoint of a backend service, waits for the response and sends it to the client.
1719
- [asynchronously - fire&forget](https://accenture.github.io/reactive-interaction-gateway/docs/features.html#asynchronously---fireforget): RIG transforms a HTTP request to a message for asynchronous processing and forwards it to the backend asynchronously using either Kafka, NATS or Amazon Kinesis.

docs/assets/drawio/features-fan-out-to-multiple-clients-synchronously.drawio

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.
62.7 KB
Loading

docs/features.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ sidebar_label: Features
55
---
66

77
* [Picking up backend events and forwarding them to clients based on subscriptions](#picking-up-backend-events-and-forwarding-them-to-clients-based-on-subscriptions)
8-
* [Forwarding client requests to backend services](#forwarding-client-requests-to-backend-services)
8+
* [Asynchronously](#asynchronously)
99
* [Synchronously](#synchronously)
10+
* [Forwarding client requests to backend services](#forwarding-client-requests-to-backend-services)
11+
* [Synchronously](#synchronously-1)
1012
* [Asynchronously - Fire&Forget](#asynchronously---fireforget)
1113
* [Synchronously - Asnychronous Response](#synchronously---asnychronous-response)
1214
* [Asynchronously - Asnychronous Response](#asynchronously---asnychronous-response)
@@ -16,6 +18,8 @@ RIG can be used in different scenarios.
1618

1719
## Picking up backend events and forwarding them to clients based on subscriptions
1820

21+
### Asynchronously
22+
1923
RIG acts as a fan-out publisher of backend events. Clients can simply subscribe to RIG in order to receive these events. This makes your frontend apps reactive and eliminates the need for polling.
2024

2125
Additionally clients can provide filters during the subscription initialization and tell RIG in what type of events it is interested in. Those filters allow clients to tap into high-volume event streams without getting overwhelmed by unwanted events. In other words, filters enable bandwidth efficiency.
@@ -24,6 +28,12 @@ Additionally clients can provide filters during the subscription initialization
2428

2529
![fan-out-to-multiple-clients](./assets/features-fan-out-to-multiple-clients.png)
2630

31+
### Synchronously
32+
33+
With RIG, you don't have to necessarily deploy and manage Kafka/Nats/Kinesis. In the previous architecture you can simply remove that part and publish events from the backend directly to RIG. RIG then acts as a simple message broker:
34+
35+
![fan-out-to-multiple-clients-synchronously](./assets/features-fan-out-to-multiple-clients-synchronously.png)
36+
2737
## Forwarding client requests to backend services
2838

2939
When client requests need to be forwarded to the backend, clients sometimes are interested in the response of the backend, and sometimes not. Especially when the client is interested in the direct response of the backend, there are a couple of options how to design that technically.

0 commit comments

Comments
 (0)