Again, why is your streaming application thing writing data to both instances?
Why can't you use a standard setup where all writes go to a single server? You say that writing to both servers cause a problem and ask how to solve that, but why write to both servers in the first place? You're asking for a complex solution to a non-problem. /Henrik On Thu, Oct 11, 2012 at 5:59 PM, Kiran Kumar <[email protected]> wrote: > Let me put things on a clear not . > > This is a Streaming application , where one part of application writes > data to both the instances of the Memcache , and there is an other side of > the application which reads from either one of the instance of Memcache , > so if Data is read from one instance needs to delete from another instance > at the same time . > > Hope i am clear here . > > On Thursday, 11 October 2012 21:14:50 UTC+5:30, Dormando wrote: >> >> > I am working on a heavy traffic web site , where there will be GB's of >> data written per minute into our Memcache . So we have decided to use two >> separate instances of Memcache for the application . >> > >> > Right now the setup is that , there is NO clustering between Memcache1 >> and Memcache2 because , Memcache1 caches 50% of the data and Memcache2 >> caches the other 50% of the data. >> > >> > Memcache1 Memcache2 >> > \ / >> > \ / >> > \ / >> > \ / >> > \ / >> > \ / >> > CustomerData >> > >> > So right now as per the set up , there are two Memcache instances for a >> single application . >> > >> > Now my question is , once we recive a value inside the application , >> which writes/sets to both the Memcache instances , assume that if a key is >> read one of the instance of Memcache - 1 , i need to delete the same key on >> the other instance of memcahce also at the same >> > time , so taht they will be in sync with each other . >> > >> > As per the code point of view once a value is read from Memcache , i am >> deleting that key . >> >> Right now you say: >> >> - There is NO clustering. 50% of keys are on Memcache1, 50% of keys are >> on >> Memcache2. >> >> Then you say: >> >> - When you receive a value inside the applicatin, it writes to both >> memcache instances. >> >> Which is the truth? If 50% of keys are on each, you are NOT writing to >> both. Half your writes go to one, half to the other. In this *completely >> standard setup*, deletes will go to the right place as well. >> >> If you're trying to have 100% of your keys available in Memcache1, and >> 100% of your keys available in Memcache2, don't fucking do that. >> >
