I am considering using AppFabric caching for my application but am unclear of how to get it to do what I want. I have 1 SQL cluster in 1 location. I have 200+ application servers around the globe. I want to put an AppFabric caching cluster in each of those locations so that the application servers have quick access to the SQL objects. In addition to quick access, I need them to have access to the data in the event that the SQL cluster is inaccessible.
There is an HR app which directly updates the SQL cluster so that data is changing. The application servers will also update the AppFabric cache in many locations. All this data needs to stay in sync. Here are my questions:
How will the cache be updated when the DB has changed? I read that SQLDependency is what I need but I also read that once there is a change, my entire cache will be flushed out and will have to resync. I want just changed objects to be sent to the multiple caches for updating.
What happens if the SQL cluster is inaccessible and the cache cannot find objects being requested?
Is there a better way to do what I am trying to do? This is more about SQL object availability than it is about performance. About to research MS Sync Framework...