Skip to content

aimxhaisse/geo-backtracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Geo Backtracer

A distributed backend to store GPS-like locations of users in real-time and to provide a way to backtrace over a period of 15 days, users that were close for more than 15 minutes. This is one brick that can be coupled with backends aggregating points from mobile phones for a COVID-like tracing app; it is meant to be scalable and solve this single problem.

Scalability

The Geo Backtracer is built to scale linearly with the number of users: doubling the number of machines in the cluster handles twice the load. Simulations with 100 000 to 50 million users were performed with different cluster configurations to assess the scale at which it can operate in a production-like environment.

Components

  • C++ distributed service that stores and correlates GPS points (gRPC, RocksDB),
  • C++ client to run simulations of live users and interact with the cluster,
  • Ansible automation to spin up a new cluster from scratch with encrypted traffic between nodes, automatic generation of sharding configurations based on the number of machines, and a few facilities for monitoring.

Documentation

Contributors

Protocol Labs

This project is backed by Protocol Labs as part of the COVID-19 Open Innovation Grants.

About

Service to store and correlate close GPS locations over a window of time.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •