Skip to content
Jeff Baker edited this page Nov 20, 2018 · 3 revisions

haystack-service-graph

snapshot-store

The "snapshot" feature of the service graph starts with a call (made at regular intervals) to the service-graph service, asking for a current copy of the service graph; the service graph that it receives is then persisted. Initially, two types of persistent storage will be supported:

  1. The local file system, for development work and small installations
  2. Amazon AWS S3

The persistent copies can then be queried to observe the service graph at a point of time in the past.

This snapshot-store package contains code to manage both types of durable locations.

The persistent copies of the service-graph will be purged after a suitable amount of time. Since S3 has an object expiration feature, there is no need for snapshot-store code to purge data from S3. The code for the local file system does purge expired data.

snapshotter

This will be a simple Scala "main" application that makes, under main() argument specified control (e.g. an array of Strings) for storage location and parameters, calls to the service-graph service. The main application then persists the value it receives to (also under main() argument specified control) the snapshot store.

Retrieval

The service-graph service will be updated to honor a timestamp; if one is specified, it will query the snapshot store instead of (as it does today) creating a current copy of the service graph.

Clone this wiki locally