This repository contains the solutions to the homework assignments for the course Distributed Systems, covering a range of topics such as sockets, REST, actor model, middleware, message-oriented middleware (MOM), and ZooKeeper.
-
The Lab1 directory contains the solution to the socket programming homework assignment. In this assignment, students were required to implement a simple chat application using sockets. The solution includes a server program and a client program written in the Java language.
-
The Lab2 directory contains the solution to the REST API homework assignment. In this assignment, students were tasked with implementing a simple REST API. The solution includes a server program written in the Go language.
-
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 various middleware technologies such as Apache Thrift, Ice, and gRPC. Students were challenged to design and implement a distributed system using these middleware technologies written in Java and Python languages.
-
Lab6: Message Oriented Middleware
The Lab6 directory contains the solution to the message-oriented middleware (MOM) homework assignment using RabbitMQ. Students were required to develop a system that utilizes RabbitMQ as the messaging middleware to enable communication between distributed components. The solution is written in the Go language.
-
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. The solution demonstrates the implementation of a distributed system leveraging ZooKeeper.