This repository contains the solutions to the homework assignments for the course Distributed Systems, covering a range of topics such as SOCKETS, REST API, ACTOR MODEL, MIDDLEWARE, MESSAGE-ORIENTED MIDDLEWARE (MOM) and ZOOKEEPER.
The Lab1 directory contains the implementation of a simple chat application using sockets.
The Lab2 directory contains the implementation of REST API in Python FastAPI.
The Lab3 directory contains the solution to the actor model homework assignment using the Ray framework. Students were expected to explore the actor model paradigm and apply it to a distributed system. The solution demonstrates the implementation using the Ray framework and Python language.
The Lab4-5 directory contains the solution to the middleware homework assignment using middleware technologies such as Apache Thrift, ICE and gRPC. My solution includes a smart home system written with Java and Python and using Apache Thrift. The second project deals with analyzing packets sent over the network when using optional arguments in middleware calls. I compared three middleware technologies: gRPC, ICE and Apache Thrift, and posted a report.
The Lab6 directory contains the solution to Message-Oriented Middleware (MOM) homework assignment using RabbitMQ. The project consisted of implementing an orthopedic department system. The application was written in Java.
The Lab7 directory contains the solution to the Zookeeper homework assignment. In this assignment, students were tasked with creating a Java application using the distributed, replicated ZooKeeper environment and its watch mechanism.