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_name
json field orCFG_SHYAMA_NAME
envshyama_secret
json field orCFG_SHYAMA_SECRET
envmin_madhava
json field orCFG_MIN_MADHAVA
envpostgres_hostname
json field orCFG_POSTGRES_HOSTNAME
envpostgres_port
json field orCFG_POSTGRES_PORT
envpostgres_user
json field orCFG_POSTGRES_USER
envpostgres_password
json field orCFG_POSTGRES_PASSWORD
env
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_hosts
json field orCFG_SHYAMA_HOSTS
envshyama_ports
json field orCFG_SHYAMA_PORTS
envshyama_secret
json field orCFG_SHYAMA_SECRET
envmadhava_name
json field orCFG_MADHAVA_NAME
envpostgres_hostname
json field orCFG_POSTGRES_HOSTNAME
envpostgres_port
json field orCFG_POSTGRES_PORT
envpostgres_user
json field orCFG_POSTGRES_USER
envpostgres_password
json field orCFG_POSTGRES_PASSWORD
env
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_HOSTS
CFG_SHYAMA_PORTS
CFG_ADMINPASSWORD
CFG_USERPASSFILE
CFG_TOKENEXPIRY
CFG_JWTSECRET
CFG_USEHTTP
CFG_TLSCERTFILE
CFG_TLSKEYFILE
CFG_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_HOSTS
CFG_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.