This component supports all the modules by making available information like the components location, the system and instances state, among other things.
- Components information
- Location – It exposes all the components location performing the necessary adaptations of when the system is in NAT, or by returning either the IPv4 or IPv6 addresses.
- Configuration – Each component configuration is retrieved by BaseService upon request.
- System state – It’s possible to query this component for the system state. It will also return information about each instance state. It’s possible to change the system/instance state using this component.
- Maintenance tasks – This component periodically execute maintenance tasks, such as cleaning procedures, needed to maintain the sanity of the system.
Relations to other modules
- BaseService communicates with Notifier on system boot to receive notifications related with maintenance tasks configuration changes.
- BaseService communicates with Timer on system boot in order to set timers to execute maintenance tasks.
- BaseService relies on information stored in the System and Provisioning databases to retrieve accurate information.
- This component accepts communications from any component.
Performance & Scalability
- BaseService scales horizontally by adding more machines to a load balancing farm. As BaseService is a stateless service there is no need for persistent connections.
- CPU will increase accordingly to the number of simultaneous requests made to the component. However, since the requests are served quickly it is not expected a high CPU consumption.
- The component’s memory usage is not relevant as it does not store information on memory.
N+1 redundancy or failover cluster.
- Can be deployed in Intel x64 or AMD machines running Windows Server 2016.
- Installed as a windows service.