distributed-shortest-path

module
v0.0.0-...-3e6ee68 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2023 License: MIT

README

distributed-shortest-path

Project calculating shortest path in a distributed graph.

Local development

Dependencies:
  • Go
  • kind
    • other local version of kubernetes such as minikube may be used, but then you're on your own with setting up the cluster and uploading docker images to it.
  • kubectl
  • docker
Initialization
  1. Setup cluster: kind create cluster --config cluster/local-kind-cluster.yaml
  2. Generate docker images for manager and worker.
      ./src/services/worker/new_version.sh 0.0.1
      ./src/services/manager/new_version.sh 0.0.1
    
  3. ./cluster/deploy.sh --local
    
Querying manager

Inspired by this guide. 1.

Uploading OSM map
./import_graph.sh
Updates
Manager
./update_manager.sh <VERSION>
Workers
./update_workers.sh <VERSION>
DB Schema
  1. Update models in src/libs/db/model.
  2. If new models are added adjust the list in src/libs/db/models/list.go.
  3.  (cd src && go generate)
    
  4. If new models are added adjust the list in func (c*Cleaner) getAllTables() in src/libs/db/cleaner/cleaner.go.
Cleaning postgres
./clean_postgres.sh
GRPC proto
  1. Update grpc proto in src/services/worker/link/proto/link.proto.
  2.  (cd src && go generate)
    
Manual connecting to Postgres:
kubectl run postgresql-dev-client --rm --tty -i --restart='Never' --namespace postgres --image docker.io/bitnami/postgresql:14.1.0-debian-10-r80 --env="PGPASSWORD=psltest" \
--command -- psql --host postgres -U admin -d postgresdb -p 5432
Sending requests to Manager running on kind:
  1. Setup
    ./setup_curl_container.sh
    
  2. Performing requests:
    • RecalculateDS

      ./curl.sh /recalculate_ds
      
    • ShortestPath

      ./curl.sh /shortest_path -H "Content-Type: application/json"  -d '{"from":21911863, "to":21911883}'
      

Directories

Path Synopsis
cluster
src module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL