Rekuest is one of the core services of Arkitekt. It represents a central repository of all the connected apps and their provided functionality, their Nodes. It also provides ways of interacting with the apps, by providing a central access point, that apps and users can assign tasks to. Rekuest then takes care of routing the requests to the appropriate app, which executres the task and returns the result to rekuest, which in turn routes it back to the caller. Similar to all other Arkitekt ervices, Rekuest exposes a GraphQL API, that can be used to interact with it. You can find the interactive documentation for the API here.
Rekuest itself is designed as a stateless service (in order to be able to scale horizontally), and interfaces with proven open-source technologies, such as Redis and RabbitMQ. to route tasks to the appropriate apps. The following diagram shows the high-level design of Rekuest:
Rekuest is currently being rewritten to support other message brokers, such as Kafka. This will however remain an opt-in feature, and RabbitMQ will remain the default message broker. To learn more about this design decision, please refer to the Why Not? section.
You can find the current developmental node of Rekuest here Efforts from this new repository will be merged into this repository once the new version is ready for production.