GithubHelp home page GithubHelp logo

sistemas-distribuidos's Introduction

Projeto final da disciplina de Sistemas Distribuídos - Etapa 02

Enunciado do Projeto

Instruções detalhadas de compilação e execução

  • O ambiente de desenvolvimento escolhido foi o VSCode pelo Ubuntu, utilizando a linguagem de programação Python na versão 3.10.6
  • Os comandos para instalação das ferramentas utilizados foram os seguintes:

  • Para instalar o GRPC pra Python:

     python3 -m pip install --upgrade pip
     sudo python3 -m pip install grpcio
     python3 -m pip install grpcio-tools
  • Para instalar Plyvel interface to LevelDB
    pip install plyvel
  • Para instalar PySyncObj
    pip install pysyncobj
  • Os comandos para execução do projeto são:
    • Para ligar os bancos:
    • Todos os bancos devem ser ligados antes dos servidores/clientes. O argumento X deve ir de 1-6.
     python3 ./database/database.py X
    • Para executar o SERVER do Portal ADMIN:
    • A PORTA em que o server será executado pode ser passada como argumento ou não. Caso não seja, terá valor default: 50051
     python3 admin_server.py PORTA
    • Para executar o CLIENT do Portal ADMIN:
    • A PORTA em que o client será executado pode ser passada como argumento ou não. Caso não seja, terá valor default: 50051
     python3 admin_client.py PORTA
    • Para executar o SERVER do Portal ORDER:
    • A PORTA em que o server será executado pode ser passada como argumento ou não. Caso não seja, terá valor default: 50051
     python3 order_server.py PORTA
    • Para executar o CLIENT do Portal ORDER:
    • A PORTA em que o client será executado pode ser passada como argumento ou não. Caso não seja, terá valor default: 50051
     python3 order_client.py PORTA

O que NÃO foi implementado?

  • RETRIEVE MULTIPLE ORDERS: Orders

Link para vídeo com compilação e execução

Informações adicionais

  • Devem ser testados CID, PID, OID com valores DIFERENTE.
  • TODOS os bancos devem ser inicializados antes da criação dos servers/clients.
  • ATENÇÃO: No arquivo leveldb.py o endereço deve ser trocado para o caminho do seu computador de forma que o final f'COMPLETAR_ENDERECO/leveldb/{part}/{port}/'. Onde leveldb é a pasta de mesmo nome no programa.
  • Os servers devem ser inicalizados em portas diferentes. Assim como os clients, de forma que cada client acompanhe o server, pela porta.
  • TODOS os servers devem ser inicializados antes de acionar os clients.

Formato dos Dicionários usados em python e dos bancos

  • Client_list
    {CID:NAME}
    
  • Product_list
    {PID:{NAME:CAPACITY}
    
  • Order_list
    {OID:CID-{PID:CAPACITY}
    

    CID: client id
    PID: product id
    OID: order id

Referências utilizadas

sistemas-distribuidos's People

Contributors

gabidamazo101 avatar isatedeschi avatar

Watchers

Paulo R. Coelho avatar  avatar

Forkers

isatedeschi

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.