RIG - Reactive Interaction Gateway
Makes frontend<->backend communication reactive and event-driven.
About
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)
- 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
- asynchronously - using Kafka, Nats or Kinesis.
- synchronously - if you don't want to manage a (potentially complex) message broker system like Kafka.
- forwarding client requests to backend services either synchronously, asynchronously or a mix of both:
- 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.
- asynchronously - fire&forget - 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.
- synchronously with asynchronous response - a pseudo-synchronous request: RIG forwards the client request to the backend synchronously via HTTP and waits for the backend response by listening to Kafka/NATS and forwarding it to the still open HTTP connection to the frontend.
- asynchronously with asynchronous response - a pseudo-synchronous request: RIG forwards the client request to the backend asynchronously via Kafka or NATS and waits for the backend response by listening to Kafka/NATS and forwarding it to the still open HTTP connection to the frontend.
Built on open standards, RIG is very easy to integrate โ and easy to replace โ which means low-cost, low-risk adoption. Unlike other solutions, RIG does not leak into your application โ no libraries or SDKs required. Along with handling client requests and publishing events from backend to the frontend, RIG provides many out-of-the-box features.
This is just a basic summary of what RIG can do. There is a comprehensive documentation available on our website. If you have any unanswered question, check out the FAQ section to get them answered.
Getting Started
- Take a look at the getting-started tutorial for a simple walkthrough using docker
- For deploying RIG on Kubernetes, check out the Kubernetes deployment instructions
Get Involved
- Ask anything by opening GitHub issues
- Follow us on Twitter
- Start contributing: refer to our contributing guide
- Develop RIG: refer to our developer's guide
License
The Reactive Interaction Gateway (patent: granted) is licensed under the Apache License 2.0 - see LICENSE for details.
Acknowledgments
The Reactive Interaction Gateway is sponsored and maintained by Accenture.
Kudos to these awesome projects:
- Elixir
- Erlang/OTP
- Phoenix Framework
- Brod
- Distillery