Skip to content

Latest commit

 

History

History
50 lines (37 loc) · 2.1 KB

README_DSS.md

File metadata and controls

50 lines (37 loc) · 2.1 KB

DSS

Conceptual background on the DSS and services it supports may be found here.

Simplified architecture

Overview

Simplified architecture diagram

A "DSS Region" consists of one or more DSS instances sharing the same DSS Airspace Representation (DAR) by forming a single CockroachDB cluster. In the simplified diagram above, two DSS instances share the same DAR via CRDB certificates and configuration which means the two Core Services may be used interchangeably. USS 1 chooses to use only instance 1 while USS 2 uses both instances for improved resilience to failures.

Core Service

Component responsible for all the business logic as well as authentication. This backend talks directly to CockroachDB. See the API specifications:

CockroachDB (CRDB)

Individual CockroachDB nodes hosting sharded data of the DAR. More information about CockroachDB here.

The current implementation relies on CockroachDB for data storage and synchronization between DSS participants. See implementation details for more information.

DB Manager

Component responsible for performing orderly database schema migrations, including database bootstrapping. Invoked automatically on first run along with the CRDB cluster-init job, or when requested manually by a user.

Directories of Interest:

  • build/ has all of the configuration required to build and deploy a DSS instance. The README in that directory contains more information.
  • pkg/ contains all of the source code for the DSS. See the README in that directory for more information.
  • cmds/ contains entry points and docker files for the actual binary (core-service)
  • test/ contains some tests; see the README for more information about testing.