GithubHelp home page GithubHelp logo

ironmatt97 / distributed-datastore Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 17.97 MB

A basic datastore distributed system developed for academic purpose. The project supports concepts of replication, scalability and consistency.

Home Page: https://github.com/IronMatt97/Progetto-SDCC

Go 94.47% Dockerfile 3.84% Shell 1.69%
distributed-systems golang restful-api datastores replication node

distributed-datastore's Introduction

README / HOW TO INSTALL

Per avviare il codice sarà sufficiente utilizzare degli script bash appositamente realizzati. All'interno della directory Install&Run sarà possibile trovare un file chiamato install.sh, avviando il quale, verrà invocato docker per la creazione delle immagini dei container necessari a far girare l'applicativo. Avviando invece run.sh specificando il numero di datastore e di api, verranno avviati i container necessari al sistema. Ovviamente il requisito necessario all'avvio del sistema è Docker, senza il quale non potranno essere create le immagini.

Guida per l'avvio della demo:

  1. Spostarsi nella cartella Install&Run (cd Install&Run)
  2. Eseguire lo script di installazione (./install.sh)
  3. Eseguire lo script di avvio (./run.sh [numeroDatastore] [numeroAPI])
  4. NOTA: Qualora non si avesse a disposizione il terminale chiamato Konsole (di Kubuntu), lo script di avvio non funzionerà e basterà sostituire nello script la stringa "konsole" con la stringa del proprio terminale preferito. In alternativa basta avviare manualmente i container, con i comandi docker run -it [NomeImmagine] (i nomi immagine preinstallati dal primo script saranno client, api, datastore e discovery, verificabile con il comando docker image ls)

A questo punto si potrà utilizzare il nodo client per effettuare delle richieste al sistema, seguendo la guida che comparirà a schermo.

Note aggiuntive: Qualora si voglia testare il sistema in maniera approfondita è stato lasciato un Dockerfile nella certella NodeInspector_Dockerfile. Utilizzando quest'ultimo è possibile creare un'immagine in grado di simulare qualsiasi nodo con una connessione ssh attiva instaurata, così da avere maggior libertà di gestione. Guida alla modalità di ispezione:

  1. Spostare il dockerfile dalla cartella NodeInspector_Dockerfile alla cartella prima, ovvero Progetto-SDCC(mv NodeInspector_Dockerfile ../), per poi spostarsi nella cartella dove è stato messo il dockerfile.
  2. Richiedere a Docker di creare l'immagine (docker build --tag node .)
  3. Avviare un numero di container a piacere (docker run -it node)

A questo punto sarà possibile scegliere che funzionalità il nodo dovrà ricoprire entrando nella cartella SDCC del container, cosi da tenere sotto controllo l'output del nodo, con la possibilità di fermare e farne ripartire il funzionamento, o di modificarne il codice. A tal proposito sono già installati nel container strumenti utili.

distributed-datastore's People

Contributors

ironmatt97 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.