Link Search Menu Expand Document

prod

Snapshots service

Introduction

This service is responsible for storing flow snapshots.

What is a snapshot?

Snapshot is a feature of the OIH platform, which provides flows components a possibility to store some state between executions. A typical use case is to store some timestamp and use it to query records from a certain system, created after this timestamp, so that you would not need to query full list of records each time.

API Reference Implementation

Technologies used

  • Node.js
  • Typescript
  • MongoDB
  • RabbitMQ

How it works

It connects to the RabbitMQ queue, which is in turn subscribed for the snapshot events, fired by flow components. The service consume the messages from the queue and writes it to the DB. The snapshots are then accessible via REST API.

Interaction with other Services

  • Interacts with IAM to introspect provided IAM token.
  • Consumes snapshot events from flow components via RabbitMQ.
  • Component Orchestrator queries the service and provides snapshots to each flow component.