Online vibration analysis #Post7

Online vibration analysis #Post7

In this post we are going to take a look at the platform structure; a visual representation with elaboration.

The structure of the platform is fairly simple and essentially consists of 4 main components: Front-End, Back-End, Database and the Services. The platform architecture was designed by keeping horizontal scaling in mind. Every parts (components) should be scalable independent of the other components. That means, there could be multiple Backend servers connected to a single database, or multiple frontend servers connected to multiple backend servers, or there could also be multiple databases connected to multiple backend servers. In a mongoDB this scaling process is achieved by a process called sharding. Sharding makes horizontal scaling in a database architecture possible by partitioning stored data by key ranges and distributing these data across two or more database instances. The main (master) mongoDB instance does not change here, that means, there are no changes necessary in any other component that communicates with that database server.

The frontend communicates with the backend only by using a REST-API, which provides a number of routes, that can be used by the frontend to retrieve and also update data in the backend. One such route would be for example /auth/user/. This retrieves the information of currently logged in user from the backend. Since frontend is the only part of the platform that is external and visible to the user of the Quiver platform, we only need to perform a user authentication to the backend from the frontend.