Hello,
Recently in an interview I was presented with the following scenarios and was asked to suggest suitable approaches to deal with each.
Q: In a client-server application how do we maintain the state of each client request? To the purpose of restoring all processing to their prior state in case of an event like a server crash.
A: Suitable 'milestones' could be defined and when each is reached the application would persist the state of a particular interaction. And in case of such a server crash the server can 'reload' the last saved state and start processing from there.
Q: The scenario was modified to include multiple users/actors and simultaneous/synchronous requests.
A: Slight modifications to the above solution could give an optimal solution.
Q: This seemingly simple client-server application was modified to include distributed computing along with clustering of servers.
Q: And how do you implement transaction management in the above scenarios?
Anyone who can shed some light on these questions are welcome.
Cheers,
Raj.