Skip to content

DistributedSystemsGroup-IITKGP/Distributed-Queue

Repository files navigation

Distributed Queue

Group members:

  • Abhilash Datta
  • Sunanda Mandal
  • Rohit Raj
  • Haasita Pinnepu
  • Matta Varun
  • Bhaskar
  • System Specification

  • OS: Ubuntu 22.04.1 LTS
  • Python: 3.10.6
  • Libraries: refer to requirements.txt for details
  • How to run:

      Clone the repository
      git clone https://github.com/DistributedSystemsGroup-IITKGP/Distributed-Queue.git
      Setup Virtual Environment
      python -m venv .venv
      Activate virtual env
      source .venv/bin/activate
      Run Server
      python3 main.py
      Test
    1. To test server endpoints ./test_PartA.sh
    2. To test clientSDK python3 testSDK.py
      Run Unit Test
    1. Change the db.config to test on test database
    2. Run Command:python3 -m unittest discover tests
    3. For individual modules run Command:python3 -m unittest tests.{module_name}

    System Design

    In this assignment we created three servers which are listed as follows:
      Server_in_memory - This server only uses in memory queue and is not persistant
      Server_persistent - This server only uses database to serve user requests and hence is slower compared to in-memory server
      Server_backup - This server uses both in memory queue and database to keep backup. It has improved latency over server_persistent

    This design is shown in below diagram:

    System Design

    The schema of used database is shown below:

    Database Schema

    About

    No description, website, or topics provided.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Contributors 6