Hi,
A generic question.
I am using Replica Group on ice grid to designate same server on each node (for load distribution purpose). (S1, S2, S3 and S4 as server names on N1, N2, N3 and N4 nodes respectively, all associated with S as replica group)
For each server (master, say S1) there are two backup servers(say S1B1 and S1B2) on any two random nodes (to make my each replicated server fail-safe).
If, master fails temporarily, I have mechanism to switch any of the one backup server to take a master role.
So, my question is, what replica group shall I put in backup servers, such that I do not have to modify my clients for replica group S? Such that, backup server is accessible to those clients, as soon some backup server becomes master in case of real master failure, as available replicated servers (4 in total in my case as above) for replica group S.
Or, what naming convention(Repica grouping) or IceGrid design, shall I use to actuate solution to this problem.
Note 1: When actual master recovers/restarts, possibly it becomes backup to current master in its sub-group.
Note 2: Master is a read/write berkeley db server and Backups are replicated Berkeley DB clients which can be used for read only purpose. Therefore, I need to keep exclusive sub-set of replica group for this fail-safe purpose.
I even thought of keeping two adapter per server and associate each adapter one in master replica group and other in sub-set replica group (including 1 master and 2 backup servers). But not sure, how to switch any backup adapter to master replica group on the fly. I was bit lost in this vague idea.
Example Server Proxies (I call backup servers as client due to BDB replication client thing):
Thanks in advance.Code:Proxy naming convention for mater server: dbNodeIdentity -t @ DBNode-<Node Index>-master.DBNodeAdapter Proxy naming convention for backup server: dbNodeIdentity -t @ DBNode-<Node Index>-client-<Master Node Index>.DBNodeAdapter dbNodeIdentity -t @ DBNode-1-master.DBNodeAdapter : Master (writeable) dbNodeIdentity -t @ DBNode-1-client-2.DBNodeAdapter : Backup (read-only) dbNodeIdentity -t @ DBNode-1-client-3.DBNodeAdapter : Backup (read-only) dbNodeIdentity -t @ DBNode-1-client-4.DBNodeAdapter : Backup (read-only) dbNodeIdentity -t @ DBNode-2-client-1.DBNodeAdapter : Master (writeable) dbNodeIdentity -t @ DBNode-2-client-4.DBNodeAdapter : Backup (read-only) dbNodeIdentity -t @ DBNode-2-master.DBNodeAdapter : Master (writeable) dbNodeIdentity -t @ DBNode-3-client-1.DBNodeAdapter : Backup (read-only) dbNodeIdentity -t @ DBNode-3-client-2.DBNodeAdapter : Backup (read-only) dbNodeIdentity -t @ DBNode-3-master.DBNodeAdapter : Master (writeable) dbNodeIdentity -t @ DBNode-4-client-3.DBNodeAdapter : Backup (read-only) dbNodeIdentity -t @ DBNode-4-master.DBNodeAdapter : Master (writeable)
Surya

Reply With Quote
.