Gyeeta Server Components Failover / Redundancy
Gyeeta supports Failover Handling (High Availability) for its Server components :
Shyama Central Server (Active-Passive mode)
Madhava Intermediate Servers (Active-Passive mode)
Node Webservers (Active-Active mode)
Alert Action Agent (Active-Active mode)
For Postgres DB Failover, we recommend using a Shared Disk Failover or setting up Logical Replication (which is disabled by default).
This section can be ignored for Kubernetes based Gyeeta Installs.
It is recommended that the failover installs be done on a separate host as compared to the Active installation for better Redundancy.
Shyama Server Redundancy
Shyama Server Redundancy is provided by sharing the Postgres DB amongst the Active-Passive Shyama instances.
For this, all the Active-Passive Shyama instances will need to have some of the Config Options shared across all instances. Namely, the following Config fields need to be same across the Active-Passive Shyama instances :
shyama_namejson field orCFG_SHYAMA_NAMEenvshyama_secretjson field orCFG_SHYAMA_SECRETenvmin_madhavajson field orCFG_MIN_MADHAVAenvpostgres_hostnamejson field orCFG_POSTGRES_HOSTNAMEenvpostgres_portjson field orCFG_POSTGRES_PORTenvpostgres_userjson field orCFG_POSTGRES_USERenvpostgres_passwordjson field orCFG_POSTGRES_PASSWORDenv
In addition to the config fields above, any CLI arguments passed to all Shyama Instances needs to be same for all instances.
The Passive Shyama instances will monitor the Active Shyama status and on detecting a Failure condition, one of the Passive Shyama instances will then take over as the next Active Instance.
The Failover can take upto 3 minutes time duration.
Madhava Server Redundancy
Madhava Server Redundancy is provided by sharing the Postgres DB amongst the Active-Passive Madhava instances.
For this, all the Active-Passive Madhava instances will need to have some of the Config Options shared across all instances. Namely, the following Config fields need to be same across the Active-Passive Madhava instances :
shyama_hostsjson field orCFG_SHYAMA_HOSTSenvshyama_portsjson field orCFG_SHYAMA_PORTSenvshyama_secretjson field orCFG_SHYAMA_SECRETenvmadhava_namejson field orCFG_MADHAVA_NAMEenvpostgres_hostnamejson field orCFG_POSTGRES_HOSTNAMEenvpostgres_portjson field orCFG_POSTGRES_PORTenvpostgres_userjson field orCFG_POSTGRES_USERenvpostgres_passwordjson field orCFG_POSTGRES_PASSWORDenv
The Passive Madhava instances will monitor the Active Madhava status and on detecting a Failure condition, one of the Passive Madhava instances will then take over as the next Active Instance.
The Failover can take upto 3 minutes time duration.
Node Webserver Redundancy
Node Webserver Redundancy can be provided by installing multiple instances of the Webserver in an Active-Active mode.
For this, all the Active-Active Webserver instances will need to have some of the Config Options shared across all instances.
CFG_SHYAMA_HOSTSCFG_SHYAMA_PORTSCFG_ADMINPASSWORDCFG_USERPASSFILECFG_TOKENEXPIRYCFG_JWTSECRETCFG_USEHTTPCFG_TLSCERTFILECFG_TLSKEYFILECFG_TLSPASSPHRASE
As the Webserver instances are running in Active-Active mode, users can connect to any of the Webserver instances to access the Web UI or use for REST APIs.
Although any of the Webserver instances can be used for querying, it is recommended that users query from a single Webserver instance for better querying performance as Resultset caching is not shared across Webserver instances.
Alert Agent Redundancy
Alert Agent Redundancy can be provided by installing multiple instances of the Alert Agent in an Active-Active mode.
For this, all the Active-Active Webserver instances will need to have some of the Config Options shared across all instances.
CFG_SHYAMA_HOSTSCFG_SHYAMA_PORTS
As the Alert Agent instances are running in Active-Active mode, the Shyama server will assign any of the Alert Agents the Notification responsibilities.