{"id":31639,"date":"2015-10-01T12:32:30","date_gmt":"2015-10-01T20:32:30","guid":{"rendered":"https:\/\/ephesoft.com\/docs\/2019-1-2\/installing-upgrading\/install-upgrade-multi-server\/installing-on-windows\/multi-server-deployment-over-multiple-regions\/"},"modified":"2020-05-19T12:24:57","modified_gmt":"2020-05-19T19:24:57","slug":"multi-server-deployment-over-multiple-regions","status":"publish","type":"docs","link":"https:\/\/ephesoft.com\/docs\/products\/transact\/install-and-upgrade\/additional-resources\/windows\/multi-server-deployment-over-multiple-regions\/","title":{"rendered":"Multi-Server Deployment over Multiple Regions"},"content":{"rendered":"
KB Article #9612<\/strong><\/p>\n Topic\/Category:\u00a0<\/strong>Multi-Server install<\/p>\n Issue:<\/strong>\u00a0Multi server Deployment Over Multiple Regions<\/p>\n This document describes how to deploy an Ephesoft\u2019s failover mechanism which provides high-availability support for Ephesoft services like Folder Monitor service across servers over multiple regions( Data centers and cloud) and helps recover servers from crashes. If one of the servers fails then failover mechanism initializes another live server in multi-server environment and starts to provide (e.g. folder monitor) service through newly initialized server. Thus user experiences minimum or no disruption in services. At present two services are managed by failover mechanism i.e. folder monitor and application script.<\/p>\n An Ephesoft\u00a0Server Failover Cluster is a group of independent servers that work together to increase the availability of applications and services.<\/em><\/p>\n Ephesoft\u00a0Server Failover Clustering provides infrastructure features that support the high-availability and disaster recovery scenarios. The services that were hosted on that node can be automatically or manually transferred to another available node in a process known as failover.<\/p>\n All the servers with in multi-server set up will share the single instance of Ephesoft database which will be the mode of synchronization between the servers.<\/p>\n <\/a><\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n Ephesoft Database will be running in all circumstances and will form the basis of all communication between the servers.<\/p>\n The Ephesoft Data Base<\/p>\n Ephesoft database will contain two tables to keep track of number of servers and also which server is responsible for providing which service.<\/p>\n The two tables are as follows:-<\/p>\n A heartbeat <\/b>service will be running on all the servers at different time intervals which will serve following purpose:-<\/p>\n <\/a><\/p>\n Above figure shows a setup of a multi-server environment.<\/p>\n Following are the cases which will ensure a high-availability support for folder monitor service:-<\/p>\n When the server starts initially: <\/b>Heart beat service at each server will check the service_status table synchronously and folder monitor service will be registered to the server on first come first serve basis. For example, if there are three servers say A, B, C and if serverA starts first, then serverA will provide the folder monitor service .It will make an entry in service_status table and all other servers will wait until serverA is down.<\/p>\n Please refer below:<\/p>\nOverview<\/span><\/h3>\n
Introduction:<\/span><\/h3>\n
Database<\/h3>\n
Approach<\/span><\/h3>\n
\n
\n\n
\n \nField Name<\/th>\n Data Type<\/th>\n Description<\/th>\n<\/tr>\n<\/thead>\n \n ID<\/td>\n BIGINT<\/td>\n ID is primary key of server_registry<\/td>\n<\/tr>\n \n ip_address<\/td>\n VARCHAR(255)<\/td>\n Ip_address is the IP address of the server<\/td>\n<\/tr>\n \n app_context<\/td>\n VARCHAR(255)<\/td>\n app_context is the application context like \/dcma<\/td>\n<\/tr>\n \n port_number<\/td>\n VARCHAR(255)<\/td>\n Port_number is the port number on which application is running like: 8080<\/td>\n<\/tr>\n \n is_active<\/td>\n BIT<\/td>\n Is_active is 1 for active server and 0 for in-active server<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n \n
\n\n
\n \nField Name<\/th>\n Data Type<\/th>\n Description<\/th>\n<\/tr>\n<\/thead>\n \n ID<\/td>\n BIGINT<\/td>\n ID is primary key of server_status<\/td>\n<\/tr>\n \n service_registry_id<\/td>\n BIGINT<\/td>\n Service_registry_id is the foreign key to server_registry table<\/td>\n<\/tr>\n \n service_type<\/td>\n VARCHAR(255)<\/td>\n Service_type is the type of service provided by the server<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n \n