.net - Design Pattern Suggestion for data synchronization -
need suggestion designing below system: requirement is, have 4 app server connected 4 db server. user can use app server access same application hosted on 4 app servers. data updated user in 1 server should instantly available user accessing same app different app server.
is there design pattern exist such kind of synchronization?
"i asked find solution @ application design level instead of database" - in case, fact there 4 db servers behind irrelevant.
since should solved @ application level, these app servers need communicate through media. others have said, db sane choice, requirements preclude that.
therefore, app servers must able communicate among , implement consensus resolution protocol (e.g. paxos quite known) ensure agree on 'truth'
this done @ infrastructure level, , not in app itself. suggest using distributed cache (e.g. memcached or redis cluster - latter not ready yet) depends on other requirements (durability, etc). additionally, imo falls under definition of database in context i.e. infrastructure level, not app level.
the requirement 'find solution @ application design level' seems rather synthetic , not driven functional requirements or driven unsound non-functional requirements, can wrong. imagine being driven performance requirements, degrade performance.
Comments
Post a Comment