Diyotta Manager is built on simple and yet powerful architecture to manage and monitor the Diyotta services. Diyotta Manager components are categorized into Manager, Metadata repository, Node Manager, Broker and User Interface. The following diagram depicts how these components are related and communicate with each other.
The Diyotta manager service is a Java based application and is the primary component of the Diyotta manager application. The manager service manages the manager repository, client user interface modules, manager broker and node manager communications. The manager service captures the user instructions from user interface and maintains them in the manager repository as well as sends or receive instructions to or from manager broker to communicate Node manager. The Diyotta Manager can be installed on Linux/Unix server.
The Manager Repository is maintained in a relational database. It stores registered services data built through user interface and administration related metadata. The manager repository is hosted on PostgreSQL database. Metadata is very lightweight and provides backup and restore procedures. Any sensitive information like the database and user credentials is encrypted before storing in the metadata. As part of the Manager installation, the PostgreSQL database can be installed optionally which will then be used by the Manager as the metadata repository. Optionally, an existing PostgreSQL database can also be used as metadata repository.
The Node manager is a lightweight Java based application that can be installed on Linux/Unix based systems. It is responsible for managing the Diyotta services registered with it. Node manager executes the instructions issued by the Diyotta manager on these services. The Manager communicates with the Node Manager through the network port called “manager broker startup port” on the Manager server. This port should be accessible to the Node Manager service from wherever it’s installed. The Node Manager should be installed on each server and under the user where the Diyotta services it manages will be installed. Node Manager can manage single or multiple Diyotta services. Node manager performs regular health check on each service which it manages and updates the Diyotta Manager about the status of them.
The Manager Broker is a Java based application and is bridge between Diyotta Manager and Node Manager to pass the instructions and response between them. It creates queues to store and publish the messages between Manager and the associated Node Managers. Single broker is able to manage communication between a Manager and multiple Node Managers registered to it.
The User interface is browser based (thin client) interface, requiring no separate installation. User interface can be accessed by providing URL which will normally be http://<hostname>:<startup port>. The Diyotta services are managed through this interface which can be installation, upgrade, start, and stop. The interface also provides dashboard with current status of the services registered with it.