Skip to content

A project to design and implement a distributed system that allows users to chat and create chat groups, with features like fault tolerance, consistency, leader election, etc.

Notifications You must be signed in to change notification settings

ChintanVachhani/rollbits

Repository files navigation

rollbits

Rollbits is a message delivery distributed system. The goal of the system is to implement a cluster based approach where each team would develop their own system with some common and overlapping features. In the end, these systems should be able to achieve inter cluster communication across the distributed machines. The combined system would allow a client to register, create a group, send a message to a user or a group and fetch all the messages that were sent to him/her or any group that he/she is a part of. The aspects of inter cluster communication include being able to message any user or add him/her to a group regardless of which cluster he/she is registered and fetch the messages for the requesting user from all the clusters. These are achieved by forwarding an inter cluster message fetch request to each available cluster and collating the responses into single response in order to provide it to the requesting client. Also, the group members and messages are forwarded to the cluster where the group was originally created. This helps to avoid any inconsistency and also provide inter cluster group communication smoothly.

About

A project to design and implement a distributed system that allows users to chat and create chat groups, with features like fault tolerance, consistency, leader election, etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •