Multiple WCF Cache instances and Cache Coherency

May 21, 2009 at 1:23 PM

First, I'll preface this by saying I'm noew to NetSQLAzMan.  I've got two questions, both with scalability in mind...

 

1. Cache Coherency: Given that updates in policies do not need to be made from the same place as where queries are issues I'd like to know how cache coherency is maintained.  For example, if our application via the API makes a call to create/update a policy within NetSQLAzMan, how is this propogated to applications such as WCF Cache that have cached policies?  Is my assumption about separating where updates and queries are peformed valid or against best practices?

 

2. Is it possible to have multiple instances of of the WCF Cache running? I'm guessing the answer to this is partially dependent on the answer to #1.

 

 

Thanks in advance,

 

 

Dave

May 21, 2009 at 5:51 PM

Hi Dave,

as regards the consistency of NetSqlAzMan WCF Cache Service please read this thread: http://netsqlazman.codeplex.com/Thread/View.aspx?ThreadId=56203.

With respect to the coexistence of multiple services, you can have more than one ... also, if you want, on the same server.

Also with version 3.5.4.2 (the latest) was introduced a new feature called WCF Service Partner, to enable greater consistency between the various caches in the WCF services.

For more details see the build history of the latest version:

· Added WCF Cache Service Partners feature: Invalidate Cache will be invoked on all other service partners.
Work Item 3041: http://netsqlazman.codeplex.com/WorkItem/View.aspx?WorkItemId=3041

   <add key="WCFCacheServicePartners" value=""/>

   <!-- WCF Cache Service Partners (Endpoint1;Endpoint2;...); Invalidate Cache will be invoked on all other partners -->

   <!-- net.tcp://otherserver1:8000/NetSqlAzMan.Cache.Service/CacheService/;net.tcp://otherserver2:8000/NetSqlAzMan.Cache.Service/CacheService/-->

   <!-- leave empty if no ServicePartners -->

Regards,

Andrea.