Architecture

Components

QS consists of the following parts:

  • ElasticSearch

  • Nodejs API

    • One CRUD API for handling client streams

    • One notify API for injecting events (from OC's notifier)

  • Multicaster Lambda

The main reason we use Elastic Search is because of its percolator featurearrow-up-right. The percolator is sort of an "inverse database" in which you store quries and perculate documents to find all stored quires that that matches a specific document. For each stream that is created, a query is stored in the percolator together with two data objects, destination and meta.

The destination object describes how QS should publish the notification when a document matches the query.

For all supported destination types, go to the section below on the Notify API.

The Meta field can hold any meta data.

Last updated