Sorry Aaron (or anyone), one more question.... The Plugins page mentions a BerkleyDB JE auxiliary, but I cant find it mentioned anywhere else.
What is it called and where do I find the docs on using it? Thanks On Tue, Aug 11, 2009 at 10:47 AM, Aaron Smuts <asm...@yahoo.com> wrote: > > Dear Jeffrey, > > You might want to read the remote cache docs. Some of you questions are > answered there. > > 1. Your description of what JCS can do is somewhat right and somewhat off. > JCS doesn't have the concept of a master, exactly. But you can configure it > to look something like what you are interested in. > > You can chain remote cache servers. In a high get / low put situation you > could have some clients connect to some set of the remote servers. This way > you could distribute get traffic between the remote servers. This would > allow you to scale quite a bit. But it still requires replicating the data. > So it's not the best way to scale for huge installations. I'll come back > to that. > > In this configuration, let's say that you have 4 remote servers: A, B, C, > and D. > > You configure A to have remote auxiliaries for B, C, and D; B for A, C, and > D . . . Items that are put to A would also be sent to B, C, and D. . . . > > You could then divide your clients among the servers. You can include a > list of servers in your client configuration. The remote client will try to > connect to them in order. The first in the list will be considered the > primary. JCS will try to restore the connection to the primary if it goes > down. In the meantime, it will connect to failover. It will go through the > list looking for a working failover. > > Say you have 4 clients: 1, 2, 3, and 4. You'd configure 1 with a list like > this: A,B,C,D; 2 with a list like this: B,C,D,A; 3 with a list like this: > C,D,A,B . . . > > Client can register listeners or not. You want to register listeners if > you want to receive notification about changes. You need to do this if you > store volitile data on the clients. Otherwise, don't. It can create a lot > of chatter if there are lots of puts. > > 2. Remote servers do not replicate on startup. They will fetch data on > demand. If A goes down, client 1 will connect to B. When A comes back, > client 1 will reconnect. Depending on the data store, A might be empty. If > so, if A is asked for an item that it doesn't have, it will ask B. If it > gets the data from B, it will store it. > > 3. JCS uses event queues througout. There are multiple places where you > can configure the internal threadpools used by the pooled queue type. If > you want, you can inject your own queue. In one installation, I do just > this. I have my own event queue that uses a custom thread pool that copies > thread local data. > > 4. If you don't have the clients listening, then you should be able to > scale quite a bit. The number of clients connected isn't as important and > the number listening. > > There is also an http remote client and server. You could simply direct > your clients through a load balancer that would spread out the load without > all the manual configuration. . . . > > I have a big installation that uses a different strategy for handling a > tremendous amount of data. I partition the data. I have numerous pairs of > remote servers that handle only a small subset of the data. I could scale > it to the network limit and then partition the network . . . > > Aaron > > > > --- On Mon, 8/10/09, Jeffrey Kesselman <jef...@gmail.com> wrote: > > > From: Jeffrey Kesselman <jef...@gmail.com> > > Subject: Some preliminary JCS questions > > To: jcs-users@jakarta.apache.org > > Date: Monday, August 10, 2009, 5:18 PM > > Hi, > > > > Im looking at maybe using JCS as the guts of a game > > resource database > > distribution scheme. I need a couple of questions > > answered to determine ita > > suitability. > > > > (1) I understand that JCS can have effectively master > > caches, to which thing > > can be added, and remote caches that are read only and get > > updates friom the > > master(s). Am I correct that there can be more then > > one master and that > > they can replicate updates to each other? > > > > (2) If a remote cache is disconnecetd or shut down for some > > period of time > > and then brought abck online, will it sync with its > > masters' current > > contents automatically? > > > > (3) Im looking at perhapse bulding the master into a larger > > framework that > > already has a thread management model, How does JCS > > use threads? Does it > > multi-thread? If so, can I get control over therad > > allocation opr is it > > buried deep in the code base? > > > > (4) How does it scale in terms of connectind remotes? > > Updates I am > > expecting to be infrequent, but I am expecting thousands of > > remoptes > > connected to each master. Do the remtoes all have to > > connect to one master > > or can the remotes daisy chain? If they can daisy > > chain, how do the > > discover each iother and what do they do if their parent in > > the chain fails? > > > > Thanks > > > > -- > > ~~ Microsoft help desk says: reply hazy, ask again later. > > ~~ > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org > For additional commands, e-mail: jcs-users-h...@jakarta.apache.org > > -- ~~ Microsoft help desk says: reply hazy, ask again later. ~~