Hello ,
Im testing NHibernate for my company and have a little a problem in deciding which architecure we should follow.
We have one database server connected to several application servers.
We want to create a cache mechanizem on the application severs that will reduce the calls to the db server(so far pretty much the same as everyone else).
The problem starts when we found out that the only middleware distributed cache product for NHibernate is NCache .
Because we are dealing with several server farms (about 20 ) we do not want to invest so much money in a cache mechanizem (1500$ for 20 cpu).
So, we were thinking about deploying NHibernate itself on each of the application servers in the server farm and configuring it to work with Microsoft Cache Application Block as a local 2nd level cache.
The problem is , we arent sure what will happen if for e.g 6 NHibernates will work asynchronasly on one DB.
Can NHibernate be updated on an object state and value if it was updated by an outside application ? (In this case another NHibernate application).
Can NHibernate listen to DB triggers and events ?
Can we set an object value NHibernates holds by code (pushing an object to him) without starting a db update reaction ?
Do you know another application besides NCache that offers a distributed cache solution ? (chipper or opensource .NET(!)).
What do you think about our architecture , have better offers or suggestions ?
thank you very much for your time and help .
best regards
ishai
|