Naive Gdocs

May 30, 2021 · 1 min read
Framework of the Platform

Naive Gdocs is a shared document platform supporting collaborative editing like Google Docs, based on a distributed system. This project includes the frontend by React, backend by Springboot, distributed file system by Zookeeper, Redis lock server, and MongoDB database.

For the front end, WebSocket is used to synchronize editing status. For the backend, Redis, as memory storage, is used as a lock server to assure correct execution of operations. The distributed file system comprises Master, ChunkServer, Client node, and Zookeeper cluster. The Master is mainly responsible for maintaining the metadata of the file system, the ChunkServer is accountable for the storage of file data in the file system, the Client is responsible for providing the file system interface to the upper-layer application, and the Zookeeper is responsible for coordinating each member in the system which maintains the read-write locks.