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 feature. 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